Skip to main content
Glama
README.md
# Semantic API MCP Server

<!-- mcp-name: io.github.peter-j-thompson/semanticapi -->

An [MCP (Model Context Protocol)](https://modelcontextprotocol.io) server that lets Claude, ChatGPT, and other LLM agents search and discover APIs using natural language via [Semantic API](https://semanticapi.dev). Ask for any API capability in plain English and get back endpoint details, parameters, auth info, and code snippets.

## Install

```bash
pip install semanticapi-mcp
```

Or run directly with uvx:

```bash
uvx semanticapi-mcp
```

## Configuration

### Get an API Key

Sign up at [semanticapi.dev](https://semanticapi.dev) to get your API key.

### Environment Variables

| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| `SEMANTIC_API_KEY` | Yes | — | Your Semantic API key |
| `SEMANTIC_API_URL` | No | `https://semanticapi.dev` | API base URL override |

### Claude Desktop

Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "semanticapi": {
      "command": "uvx",
      "args": ["semanticapi-mcp"],
      "env": {
        "SEMANTIC_API_KEY": "your-api-key-here"
      }
    }
  }
}
```

Or if installed with pip:

```json
{
  "mcpServers": {
    "semanticapi": {
      "command": "semanticapi-mcp",
      "env": {
        "SEMANTIC_API_KEY": "your-api-key-here"
      }
    }
  }
}
```

## Tools

### `semantic_query`

Search for an API capability using natural language.

**Inputs:**
- `query` (string, required) — What you want to do, e.g. "send an email with Gmail"
- `auto_discover` (boolean, optional, default: true) — Auto-discover new APIs if needed

**Example:** "Find me an API to convert currencies in real-time"

### `semantic_discover`

Deep discovery of a specific provider/API by name and intent.

**Inputs:**
- `provider_name` (string, required) — API provider name, e.g. "stripe", "twilio"
- `user_intent` (string, optional) — What you want to do with this API

**Example:** Discover Stripe's capabilities for "process a refund"

### `semantic_discover_url`

Analyze any API from its documentation URL.

**Inputs:**
- `url` (string, required) — URL of the API documentation
- `user_intent` (string, optional) — What you want to do with this API

**Example:** Analyze `https://docs.example.com/api` to generate a provider config

## Related

- **[Semantic API](https://semanticapi.dev)** — The hosted API service
- **[semanticapi-engine](https://github.com/peter-j-thompson/semanticapi-engine)** — Open source engine (AGPL-3.0)
- **[semantic-api-skill](https://github.com/peter-j-thompson/semantic-api-skill)** — Agent framework skill package
- **[CLI Tool](https://github.com/peter-j-thompson/semanticapi-cli)** — Command-line interface (`pip install semanticapi-cli`)

<!-- mcp-name: io.github.peter-j-thompson/semanticapi -->

## License

MIT

TDQS

B3.3/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: semantic_discover targets APIs by provider name, semantic_discover_url analyzes documentation URLs, and semantic_query searches via natural language. There is no overlap in functionality, making tool selection straightforward for an agent.

Naming Consistency5/5

All tool names follow a consistent 'semantic_' prefix pattern with descriptive suffixes (discover, discover_url, query). This uniformity enhances readability and predictability, adhering to a clear naming convention throughout.

Tool Count4/5

With 3 tools, the count is slightly low but reasonable for the server's purpose of API discovery and querying. It covers key operations (discovery by name, URL, and natural language), though additional tools for managing or testing discovered APIs could enhance completeness.

Completeness3/5

The tools provide good coverage for discovering and querying APIs, but there are notable gaps in lifecycle management. For example, there are no tools for saving, updating, or deleting discovered API configurations, which could limit agent workflows in a full API integration scenario.

Maintenance

ActivityInactive
ResponsivenessNo issues