jitapi
JitAPI
Направьте Claude на любой API. JitAPI автоматически определяет, какие эндпоинты вызывать и в каком порядке.
JitAPI — это MCP-сервер, который позволяет Claude взаимодействовать с любым API на основе его спецификации OpenAPI. Вместо того чтобы загружать сотни эндпоинтов в контекст, JitAPI использует семантический поиск и граф зависимостей, чтобы выводить только то, что нужно, — а затем Claude планирует и выполняет вызовы.
https://github.com/user-attachments/assets/53f72f89-a41a-4a9c-a688-ec876ea05fbd
Проблема
У Stripe более 300 эндпоинтов. У GitHub — более 800. Загрузка полной спецификации в контекст Claude расходует токены и приводит к галлюцинациям. Написание отдельного MCP-сервера для каждого используемого API не масштабируется.
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 и задавайте вопросы, охватывающие их все. 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, чтобы получить user_id для POST /orders»).
Выполнение — Claude получает схемы эндпоинтов и выполняет API-вызовы, передавая данные между шагами.
Инструменты MCP
Инструмент | Описание |
| Регистрация API по URL спецификации OpenAPI |
| Список всех зарегистрированных API и количество их эндпоинтов |
| Семантический поиск по эндпоинтам на естественном языке |
| Поиск релевантных эндпоинтов с разрешением зависимостей и полными схемами |
| Получение полной схемы для конкретного эндпоинта |
| Выполнение одного API-вызова с аутентификацией, параметрами пути, параметрами запроса и телом |
| Настройка аутентификации (API-ключ, bearer-токен, базовая аутентификация) |
| Удаление зарегистрированного API и всех его данных |
Настройка
Claude Code
Создайте .mcp.json в директории вашего проекта (или ~/.claude.json для глобального доступа):
{
"mcpServers": {
"jitapi": {
"command": "uvx",
"args": ["jitapi"]
}
}
}Claude Desktop
Добавьте в конфигурацию Claude Desktop:
ОС | Путь к конфигурации |
macOS |
|
Windows |
|
Linux |
|
{
"mcpServers": {
"jitapi": {
"command": "uvx",
"args": ["jitapi"]
}
}
}Провайдеры эмбеддингов
JitAPI работает «из коробки» с локальными эмбеддингами (fastembed) — API-ключи не нужны. Для повышения качества поиска в крупных API можно добавить облачного провайдера эмбеддингов:
Провайдер | Качество | Настройка |
Локальный (по умолчанию) | Хорошее | Ничего — работает сразу |
Voyage AI (рекомендуется) | Отличное |
|
OpenAI | Отличное |
|
Cohere | Очень хорошее |
|
Установите API-ключ в блоке env вашей конфигурации MCP:
{
"mcpServers": {
"jitapi": {
"command": "uvx",
"args": ["jitapi"],
"env": {
"VOYAGE_API_KEY": "your-key-here"
}
}
}
}Провайдер определяется автоматически на основе доступных переменных окружения. Приоритет: Voyage AI > OpenAI > Cohere > локальный.
Аутентификация
Настройте аутентификацию API после регистрации. Рекомендуемый подход использует переменные окружения, чтобы секреты никогда не записывались на диск:
{
"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 считывает секрет из окружения во время запроса — сохраняется только имя переменной окружения, но никогда не сами учетные данные.
Вы также можете передать учетные данные напрямую (они будут сохранены в ~/.jitapi/auth.json с правами доступа 0600):
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_header, api_key_query, basic.
Примечание по безопасности: При использовании
env_varучетные данные разрешаются во время выполнения и никогда не касаются файловой системы. При прямой передачеcredentialсекреты хранятся в виде обычного текста JSON в~/.jitapi/auth.json(права доступа к файлу0600, к директории0700). Для использования в продакшене отдавайте предпочтение подходу сenv_var.
Переменные окружения
Переменная | Обязательно | Описание |
| Нет | API-ключ Voyage AI (рекомендуемый облачный провайдер) |
| Нет | API-ключ OpenAI (альтернативный облачный провайдер) |
| Нет | API-ключ Cohere (альтернативный облачный провайдер) |
| Нет | Директория данных (по умолчанию: |
| Нет | DEBUG, INFO, WARNING, ERROR (по умолчанию: INFO) |
Разработка
git clone https://github.com/nk3750/jitapi.git
cd jitapi
pip install -e ".[dev]"
pytest
ruff check src/Лицензия
MIT
Latest Blog Posts
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/nk3750/jitapi'
If you have feedback or need assistance with the MCP directory API, please join our Discord server