Anyapi
БесплатноПоддерживаетсяA universal MCP server that connects any REST API to AI assistants (Claude, Cursor, etc.) via OpenAPI or Postman specs. Features GraphQL-style field selection,
Описание
A universal MCP server that connects any REST API to AI assistants (Claude, Cursor, etc.) via OpenAPI or Postman specs. Features GraphQL-style field selection, automatic schema inference, mutation support, and smart query suggestions.
README
If it has an API, you can MCP it.

Traditional MCP servers hand-pick a handful of endpoints and call it a day — locking you into whatever subset someone decided was "enough." Why settle for a fraction of an API when you can have all of it?
anyapi-mcp-server is a universal MCP server that connects any REST API to AI assistants like Claude, Cursor, and other LLM-powered tools — just point it at an OpenAPI spec or Postman collection. Every endpoint the API provides becomes available instantly, with GraphQL-style field selection and automatic schema inference. No custom server code, no artificial limits.
Quick start
1. Install
npm install -g anyapi-mcp-server
2. Add to your MCP client (Cursor, Claude Desktop, etc.)
{
"mcpServers": {
"your-api": {
"command": "npx",
"args": [
"-y",
"anyapi-mcp-server",
"--name", "your-api",
"--spec", "path/to/openapi.json",
"--base-url", "https://api.example.com",
"--header", "Authorization: Bearer ${API_KEY}"
],
"env": {
"API_KEY": "your-api-key"
}
}
}
}
3. Use the tools — discover endpoints with list_api, inspect schemas with call_api, fetch data with query_api.
Provider examples
Ready-to-use configurations for popular APIs:
| Provider | Auth |
|---|---|
| Cloudflare | API Token or Key + Email |
| Datadog | API Key + App Key |
| GitHub | Personal Access Token |
| Google Workspace | OAuth 2.0 |
| Metabase | API Key |
| PostHog | Personal API Key |
| Slack | Bot/User Token |
These work with any API that has an OpenAPI or Postman spec — the above are just examples. Stripe, Twilio, Shopify, HubSpot, and anything else with a REST API will work the same way.
CLI reference
Required flags
| Flag | Description |
|---|---|
--name |
Server name (e.g. cloudflare) |
--spec |
Path or HTTPS URL to an OpenAPI spec (JSON/YAML) or Postman Collection. Remote URLs are cached locally. Supports ${ENV_VAR}. |
--base-url |
API base URL (e.g. https://api.example.com). Supports ${ENV_VAR}. |
Optional flags
| Flag | Description |
|---|---|
--header |
HTTP header as "Key: Value" (repeatable). Supports ${ENV_VAR} in values. |
--log |
Path to NDJSON request/response log. Sensitive headers are masked automatically. |
OAuth flags
For APIs that use OAuth 2.0 instead of static tokens. If any of the three required flags is provided, all three are required. All flags support ${ENV_VAR}.
| Flag | Required | Description |
|---|---|---|
--oauth-client-id |
Yes* | OAuth client ID |
--oauth-client-secret |
Yes* | OAuth client secret |
--oauth-token-url |
Yes* | Token endpoint URL |
--oauth-auth-url |
No | Authorization endpoint (auto-detected from spec if available) |
--oauth-scopes |
No | Comma-separated scopes |
--oauth-flow |
No | authorization_code (default) or client_credentials |
--oauth-param |
No | Extra token parameter as key=value (repeatable) |
See the Google Workspace guide for a complete OAuth example.
Tools
The server exposes four tools (plus auth when OAuth is configured):
list_api — Browse endpoints
Discover what the API offers. Call with no arguments to see all categories, provide category to list endpoints in a tag, or search to find endpoints by keyword.
call_api — Inspect an endpoint
Makes a real HTTP request and returns the inferred GraphQL schema (SDL) — not the data itself. Use this to discover the response shape and get suggestedQueries you can copy into query_api. Also returns per-field token costs (fieldTokenCosts) and a dataKey for cache reuse. For PUT/PATCH requests, automatically creates a pre-write backup (returns backupDataKey). Supports bodyFile for large payloads and blocks requests with detected placeholder values.
query_api — Fetch data
Fetches data and returns only the fields you select via a GraphQL query. Supports both reads and writes (mutations for POST/PUT/DELETE/PATCH). Pass a dataKey from call_api to reuse cached data with zero HTTP calls.
# Read
{ items { id name status } _count }
# Write
mutation { post_endpoint(input: { name: "example" }) { id } }
Key parameters:
maxTokens— token budget for the response. Arrays are truncated to fit. Without this orunlimited, responses over ~10k tokens are rejected.unlimited— set totrueto return the full response with no token budget enforcement.dataKey— reuse cached data from a previouscall_apiorquery_apiresponse.jsonFilter— dot-path to extract nested values after the GraphQL query (e.g."data[].attributes.name").bodyFile— absolute path to a JSON file to use as request body (mutually exclusive withbody). Use for large payloads that can't be sent inline.skipBackup— skip the automatic pre-write backup for PUT/PATCH requests (default:false).
explain_api — Read the docs
Returns spec documentation for an endpoint (parameters, request body schema, response codes) without making an HTTP request.
auth — OAuth authentication
Only available when --oauth-* flags are configured. Manages the OAuth flow:
action: "start"— returns an authorization URL (or exchanges credentials forclient_credentials)action: "exchange"— completes the authorization code flow (callback is captured automatically)action: "status"— shows current token status
Tokens are persisted and refreshed automatically.
Typical workflow
list_api → discover what's available
↓
explain_api → read the docs for an endpoint
↓
call_api → inspect the response schema (returns dataKey)
↓
query_api → fetch exactly the fields you need (pass dataKey for zero HTTP calls)
↓
query_api → re-query with different fields using the same dataKey
How it works
OpenAPI/Postman spec
│
▼
┌─────────┐ ┌─────────────┐ ┌──────────┐ ┌───────────┐
│list_api │ │ explain_api │ │ call_api │ │ query_api │
│(browse) │ │ (docs) │ │ (schema) │ │ (data) │
└─────────┘ └─────────────┘ └──────────┘ └───────────┘
│ │ no HTTP │ │
▼ ▼ request ▼ ▼
Spec index Spec index REST API call dataKey cache
(tags, (params, (with retry) hit → no HTTP
paths) responses, │ miss → fetch
body schema) ▼ │
Infer schema + ▼
return dataKey Execute GraphQL
+ token budget
truncation
Features
- Any REST API — provide an OpenAPI (JSON/YAML) or Postman Collection v2.x spec as a file or URL
- Remote spec caching — HTTPS specs are fetched once and cached to
~/.cache/anyapi-mcp/ - GraphQL field selection — query only the fields you need from any response
- Schema inference — automatically builds GraphQL schemas from live API responses
- Multi-sample merging — samples up to 10 array elements for richer schemas
- Mutation support — write operations get typed GraphQL mutations from OpenAPI body schemas
- Smart suggestions —
call_apireturns ready-to-use queries based on the inferred schema - Response caching — filesystem-based cache with 5-min TTL;
dataKeytokens letquery_apireuse data with zero HTTP calls - Token budget —
query_apienforces a ~10k token safety limit by default; usemaxTokensto truncate the deepest largest array to fit, orunlimited: truefor full responses - Per-field token costs —
call_apireturns afieldTokenCoststree so the LLM can make informed field selections - Rate limit tracking — parses
X-RateLimit-*headers and warns when limits are nearly exhausted - Pagination detection — auto-detects cursor, next-page-token, and link-based pagination patterns in responses
- JSON filter —
query_apiaccepts ajsonFilterdot-path for post-query extraction (e.g."data[].name") - Retry with backoff — automatic retries for 429/5xx with exponential backoff and
Retry-Aftersupport - Multi-format — parses JSON, XML, CSV, and plain text responses
- Safe writes — PUT/PATCH requests automatically snapshot the resource before writing (
backupDataKey); placeholder values (e.g.PLACEHOLDER,TODO,file://) are detected and blocked before sending - File-based body —
bodyFileparameter accepts an absolute path to a JSON file, enabling large payloads that can't be sent inline - Rich errors — structured error messages with status-specific suggestions and spec context for self-correction
- OAuth 2.0 — Authorization Code (with PKCE) and Client Credentials flows with automatic token refresh
- Env var interpolation —
${ENV_VAR}in base URLs, headers, and spec paths - Request logging — optional NDJSON log with sensitive header masking
Supported spec formats
- OpenAPI 3.x (JSON or YAML)
- OpenAPI 2.0 / Swagger (JSON or YAML)
- Postman Collection v2.x (JSON)
License
Proprietary Non-Commercial. Free for personal and educational use. Commercial use requires written permission. See LICENSE for details.
Установить Anyapi в Claude Desktop, Claude Code, Cursor
unyly install anyapiСтавит в Claude Desktop, Claude Code, Cursor и VS Code — сам разбирается с npx, uvx и сборкой из исходников.
Впервые? Поставь CLI: curl -fsSL https://unyly.org/install | sh
Или настроить вручную
Выполни в терминале:
claude mcp add anyapi --env API_KEY="" -- npx -y anyapi-mcp-serverПошаговые гайды: как установить Anyapi
FAQ
Anyapi MCP бесплатный?
Да, Anyapi MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Anyapi?
Да, требуются переменные окружения: API_KEY. Unyly подставит их в конфиг при установке.
Anyapi — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Anyapi в Claude Desktop, Claude Code или Cursor?
Открой Anyapi на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
автор: modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
автор: xuzexin-hzMCP-Agent
A simple, composable framework to build agents using Model Context Protocol by [LastMile AI](https://www.lastmileai.dev)
автор: lastmile-aiSpring AI MCP Client
Provides auto-configuration for MCP client functionality in Spring Boot applications.
mcp.natoma.ai
A Hosted MCP Platform to discover, install, manage and deploy MCP servers by [Natoma Labs](https://www.natoma.ai)
MCPHub
Website to list high quality MCP servers and reviews by real users. Also provide online chatbot for popular LLM models with MCP server support.
MCP Servers Rating and User Reviews
Website to rate MCP servers, write authentic user reviews, and [search engine for agent & mcp](http://www.deepnlp.org/search/agent)
mkinf
An Open Source registry of hosted MCP Servers to accelerate AI agent workflows.
Compare Anyapi with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории ai
