mcpField
J
Jitapi

Jitapi

本地服务
github.com/nk3750开发工具719 周前更新

关于 Jitapi

JitAPI 是连接 Claude 与 OpenAPI 描述接口的 MCP 服务。它通过语义搜索和端点依赖关系来筛选并安排调用顺序,也支持跨多个 API 协作。

主要功能

  1. 01从 OpenAPI 规范注册 API
  2. 02用自然语言搜索端点
  3. 03解析端点前置依赖
  4. 04编排跨 API 调用
  5. 05配置 API 身份验证

适用场景

  1. 01按意图查找并调用 API 端点
  2. 02串联依赖前序结果的调用
  3. 03运行跨多个 API 的工作流

MCP 相关

提供 MCP 工具,用于注册 API、搜索端点、解析工作流、查看架构、配置身份验证及执行 API 调用。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"jitapi": {
"command": "uvx",
"args": [
"jitapi"
],
"env": {
"OPENAI_API_KEY": "<OPENAI_API_KEY>"
}
}
}
}
启动命令uvx jitapi
需要配置的环境变量
OPENAI_API_KEY密钥OpenAI API key for embeddings and workflow planning

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypijitapi0.1.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

JitAPI

PyPI PyPI Downloads License: MIT Python 3.10+

让 Claude 调用任意 API。JitAPI 会自动判断该调用哪些端点,以及调用顺序。

JitAPI 是一个 MCP 服务,可让 Claude 根据 OpenAPI 规范与任意 API 交互。JitAPI 不会将数百个端点全部塞进上下文,而是利用语义搜索和依赖关系图,只呈现所需内容,然后由 Claude 规划并执行调用。

https://github.com/user-attachments/assets/53f72f89-a41a-4a9c-a688-ec876ea05fbd

JitAPI v0.2.0


问题所在

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
  1. 注册 — 解析 OpenAPI 规范,构建依赖关系图(哪些端点需要从其他端点获取数据),并为所有端点创建可搜索的嵌入
  2. 搜索 — 收到问题后,JitAPI 会对查询进行嵌入,并通过余弦相似度找出最相关的端点
  3. 扩展 — 依赖关系图会添加所有前置端点(例如:“你需要先调用 GET /users,获取 POST /orders 所需的 user_id”)
  4. 执行 — 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 工程师与创造者。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。