picomcpv0.1.2
Меню · Для ИИ-агентов
Для ИИ-агентов

Для ИИ-агентов

Машиночитаемая документация, llms.txt, страницы в Markdown и правила для вашего агента.

Открыть .md Редактировать на GitHub

Это перевод. Эталоном считается английская версия.

Агенты для программирования пишут много MCP-серверов. Эта документация устроена так, чтобы её было удобно читать и им, и вам.

Машиночитаемая документация#

URLСодержимое
/llms.txtИндекс всех страниц с описанием в одну строку, в формате llms.txt
/llms-full.txtВся документация в одном файле Markdown
/docs/<page>.mdЛюбая страница в Markdown. Добавьте .md к её адресу, например /docs/tools.md

На каждой странице также есть кнопка Копировать как Markdown, чтобы вставить её в чат.

Эти файлы на английском: это эталонный язык, и модели лучше всего следуют именно ему. У каждого перевода есть и свой llms-full.txt, например /fr/llms-full.txt.

Укажите агенту на документацию#

Вставьте это в инструкции агента, например в AGENTS.md или CLAUDE.md в корне проекта:

md
## MCP servers

This project builds MCP servers with picomcp.

- Read https://picomcp.github.io/picomcp/llms-full.txt before writing picomcp code.
- Define servers with `pico({ name })` and chain `.tool()`, `.resource()`, `.prompt()`.
- Use Zod 4 schemas with `.describe()` on every field.
- Write tool descriptions and error messages for the model: say what the tool does,
  when to use it, and what to do after an error.
- Never write to stdout in a stdio server. Use `console.error` for logs.
- Test tools with `server.call(name, input)`. Do not spawn a client in unit tests.

Дайте агенту сервер документации#

Документация доступна и как MCP-сервер picomcp-docs, построенный на picomcp. Он даёт агентам три инструмента, list_docs, search_docs и read_doc, и каждую страницу как ресурс.

В Claude Code:

sh
claude mcp add picomcp-docs -- npx -y picomcp-docs

В Cursor, Windsurf, Claude Desktop и большинстве других клиентов добавьте его в файл конфигурации MCP (.cursor/mcp.json для Cursor):

json
{
  "mcpServers": {
    "picomcp-docs": { "command": "npx", "args": ["-y", "picomcp-docs"] }
  }
}

Исходный код лежит в packages/docs, около 100 строк.

В чём агенты часто ошибаются#

Вот ошибки, которые модели чаще всего допускают при написании MCP-серверов, и как всё устроено в picomcp:

  • В режиме stdio stdout — это протокол. console.log его испортит. picomcp перенаправляет вывод консоли в stderr при работе через stdio, но process.stdout.write по-прежнему опасен.
  • Ошибки инструментов — это результаты, а не исключения. Ошибка внутри run даёт isError: true с вашим сообщением. Модель видит его и может повторить попытку. Не перехватывайте ошибки только ради того, чтобы вернуть строку "Error: ...".
  • Аргументы промптов — это строки. Для числовых аргументов используйте z.coerce.number().
  • JSON Schema берётся из библиотеки схем. Zod 4 и ArkType ничего не требуют. Valibot требует toStandardJsonSchema. Остальные — withJsonSchema.
  • server.fetch не смотрит на путь. Направляйте к нему /mcp сами или используйте serve({ http }), который отвечает только на /mcp.
  • Типизированный server.call требует цепочки. pico().tool().tool() сохраняет типы. Отдельные инструкции их теряют.

Участие в разработке с агентом#

В репозитории есть AGENTS.md с правилами работы над самим picomcp: бюджет размера, команды для тестов и ограничения архитектуры.