{"_id":"@brekhov-i/pachca-mcp","_rev":"2-3aba69de7295a138cd0cf082d5b58046","name":"@brekhov-i/pachca-mcp","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@brekhov-i/pachca-mcp","version":"0.1.0","keywords":["mcp","model-context-protocol","pachca","claude","claude-code","codex","chatops"],"author":{"name":"Ilya Brekhov"},"license":"MIT","_id":"@brekhov-i/pachca-mcp@0.1.0","maintainers":[{"name":"brekhov-i","email":"brekhov-i@yandex.ru"}],"homepage":"https://github.com/brekhov-i/pachca-mcp#readme","bugs":{"url":"https://github.com/brekhov-i/pachca-mcp/issues"},"bin":{"pachca-mcp":"dist/index.js"},"dist":{"shasum":"651937073a6547fe4ab754210241550dba1df74e","tarball":"https://registry.npmjs.org/@brekhov-i/pachca-mcp/-/pachca-mcp-0.1.0.tgz","fileCount":143,"integrity":"sha512-jldqpJYcG/y7gIBxdNSI7pskbn7JhJEiJSwKrA6e/1A+Fa7kYY2Trm/AwmKXyvsMG9bsu3gu1oMxAm0laUg+0w==","signatures":[{"sig":"MEUCIQC6ZbCEvCQ88t2Q59z6zjwHjkiNK+eDION5fOGqg2V8GwIgPdCcwE+TaC+Cr2+VjZBpcrd1jmOMY1v19Dm2hpgjizo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88000},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e9a33257cf402487d45cf6553e1f04ccbf5dcc02","scripts":{"dev":"tsx src/index.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc && chmod +x dist/index.js","start":"node dist/index.js","typecheck":"tsc --noEmit","prepublishOnly":"yarn build"},"_npmUser":{"name":"brekhov-i","email":"brekhov-i@yandex.ru"},"repository":{"url":"git+https://github.com/brekhov-i/pachca-mcp.git","type":"git"},"_npmVersion":"10.9.4","description":"MCP-сервер для работы с API Pachca через @pachca/sdk","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^4.4.3","@pachca/sdk":"^1.0.15","@cfworker/json-schema":"^4.1.1","@modelcontextprotocol/server":"^2.0.0-alpha.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","typescript":"^6.0.3","@types/node":"^25.6.0"},"_npmOperationalInternal":{"tmp":"tmp/pachca-mcp_0.1.0_1778050358894_0.8442933762349403","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@brekhov-i/pachca-mcp","version":"0.1.1","description":"MCP-сервер для работы с API Pachca через @pachca/sdk","type":"module","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"bin":{"pachca-mcp":"dist/index.js"},"engines":{"node":">=20"},"scripts":{"build":"tsc && chmod +x dist/index.js","dev":"tsx src/index.ts","start":"node dist/index.js","typecheck":"tsc --noEmit","prepublishOnly":"yarn build","test":"echo \"Error: no test specified\" && exit 1"},"keywords":["mcp","model-context-protocol","pachca","claude","claude-code","codex","chatops"],"author":{"name":"Ilya Brekhov"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/brekhov-ilya/pachca-mcp.git"},"bugs":{"url":"https://github.com/brekhov-ilya/pachca-mcp/issues"},"homepage":"https://github.com/brekhov-ilya/pachca-mcp#readme","devDependencies":{"@types/node":"^25.6.0","tsx":"^4.21.0","typescript":"^6.0.3"},"dependencies":{"@cfworker/json-schema":"^4.1.1","@modelcontextprotocol/server":"^2.0.0-alpha.2","@pachca/sdk":"^1.0.15","zod":"^4.4.3"},"_id":"@brekhov-i/pachca-mcp@0.1.1","gitHead":"c710f800850d4ef75388cfc43c77a94e5bd00f62","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-33MmtQ8KHpiITwIjF4tYJnpALSRk28k1unW0nBFgI8b01/JXEpqpW1eLsrPMnmQgsDsn7x+2QeBiPLr6Vej+cw==","shasum":"f9067d82ba58814b7fe6214fdeacd2b5a3029ad5","tarball":"https://registry.npmjs.org/@brekhov-i/pachca-mcp/-/pachca-mcp-0.1.1.tgz","fileCount":143,"unpackedSize":88009,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBOsfnE3nyC6b7qZXPzKe6GpFFWUFbiNiMJ6XGkJYteaAiB5ouJtJF2RmtJYV27ebNdExsUo2lFjrN6vBreXdH9Yow=="}]},"_npmUser":{"name":"brekhov-i","email":"brekhov-i@yandex.ru"},"directories":{},"maintainers":[{"name":"brekhov-i","email":"brekhov-i@yandex.ru"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pachca-mcp_0.1.1_1778050680712_0.8845802769661275"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-06T06:52:38.808Z","modified":"2026-05-06T06:58:00.960Z","0.1.0":"2026-05-06T06:52:39.035Z","0.1.1":"2026-05-06T06:58:00.857Z"},"bugs":{"url":"https://github.com/brekhov-ilya/pachca-mcp/issues"},"author":{"name":"Ilya Brekhov"},"license":"MIT","homepage":"https://github.com/brekhov-ilya/pachca-mcp#readme","keywords":["mcp","model-context-protocol","pachca","claude","claude-code","codex","chatops"],"repository":{"type":"git","url":"git+https://github.com/brekhov-ilya/pachca-mcp.git"},"description":"MCP-сервер для работы с API Pachca через @pachca/sdk","maintainers":[{"name":"brekhov-i","email":"brekhov-i@yandex.ru"}],"readme":"# @brekhov-i/pachca-mcp\n\nMCP-сервер для работы с [Pachca](https://www.pachca.com/) через [@pachca/sdk](https://www.npmjs.com/package/@pachca/sdk). Подключается к Claude Desktop, Claude Code, Codex CLI и любому другому клиенту с поддержкой [Model Context Protocol](https://modelcontextprotocol.io/) по stdio.\n\nПокрытие — **только чтение и создание**: tools из этого пакета не умеют изменять или удалять сущности в Pachca.\n\n## Возможности\n\n18 MCP tools для агента:\n\n### Чаты\n- `chat-list` — список чатов с фильтрами и пагинацией\n- `chat-get` — чат по идентификатору\n- `chat-create` — создание чата или канала\n- `chat-members-list` — список участников чата\n- `chat-members-add` — добавить участников в чат\n\n### Сообщения\n- `message-list` — сообщения чата\n- `message-get` — сообщение по идентификатору\n- `message-send-chat` — отправка сообщения в чат / канал\n- `message-send-personal` — личное сообщение пользователю\n\n### Реакции\n- `reaction-list` — реакции на сообщение\n\n### Пользователи\n- `user-list` — список пользователей\n- `user-get` — пользователь по идентификатору\n- `user-profile-get` — профиль текущего бота / пользователя\n- `user-create` — создать нового пользователя\n\n### Треды\n- `thread-get` — тред по идентификатору\n- `thread-create` — создать тред у сообщения\n\n### Поиск\n- `chat-search` — поиск чатов\n- `user-search` — поиск пользователей\n- `message-search` — поиск сообщений\n\n### Изображения\n- `message-images-list` — список изображений в сообщении\n- `message-image-get` — получить изображение из сообщения как MCP image content (base64)\n\n## Требования\n\n- Node.js ≥ 20\n- Токен бота Pachca (получить в Pachca → Настройки → Боты)\n\n## Установка\n\nГлобально не нужно ставить — Claude / Codex запустят сервер через `npx`. Если хочется поставить вручную:\n\n```bash\nnpm i -g @brekhov-i/pachca-mcp\n# или одноразово\nnpx -y @brekhov-i/pachca-mcp\n```\n\n## Переменные окружения\n\n| Переменная | Обязательна | По умолчанию | Описание |\n|---|---|---|---|\n| `TOKEN` | да | — | Bearer-токен бота Pachca |\n| `PACHCA_API_URL` | нет | URL Pachca SDK по умолчанию | Кастомный baseUrl, если у вас self-hosted/staging |\n| `PACHCA_IMAGE_MAX_BYTES` | нет | `5000000` | Максимальный размер картинки, которую сервер вернёт инлайном |\n| `PACHCA_IMAGE_FETCH_TIMEOUT_MS` | нет | `10000` | Таймаут на скачивание картинки |\n\nТокен в логи и ответы tool'ов не попадает: `mcpResponse` редактирует `Authorization`/`Bearer ...` перед отправкой.\n\n## Подключение к клиентам\n\n### Claude Code (`.mcp.json` в корне проекта)\n\nВ репозитории есть готовый `.mcp.json.example` — скопируйте и заполните токен:\n\n```bash\ncp .mcp.json.example .mcp.json\n# отредактируйте TOKEN\n```\n\nСодержимое:\n\n```json\n{\n  \"mcpServers\": {\n    \"pachca\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@brekhov-i/pachca-mcp\"],\n      \"env\": {\n        \"TOKEN\": \"<your-pachca-bot-token>\"\n      }\n    }\n  }\n}\n```\n\n`.mcp.json` уже включён в `.gitignore`, чтобы токен не уехал в репозиторий.\n\n### Claude Desktop\n\n`~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) или `%APPDATA%\\Claude\\claude_desktop_config.json` (Windows):\n\n```json\n{\n  \"mcpServers\": {\n    \"pachca\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@brekhov-i/pachca-mcp\"],\n      \"env\": {\n        \"TOKEN\": \"<your-pachca-bot-token>\"\n      }\n    }\n  }\n}\n```\n\nПосле сохранения перезапустите Claude Desktop.\n\n### Codex CLI\n\n`~/.codex/config.toml`:\n\n```toml\n[mcp_servers.pachca]\ncommand = \"npx\"\nargs = [\"-y\", \"@brekhov-i/pachca-mcp\"]\n\n[mcp_servers.pachca.env]\nTOKEN = \"<your-pachca-bot-token>\"\n```\n\n## Локальная разработка\n\n```bash\nyarn install\nTOKEN=xxx yarn dev          # tsx src/index.ts\nyarn typecheck               # tsc --noEmit\nyarn build                   # tsc + chmod +x dist/index.js\nTOKEN=xxx yarn start         # node dist/index.js\n```\n\nСтруктура `src/tools/` — каждая категория отдельная папка, каждый tool отдельный файл:\n\n```\nsrc/tools/\n├── chats/        chat-list, chat-get, chat-create, chat-members-list, chat-members-add\n├── messages/     message-list, message-get, message-send-chat, message-send-personal\n├── reactions/    reaction-list\n├── search/       chat-search, user-search, message-search\n├── users/        user-list, user-get, user-profile-get, user-create\n├── threads/      thread-get, thread-create\n├── images/       message-images-list, message-image-get (+ image-utils.ts)\n└── common.ts     общие zod-схемы и safeTool wrapper\n```\n\n## Публикация\n\n`prepublishOnly` запускает `yarn build`. В пакет (`files`) попадают только `dist/`, `README.md`, `LICENSE`.\n\n```bash\nnpm publish --access public\n```\n\n## Лицензия\n\n[MIT](./LICENSE) © Ilya Brekhov\n","readmeFilename":"README.md"}