docs: refresh translations for recent English changes (#3379)
This commit is contained in:
parent
d8b638304e
commit
c5d7d0b6d0
2 changed files with 3149 additions and 1047 deletions
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
translation:
|
||||
sections: [3c4f2f06b4e978b6, 22520eecae3d1961, f4e1709db18d635a, 2eb57992049671d9, 1ba83e9af37cc1b4, 4822586344b08d9e, 1c93afef72478992, b6b448f9eddd51dc, fe55370fd931815b]
|
||||
sections: [3c4f2f06b4e978b6, 51ea5fbcb0e93563, 32d8808606ffdae0, 2eb57992049671d9, 1ba83e9af37cc1b4, 4822586344b08d9e, 1c93afef72478992, b6b448f9eddd51dc, fe55370fd931815b]
|
||||
tool: 1
|
||||
---
|
||||
# Подключение к настоящему хосту {#connect-to-a-real-host}
|
||||
|
|
@ -11,13 +11,13 @@ translation:
|
|||
|
||||
## Один сервер, любой хост {#one-server-every-host}
|
||||
|
||||
```python title="server.py" hl_lines="3 33-34"
|
||||
```python title="server.py" hl_lines="4 34-35"
|
||||
--8<-- "docs_src/real_host/tutorial001.py"
|
||||
```
|
||||
|
||||
Два инструмента и ресурс, один файл. Три вещи в этом файле важны для каждого хоста ниже:
|
||||
|
||||
* `mcp.run()` без аргументов запускает **stdio**-сервер: он блокируется, читает сообщения протокола из stdin и пишет их в stdout. Это тот транспорт, на котором говорят все хосты на этой странице. Хост запускает ваш файл как дочерний процесс и владеет обоими каналами, поэтому подключение всегда сводится к «вот команда». Порт выбирать не нужно, и ничто на нём не слушает.
|
||||
* `mcp.run()` без аргументов запускает **stdio**-сервер: он блокирует выполнение, читает сообщения протокола из stdin и пишет их в stdout. Это тот транспорт, на котором говорят все хосты на этой странице. Хост запускает ваш файл как дочерний процесс и владеет обоими каналами, поэтому подключение всегда сводится к «вот команда». Порт выбирать не нужно, и ничто на нём не слушает.
|
||||
* `run()` стоит под `if __name__ == "__main__":`. Всё, что ниже, **импортирует** этот файл, а не выполняет его, так что незащищённый `run()` запускал бы сервер в тот момент, когда что-нибудь загружает модуль.
|
||||
* Объект сервера — глобальная переменная уровня модуля с именем `mcp`. Это имя ищет `mcp run` (`server` и `app` тоже подходят). Назовёте иначе — придётся указать имя явно: `mcp run server.py:bookshop`.
|
||||
|
||||
|
|
@ -51,7 +51,7 @@ uv run --with "mcp[cli]" mcp run /absolute/path/to/server.py
|
|||
|
||||
А хост — это всего лишь приложение с MCP-клиентом внутри, так что роль хоста может
|
||||
сыграть ваш собственный код на Python: **[Клиентские транспорты](../client/transports.md)**
|
||||
запускают этот же файл как подпроцесс через `stdio_client(...)`, а
|
||||
запускают этот же файл как подпроцесс через `Client(StdioServerParameters(...))`, а
|
||||
**[Тестирование](testing.md)** подключается к нему в памяти вообще без процесса.
|
||||
|
||||
## Claude Desktop {#claude-desktop}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
translation:
|
||||
sections: ['4926721070127497', c52a1de2b6b32f40, 2e410b412c25f314, 627195f7159e24ef]
|
||||
sections: ['4926721070127497', c52a1de2b6b32f40, 8e792bf8c7489ec6, 627195f7159e24ef]
|
||||
tool: 1
|
||||
---
|
||||
# Тестирование {#testing}
|
||||
|
|
@ -84,9 +84,10 @@ async def test_call_add_tool(client: Client):
|
|||
Пойти не так могут две разные вещи, и этот флаг касается только одной из них.
|
||||
|
||||
Исключение внутри одного из **ваших инструментов** — не сбой протокола. Оно превращается в
|
||||
обычный результат с `is_error=True`, и модель читает сообщение. `raise_exceptions` этого не
|
||||
меняет: с ним или без него `call_tool` возвращает один и тот же результат с `is_error=True`.
|
||||
Этому посвящена целая страница: **[Обработка ошибок](../servers/handling-errors.md)**.
|
||||
обычный результат с `is_error=True` (а если это был `ToolError`, модель читает ваше сообщение).
|
||||
`raise_exceptions` этого не меняет: с ним или без него `call_tool` возвращает один и тот же
|
||||
результат с `is_error=True`. Этому посвящена целая страница:
|
||||
**[Обработка ошибок](../servers/handling-errors.md)**.
|
||||
|
||||
Сбой **вне** тела инструмента — другое дело. На подключении, которое даёт `Client(mcp)`, сервер
|
||||
очищает его до обобщённого `"Internal server error"`, прежде чем оно дойдёт до клиента. Детали
|
||||
|
|
|
|||
Loading…
Reference in a new issue