关于 Jitapi
JitAPI 是连接 Claude 与 OpenAPI 描述接口的 MCP 服务。它通过语义搜索和端点依赖关系来筛选并安排调用顺序,也支持跨多个 API 协作。
主要功能
- 01从 OpenAPI 规范注册 API
- 02用自然语言搜索端点
- 03解析端点前置依赖
- 04编排跨 API 调用
- 05配置 API 身份验证
适用场景
- 01按意图查找并调用 API 端点
- 02串联依赖前序结果的调用
- 03运行跨多个 API 的工作流
MCP 相关
提供 MCP 工具,用于注册 API、搜索端点、解析工作流、查看架构、配置身份验证及执行 API 调用。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
JitAPI
让 Claude 调用任意 API。JitAPI 会自动判断该调用哪些端点,以及调用顺序。
JitAPI 是一个 MCP 服务,可让 Claude 根据 OpenAPI 规范与任意 API 交互。JitAPI 不会将数百个端点全部塞进上下文,而是利用语义搜索和依赖关系图,只呈现所需内容,然后由 Claude 规划并执行调用。
https://github.com/user-attachments/assets/53f72f89-a41a-4a9c-a688-ec876ea05fbd
问题所在
Stripe 有 300 多个端点,GitHub 有 800 多个。将完整规范加载到 Claude 的上下文中会浪费 token,还会导致幻觉。为每个你使用的 API 编写自定义 MCP 服务也无法扩展。
**JitAPI 解决了这个问题:**只需注册一次任意 OpenAPI 规范,然后用日常语言提出需求。它会找到合适的端点,解析它们之间的依赖关系,并让 Claude 执行调用。
快速开始
pip install jitapi
将以下内容添加到 Claude Code 配置(.mcp.json)中:
{
"mcpServers": {
"jitapi": {
"command": "uvx",
"args": ["jitapi"]
}
}
}
就是这样。无需 API 密钥——JitAPI 开箱即用本地嵌入。
然后在 Claude 中:
You: Register the GitHub API from https://raw.githubusercontent.com/github/rest-api-description/main/descriptions/api.github.com/api.github.com.json
Claude: ✓ Registered GitHub v3 REST API — 1,107 endpoints indexed
You: List my repos
Claude: [searches for "list repositories for authenticated user" → finds GET /user/repos → executes]
Here are your repositories: ...
多 API 编排
核心功能:注册多个 API,然后提出涉及多个 API 的问题。JitAPI 会搜索所有已注册的 API,由 Claude 串联调用。
You: Register the TMDB API and OpenWeatherMap API
Claude: ✓ Registered both APIs
You: Find the top popular movie on TMDB, then get the weather where it was filmed
Claude: [searches TMDB → GET /movie/popular → GET /movie/{id} for production locations
→ searches OpenWeather → GET /data/2.5/weather with the city]
The #1 popular movie is "Inception", filmed in Los Angeles.
Current weather in LA: 72°F, partly cloudy.
工作原理
Register API Ask a question
│ │
▼ ▼
Parse OpenAPI spec Embed query → vector search
│ │
▼ ▼
Build dependency graph Find relevant endpoints
│ │
▼ ▼
Embed all endpoints Expand with dependencies
│ │
▼ ▼
Store in vector DB Return schemas → Claude executes
- 注册 — 解析 OpenAPI 规范,构建依赖关系图(哪些端点需要从其他端点获取数据),并为所有端点创建可搜索的嵌入
- 搜索 — 收到问题后,JitAPI 会对查询进行嵌入,并通过余弦相似度找出最相关的端点
- 扩展 — 依赖关系图会添加所有前置端点(例如:“你需要先调用 GET /users,获取 POST /orders 所需的 user_id”)
- 执行 — Claude 会获取端点架构并发起 API 调用,在各步骤之间传递数据
MCP 工具
| 工具 | 描述 |
|---|---|
register_api | 根据 OpenAPI 规范 URL 注册 API |
list_apis | 列出所有已注册的 API 及其端点数量 |
search_endpoints | 使用自然语言对端点进行语义搜索 |
get_workflow | 在解析依赖关系后,查找相关端点并获取完整架构 |
get_endpoint_schema | 获取指定端点的完整架构 |
call_api | 执行单个 API 调用,支持身份验证、路径参数、查询参数和请求体 |
set_api_auth | 配置身份验证(API 密钥请求头、API 密钥查询参数或 bearer token) |
delete_api | 移除已注册的 API 及其所有数据 |
设置
Claude Code
在项目目录中创建 .mcp.json(如需全局访问,则创建 ~/.claude.json):
{
"mcpServers": {
"jitapi": {
"command": "uvx",
"args": ["jitapi"]
}
}
}
Claude Desktop
将以下内容添加到 Claude Desktop 配置中:
| 操作系统 | 配置路径 |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| Linux | ~/.config/Claude/claude_desktop_config.json |
{
"mcpServers": {
"jitapi": {
"command": "uvx",
"args": ["jitapi"]
}
}
}
嵌入提供商
JitAPI 开箱即用,支持本地嵌入(fastembed),无需 API 密钥。对于大型 API,添加云端嵌入提供商可以提升搜索质量:
| 提供商 | 质量 | 设置 |
|---|---|---|
| 本地(默认) | 良好 | 无需设置,立即可用 |
| Voyage AI(推荐) | 优秀 | pip install jitapi[voyage] + 设置 VOYAGE_API_KEY |
| OpenAI | 优秀 | pip install jitapi[openai] + 设置 OPENAI_API_KEY |
| Cohere | 很好 | pip install jitapi[cohere] + 设置 COHERE_API_KEY |
在 MCP 配置的 env 块中设置 API 密钥:
{
"mcpServers": {
"jitapi": {
"command": "uvx",
"args": ["jitapi"],
"env": {
"VOYAGE_API_KEY": "your-key-here"
}
}
}
}
系统会根据可用的环境变量自动检测提供商。优先级:Voyage AI > OpenAI > Cohere > 本地。
身份验证
注册后配置 API 身份验证。支持的身份验证类型:bearer、api_key(自定义标头)和 api_key_query(查询参数)。推荐使用环境变量,这样密钥就不会写入磁盘:
{
"mcpServers": {
"jitapi": {
"command": "uvx",
"args": ["jitapi"],
"env": {
"GITHUB_TOKEN": "ghp_...",
"OPENWEATHER_API_KEY": "your-key-here"
}
}
}
}
然后告诉 Claude 使用该环境变量:
You: Set bearer auth for GitHub using env var GITHUB_TOKEN
Claude: [calls set_api_auth with auth_type="bearer", env_var="GITHUB_TOKEN"]
✓ Auth configured for github (from env var $GITHUB_TOKEN)
使用 env_var 时,JitAPI 会在请求时从环境中读取密钥,只会保存环境变量的名称,不会保存凭据本身。
你也可以直接传入凭据(它们会以 0600 权限存储在 ~/.jitapi/auth.json 中):
You: Set API key auth for OpenWeather with param name "appid"
Claude: [calls set_api_auth with auth_type="api_key_query", credential="...", param_name="appid"]
✓ Auth configured for openweather
支持的身份验证类型:bearer、api_key(自定义标头,默认为 X-API-Key)、api_key_query(查询参数)。
安全提示: 使用
env_var时,凭据会在运行时解析,不会接触文件系统。直接传入credential时,密钥会以明文 JSON 格式存储在~/.jitapi/auth.json中(文件权限为0600,目录权限为0700)。生产环境中建议使用env_var方式。
环境变量
| 变量 | 必需 | 说明 |
|---|---|---|
VOYAGE_API_KEY | 否 | Voyage AI API 密钥(推荐的云端提供商) |
OPENAI_API_KEY | 否 | OpenAI API 密钥(备选云端提供商) |
COHERE_API_KEY | 否 | Cohere API 密钥(备选云端提供商) |
JITAPI_STORAGE_DIR | 否 | 数据目录(默认:~/.jitapi) |
JITAPI_LOG_LEVEL | 否 | DEBUG、INFO、WARNING、ERROR(默认:INFO) |
开发
git clone https://github.com/nk3750/jitapi.git
cd jitapi
pip install -e ".[dev]"
pytest
ruff check src/
许可证
MIT
由 Neelabh Kumar 构建——AI 工程师与创造者。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。