/
pickling
/
mcp-sourcecontrol-python
Обзор
Документация
Войти
/
pickling
/
mcp-sourcecontrol-python
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/mcp_sourcecontrol/tools/list_pull_requests.py
41 строка
1 KB
pickling-21
Python-порт mcp-sourcecontrol: 20 инструментов, stdio и Streamable HTTP
29 июл 2026, 02:18
29 июл 2026, 02:18
bc8bde4
Код
Авторство
О чём код?
"""MCP-инструмент git_list_pull_requests.""" from typing import Annotated, Literal from pydantic import Field from ..runtime import current_client from .annotations import READ_ONLY from .define import ToolDefinition from .formatting import to_json from .schemas import ParamLimit, ParamPage, ParamProjectKey, ParamRepositorySlug async def _handler( project: ParamProjectKey, repository: ParamRepositorySlug, state: Annotated[Literal["OPEN", "MERGED", "DECLINED"] | None, Field(description="Filter by PR state")] = None, sort: Annotated[ Literal["created", "updated", "popularity", "long-running"] | None, Field(description="Sort by field"), ] = None, milestone: Annotated[str | None, Field(description="Filter by milestone")] = None, labels: Annotated[str | None, Field(description="Filter by labels (comma-separated)")] = None, targetBranch: Annotated[str | None, Field(description="Filter by target branch")] = None, author: Annotated[str | None, Field(description="Filter by author username")] = None, page: ParamPage = 1, limit: ParamLimit = 30, ) -> str: result = await current_client().list_pull_requests( project, repository, state, sort, milestone, labels, targetBranch, author, page, limit ) return to_json(result) TOOL = ToolDefinition( name="git_list_pull_requests", group="read", description="List pull requests in a repository.", annotations=READ_ONLY, handler=_handler, )