toolmesh — MCP-сервер для Claude Code: REST API как инструменты
Самостоятельно размещаемый шлюз между агентом и вашими системами: REST API описывается файлом .dadl, а доступ, секреты и журнал вызовов остаются под контролем.
Открыть на GitHubЧто делает toolmesh
ToolMesh встаёт между ИИ-агентом и бэкендом. Вместо того чтобы писать и поддерживать сервер-обёртку, вы описываете нужные методы REST API в декларативном YAML-файле .dadl и кладёте его в config/dadl/. Существующие MCP-серверы он тоже умеет проксировать. Файл не обязательно писать руками: подойдёт любая модель, знающая формат DADL.
Внутри — несколько слоёв, которых обычно не хватает в продакшене. Секреты подставляются в момент вызова и не попадают ни в промпты, ни в конфиг клиента. Авторизация включена по умолчанию: правила OpenFGA задают, кому и какие инструменты доступны, с привязкой к пользователю, роли, тарифу или компании. Политики на JavaScript блокируют конфиденциальные данные до вызова и вырезают персональные из ответов. Каждый вызов записывается в структурированный лог или в SQLite, и по нему можно строить SQL-запросы.
Перед запуском задайте TOOLMESH_AUTH_PASSWORD или TOOLMESH_API_KEY в .env: без пароля или ключа сервер отклоняет все запросы. Сам ToolMesh отдаёт обычный HTTP, а большинство MCP-клиентов требуют HTTPS, поэтому перед ним нужен прокси с TLS — Caddy, Cloudflare Tunnel, nginx или Traefik. Для локальной разработки TLS можно обойти, отредактировав claude_desktop_config.json вручную. Порт по умолчанию — 8123, эндпоинт MCP — /mcp.
Какие задачи решает
- подключить внутренний REST API к агенту без написания сервера-обёртки
- описать нужные методы API в одном YAML-файле
- выдать разным ролям разный набор доступных инструментов
- не пускать токены и пароли в промпты и конфиги клиента
- разобрать по журналу, что именно вызывал агент
Примеры запросов агенту
- Сгенерируй
.dadlдля GitHub API: список репозиториев, открытые issue и создание pull request - Добавь в
config/dadl/описание методов нашего биллинга и подключи его как инструменты - Покажи по журналу, какие инструменты вызывал агент за последний час
Как установить toolmesh
1Адрес-шаблон
Адрес сервера — шаблон: подставьте свои значения вместо {…} или […]
2Командой платформы: удалённый сервер
claude mcp add --transport http toolmesh https://{host}:8123/mcp1Адрес-шаблон
Адрес сервера — шаблон: подставьте свои значения вместо {…} или […]
2Командой платформы: удалённый сервер
codex mcp add toolmesh --url https://{host}:8123/mcp1Адрес-шаблон
Адрес сервера — шаблон: подставьте свои значения вместо {…} или […]
2Файл настроек
{
"mcpServers": {
"toolmesh": {
"url": "https://{host}:8123/mcp"
}
}
}1Адрес-шаблон
Адрес сервера — шаблон: подставьте свои значения вместо {…} или […]
2Файл настроек
{
"servers": {
"toolmesh": {
"type": "http",
"url": "https://{host}:8123/mcp"
}
}
}1Адрес-шаблон
Адрес сервера — шаблон: подставьте свои значения вместо {…} или […]
2Командой платформы: удалённый сервер
gemini mcp add -t http toolmesh https://{host}:8123/mcpПо шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о toolmesh
Как установить toolmesh в Claude Code?
Выполните claude mcp add --transport http toolmesh https://{host}:8123/mcp, подставив свой хост.
Что делает toolmesh?
Это шлюз, который превращает REST API в инструменты MCP по описанию в .dadl и добавляет авторизацию, подстановку секретов, фильтрацию данных и журнал вызовов.
Почему клиент не подключается по http?
ToolMesh отдаёт обычный HTTP, а большинство MCP-клиентов принимают только HTTPS. Поставьте перед ним прокси с TLS. Для локальной разработки можно вручную поправить claude_desktop_config.json.