# JitAPI MCP server

> Converts OpenAPI specifications into executable agent interfaces using semantic search and dependency graphs to automate API calls.

- Repository: https://github.com/nk3750/jitapi
- Page: https://hostedmcp.org/servers/nk3750/jitapi
- Transport: stdio
- Stars: 7
- License: MIT
- Latest version: 0.1.1

## Install

### Claude Code

```sh
claude mcp add --env OPENAI_API_KEY=<YOUR_OPENAI_API_KEY> jitapi -- uvx jitapi
```

### Cursor (`~/.cursor/mcp.json`)

```json
{
  "mcpServers": {
    "jitapi": {
      "command": "uvx",
      "args": [
        "jitapi"
      ],
      "env": {
        "OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>"
      }
    }
  }
}
```

### VS Code (`.vscode/mcp.json`)

```json
{
  "servers": {
    "jitapi": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "jitapi"
      ],
      "env": {
        "OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>"
      }
    }
  }
}
```

### Claude Desktop (`claude_desktop_config.json`)

```json
{
  "mcpServers": {
    "jitapi": {
      "command": "uvx",
      "args": [
        "jitapi"
      ],
      "env": {
        "OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>"
      }
    }
  }
}
```

### Codex (`~/.codex/config.toml`)

```toml
[mcp_servers.jitapi]
command = "uvx"
args = ["jitapi"]

[mcp_servers.jitapi.env]
OPENAI_API_KEY = "<YOUR_OPENAI_API_KEY>"
```

### Gemini CLI (`~/.gemini/settings.json`)

```json
{
  "mcpServers": {
    "jitapi": {
      "command": "uvx",
      "args": [
        "jitapi"
      ],
      "env": {
        "OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>"
      }
    }
  }
}
```

## Environment variables

| Name | Required | Secret | Description |
|---|---|---|---|
| `OPENAI_API_KEY` | yes | yes | OpenAI API key for embeddings and workflow planning |
| `GITHUB_TOKEN` | no | no |  |
| `OPENWEATHER_API_KEY` | no | no |  |
| `VOYAGE_API_KEY` | no | no |  |

## Tools (8)

- `register_api`
- `list_apis`
- `search_endpoints`
- `get_workflow`
- `get_endpoint_schema`
- `call_api`
- `set_api_auth`
- `delete_api`

## FAQ

### Do I need an API key for embeddings?

No, JitAPI uses local embeddings out of the box, so no API keys are required for basic functionality.

### How does JitAPI handle large API specifications?

Instead of loading the entire spec into context, it uses semantic search and a dependency graph to surface only the necessary endpoints.

### Can I use multiple APIs at once?

Yes, you can register multiple APIs and ask questions that span across them, allowing Claude to chain calls between different services.

### What authentication methods are supported?

It supports bearer tokens, custom API key headers, and API key query parameters.
