Api Reference
БесплатноНе проверенAn MCP server that automatically crawls, indexes, and serves API reference documentation for LLMs, enabling to search and retrieve endpoint details.
Описание
An MCP server that automatically crawls, indexes, and serves API reference documentation for LLMs, enabling to search and retrieve endpoint details.
README
An MCP (Model Context Protocol) server that automatically crawls, indexes, and serves API reference documentation for LLMs.
Problem & Solution
When LLMs generate code that uses APIs, the following problems occur:
- Hallucination: Generating non-existent endpoints or parameters
- Stale information: Unable to reference the latest API specs not included in training data
- Inefficient context consumption: Passing entire documentation wastes tokens
This tool automatically crawls, parses, and indexes API reference sites just by specifying a URL, then provides token-efficient search results via MCP tools.
MCP Tools
| Tool | Description | Main Inputs |
|---|---|---|
search_docs |
Full-text search by keyword | query, api (optional), limit (1-20) |
get_endpoint |
Get details of a specific endpoint | api, endpoint (path), method |
list_apis |
List available APIs and categories | api (optional) |
Requirements
- Node.js >= 18.0.0
Installation
npm install
npm run build
Usage
Start as MCP Server
node dist/index.js
CLI Options
# Specify a custom config file
node dist/index.js --config ./my-sites.json
# Refresh cache for a specific API
node dist/index.js --refresh kintone
# Clear all cache
node dist/index.js --clear-cache
| Option | Short | Description |
|---|---|---|
--config <path> |
-c |
Path to custom site config file |
--refresh <api-id> |
-r |
Re-fetch documentation for the specified API |
--clear-cache |
- | Clear all cache and exit |
Claude Desktop Integration
Add the following to claude_desktop_config.json:
{
"mcpServers": {
"api-reference": {
"command": "node",
"args": ["/path/to/mcp-reference-doc/dist/index.js"]
}
}
}
Presets
kintone REST API
A parser for the kintone REST API is built in as a preset. No additional configuration required.
Backlog API
A parser for the Backlog API is also available as a preset. No additional configuration required.
SmartHR API
A parser for the SmartHR API is also available as a preset. No additional configuration required.
Custom Sites
You can add any API documentation site by specifying a JSON file with the --config option.
{
"sites": [
{
"id": "my-api",
"name": "My API",
"baseUrl": "https://api.example.com",
"crawl": {
"startUrl": "https://api.example.com/docs",
"includePatterns": ["https://api.example.com/docs/**"],
"excludePatterns": [],
"maxPages": 500,
"delayMs": 500
},
"parser": {
"type": "generic",
"selectors": {
"endpointContainer": ".endpoint",
"method": ".http-method",
"path": ".api-path",
"title": "h3",
"description": ".description",
"parameters": ".parameters",
"responseFields": ".response"
}
}
}
]
}
Project Structure
src/
├── index.ts # CLI entry point
├── server.ts # MCP server initialization and tool registration
├── core/
│ ├── crawler.ts # Web crawler with robots.txt support
│ ├── parser.ts # Parser registry
│ ├── generic-parser.ts # Generic HTML parser (CSS selector-based)
│ ├── indexer.ts # Full-text search index via MiniSearch
│ ├── store.ts # Document store
│ ├── cache.ts # TTL-based cache management
│ └── pipeline.ts # Crawl → parse → index pipeline
├── tools/
│ ├── search-docs.ts # search_docs tool
│ ├── get-endpoint.ts # get_endpoint tool
│ └── list-apis.ts # list_apis tool
├── presets/
│ ├── kintone/ # kintone preset
│ ├── backlog/ # Backlog preset
│ └── smarthr/ # SmartHR preset
├── formatters/
│ └── response.ts # MCP response formatter
├── types/ # Type definitions
└── utils/ # Utilities (logger, glob, hash)
Development
# Build in watch mode
npm run dev
# Run tests
npm test
# Run tests (watch mode)
npm run test:watch
# Type check
npm run typecheck
# Lint
npm run lint
Tech Stack
- @modelcontextprotocol/sdk - MCP server implementation
- cheerio - HTML parser
- minisearch - Full-text search engine (with Japanese tokenization support)
- zod - Schema validation
- tsup - TypeScript bundler
- vitest - Test framework
Environment Variables
| Variable | Description | Default |
|---|---|---|
MCP_API_REF_CACHE_DIR |
Path to cache directory | ~/.mcp-api-reference/cache/ |
MCP_API_REF_CONFIG |
Path to site config file | - |
License
MIT
Установить Api Reference в Claude Desktop, Claude Code, Cursor
unyly install mcp-api-referenceСтавит в Claude Desktop, Claude Code, Cursor и VS Code — сам разбирается с npx, uvx и сборкой из исходников.
Впервые? Поставь CLI: curl -fsSL https://unyly.org/install | sh
Или настроить вручную
Выполни в терминале:
claude mcp add mcp-api-reference -- npx -y github:ei-nakamura/mcp-api-referenceFAQ
Api Reference MCP бесплатный?
Да, Api Reference MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Api Reference?
Нет, Api Reference работает без API-ключей и переменных окружения.
Api Reference — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Api Reference в Claude Desktop, Claude Code или Cursor?
Открой Api Reference на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Api Reference with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
