mcp-api-connect
mcp-api-connect
Один запрос на входе — любой API на выходе. mcp-api-connect — это движок коннекторов, не зависящий от протокола и аутентификации: опишите целевой сервис (URL, протокол, аутентификацию, форму запроса/ответа) один раз, затем отправьте ему нормализованный запрос и получите нормализованный ответ — будь то REST/JSON API, устаревший SOAP-сервис, защищённый API-ключом, Basic-аутентификацией, Bearer-токеном или OAuth2 client credentials.
Он поставляется в трёх вариантах, построенных на одном и том же ядре, так что вы можете использовать его так, как вам удобно:
Библиотека Python —
pip install mcp-api-connect, вызывайтеMCPAPIConnectEngineнапрямую, сервер не требуется.Автономный HTTP API —
pip install mcp-api-connect[api], запуститеmcp-api-connect-api, отправляйте POST на/invoke.MCP-сервер —
pip install mcp-api-connect[mcp], запуститеmcp-api-connect, укажите на него любому MCP-клиенту (Claude и т.д.), чтобы агент мог вызывать зарегистрированные коннекторы — или произвольные сервисы на лету — как инструменты.
Зачем
Каждый интеграционный проект заново изобретает велосипед: где-то REST-клиент, где-то SOAP-клиент, отдельный поток аутентификации для каждого сервиса, ad-hoc сопоставление запросов/ответов, разбросанное по кодовой базе. mcp-api-connect централизует это в одной декларативной спецификации (InvokeSpec) и одном движке выполнения, так что добавление нового целевого сервиса — это конфигурация, а не код.
Related MCP server: MCP REST Server
Быстрый старт (библиотека)
pip install mcp-api-connectimport asyncio
from mcp_api_connect import MCPAPIConnectEngine, InvokeSpec, Target, AuthSpec, AuthType, RequestFormat, ResponseFormat
spec = InvokeSpec(
target=Target(base_url="https://api.example.com"),
auth=AuthSpec(type=AuthType.API_KEY, config={"api_key": "secret", "header_name": "X-API-Key"}),
request_format=RequestFormat(method="POST", path="/v1/orders", content_type="json"),
response_format=ResponseFormat(content_type="json"),
)
async def main():
async with MCPAPIConnectEngine() as engine:
result = await engine.invoke(spec, {"customer": "jane"})
print(result.success, result.data)
asyncio.run(main())Быстрый старт (HTTP API)
pip install "mcp-api-connect[api]"
mcp-api-connect-api # serves on :8000, interactive docs at /docscurl -X POST http://localhost:8000/invoke -H 'content-type: application/json' -d '{
"spec": {
"target": {"base_url": "https://api.example.com"},
"auth": {"type": "api_key", "config": {"api_key": "secret"}},
"request_format": {"method": "POST", "path": "/v1/orders"},
"response_format": {"content_type": "json"}
},
"payload": {"customer": "jane"}
}'Зарегистрируйте переиспользуемый коннектор один раз, а затем вызывайте его по имени:
curl -X POST http://localhost:8000/connectors -d '{"name": "orders-api", "spec": {...}}'
curl -X POST http://localhost:8000/connectors/orders-api/invoke -d '{"customer": "jane"}'Быстрый старт (MCP)
pip install "mcp-api-connect[mcp]"{
"mcpServers": {
"mcp-api-connect": { "command": "/path/to/.venv/bin/mcp-api-connect" }
}
}Предоставляет инструменты: invoke (без состояния, разовый), register_connector, list_connectors, invoke_connector (по имени), delete_connector. Агент может один раз зарегистрировать коннектор для «Salesforce API», а затем просто говорить «вызови его с этим запросом».
➜ Полная настройка для Claude Desktop / Claude Code / Cursor, сохранение состояния, заметки по безопасности и рабочий пример: docs/mcp-integration.md.
Основные понятия
Target— базовый URL, протокол (rest|soap), таймаут, заголовки по умолчанию.AuthSpec—type(none,api_key,basic,bearer,oauth2_client_credentials) + словарьconfig, сформированный для этого типа. Токены OAuth2 получаются и кэшируются автоматически.RequestFormat/ResponseFormat— тип содержимого (json,xml,soap) плюс декларативныйfield_map({"target.path": "$.source.jsonpath"}) для изменения формы запросов без написания кода, илиbody_templateна Jinja2 для полного контроля (обязателен для SOAP-конвертов).InvokeSpec— объединяет три вышеперечисленных; единица «как достичь одного сервиса». Храните его как именованныйConnectorили передавайте встроенно при каждом вызове.
Полную схему см. в src/mcp_api_connect/core/models.py, а форму config, которую ожидает каждый type аутентификации, — в docs/auth-reference.md.
Документация
docs/mcp-integration.md — полная настройка MCP-клиента (Claude Desktop, Claude Code, Cursor), сохранение состояния, безопасность, справочник инструментов, рабочий пример, устранение неполадок
docs/auth-reference.md — поля
configдля каждого типа аутентификацииCONTRIBUTING.md — настройка разработки, запуск тестов, ожидания по PR
Расширение
Новый тип аутентификации: реализуйте
AuthStrategy, зарегистрируйте черезengine.register_auth_strategy(...).Новый протокол (например, GraphQL): реализуйте
ProtocolAdapter, зарегистрируйте черезengine.register_adapter(...).Новый бэкенд хранения коннекторов: реализуйте
ConnectorStore(поставляется сInMemoryConnectorStoreиSqliteConnectorStore, учётные данные шифруются в состоянии покоя через Fernet).
Дорожная карта
Поток авторизации OAuth2 с кодом, mTLS, стратегии аутентификации AWS SigV4
SOAP на основе WSDL (опциональный адаптер на
zeep, без ручного написания конверта)Адаптер GraphQL
ConnectorStoreна базе PostgresПолитики повторных попыток/backoff и ограничения скорости для каждого коннектора
Безопасный от SSRF список разрешённых целевых адресов для публичных развёртываний
Разработка
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev,api,storage,mcp]"
pytestЛицензия
MIT — см. LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables interaction with over 2,800 APIs and applications through Pipedream's Connect platform. Provides managed OAuth authentication and API request capabilities for integrating multiple services through natural language.
- FlicenseAqualityDmaintenanceEnables interaction with any REST API through token or login authentication, with automatic Swagger/OpenAPI documentation integration for endpoint discovery and comprehensive HTTP request support.7
- AlicenseAqualityDmaintenanceEnables AI agents to connect and interact with common business platforms like Shopify, WordPress, and Calendly via pre-built connectors for tasks such as product management, content operations, and scheduling.13MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to discover, search, and call any REST API described by an OpenAPI or Swagger document. Supports multiple API endpoints with authentication and parameter handling.25MIT
Related MCP Connectors
Connect AI assistants to Stellary projects, boards, documents, and governed agent workflows.
Search, document and execute authenticated API calls across 700+ apps via one MCP server
Connect MCP clients to 2,000+ AI models without managing provider API keys.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/bvenkata/mcp-api-connect'
If you have feedback or need assistance with the MCP directory API, please join our Discord server