Skip to main content
Glama

Semantic API MCP Server

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

Install

pip install semanticapi-mcp

Or run directly with uvx:

uvx semanticapi-mcp

Related MCP server: ClawQL

Configuration

Get an API Key

Sign up at 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):

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

Or if installed with pip:

{
  "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

License

MIT

Available Tools

3 tools
semantic_discoverC

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

Args:
    provider_name: Name of the API provider (e.g. "stripe", "twilio", "github")
    user_intent: Optional description of what you want to do with this API
ParametersJSON Schema
NameRequiredDescriptionDefault
provider_nameYes
user_intentNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'deep discovery' but doesn't explain what that means operationally - whether it returns documentation, endpoints, examples, or other metadata. There's no information about authentication requirements, rate limits, error conditions, or what format the output takes. The description is too vague to adequately inform the agent about behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is reasonably concise with a clear two-part structure: a purpose statement followed by parameter explanations. The Args section is efficiently formatted. However, the opening sentence could be more front-loaded with specific information about what 'deep discovery' actually produces, and the description could benefit from more specific guidance about tool selection.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that there's an output schema (which means the description doesn't need to explain return values), the description is minimally adequate but has significant gaps. For a discovery tool with 2 parameters and no annotations, it should provide more context about what 'discovery' entails, how it differs from sibling tools, and what kind of information the agent can expect to learn about the provider/API. The current description leaves too much ambiguity about the tool's function and value.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides basic parameter information in the Args section, explaining that provider_name is the 'Name of the API provider' with examples, and user_intent is an 'Optional description of what you want to do with this API'. However, with 0% schema description coverage, this minimal information doesn't fully compensate for the lack of schema documentation. The description adds some value but doesn't provide detailed semantics about parameter formats, constraints, or usage patterns.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool performs 'deep discovery of a specific provider/API by name and intent', which provides a general purpose. However, it's vague about what 'deep discovery' entails and doesn't clearly differentiate from sibling tools like semantic_discover_url or semantic_query. The description mentions the verb 'discover' and resource 'provider/API' but lacks specificity about what discovery actually yields.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus the sibling tools semantic_discover_url or semantic_query. The description mentions 'by name and intent' but doesn't explain when this approach is preferred over alternatives or what scenarios warrant its use. There are no explicit when/when-not statements or comparisons to other tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

semantic_discover_urlB

Analyze any API from its documentation URL. Generates a full provider config.

Args:
    url: URL of the API documentation to analyze
    user_intent: Optional description of what you want to do with this API
ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
user_intentNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions that the tool 'analyzes' and 'generates a full provider config,' which implies a read-only or processing operation, but it doesn't disclose critical traits like whether it requires authentication, has rate limits, what 'analyze' entails (e.g., web scraping, parsing), or potential side effects. For a tool with no annotations, this leaves significant gaps in understanding its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded: it starts with the core purpose in a concise sentence, followed by a brief explanation of the parameters. Every sentence adds value without redundancy, and the structure is clear and efficient, making it easy for an agent to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (analyzing APIs and generating configs), the description is moderately complete. It covers the purpose and parameters well, and since an output schema exists, it doesn't need to explain return values. However, with no annotations and behavioral gaps (e.g., missing details on analysis process or error handling), it falls short of being fully comprehensive for safe and effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaningful semantics beyond the input schema, which has 0% description coverage. It explains that 'url' is for 'URL of the API documentation to analyze' and 'user_intent' is an 'Optional description of what you want to do with this API,' providing clear context for both parameters. This compensates well for the lack of schema descriptions, though it could be more detailed (e.g., format examples).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Analyze any API from its documentation URL. Generates a full provider config.' It specifies the verb ('analyze'), resource ('API'), and outcome ('generates a full provider config'), which is clear and specific. However, it doesn't explicitly differentiate from sibling tools like 'semantic_discover' or 'semantic_query', so it doesn't reach the highest score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It lacks any mention of sibling tools or contextual cues for selection. The only implied usage is from the purpose statement, but there are no explicit when/when-not instructions or prerequisites, leaving the agent with minimal direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

semantic_queryA

Search for an API capability using natural language.

Returns endpoint details, parameters, auth info, and code snippets.

Args:
    query: Natural language description of what you want to do (e.g. "send an email with Gmail")
    auto_discover: Whether to automatically discover new APIs if no cached result exists
ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
auto_discoverNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions that the tool returns endpoint details, parameters, auth info, and code snippets, which adds some context about output. However, it lacks critical behavioral traits such as whether this is a read-only operation, potential rate limits, error handling, or any side effects. For a search tool with no annotations, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and front-loaded, starting with the core purpose, followed by return details, and then parameter explanations. Every sentence earns its place by adding value, with no redundant or unnecessary information. It's appropriately sized for a tool with two parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (2 parameters, no annotations, but with an output schema), the description is fairly complete. It covers the purpose, return values, and parameter semantics. Since an output schema exists, it doesn't need to detail return values further. However, it could improve by addressing behavioral aspects like error cases or performance expectations to be fully comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, so the description must compensate. It provides clear semantics for both parameters: 'query' is described as a natural language description with an example, and 'auto_discover' is explained as controlling automatic discovery of new APIs. This adds meaningful context beyond the bare schema, though it could include more details like format constraints or implications of the boolean setting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Search for an API capability using natural language.' It specifies the verb 'search' and resource 'API capability,' making it easy to understand what the tool does. However, it doesn't explicitly differentiate from its siblings (semantic_discover, semantic_discover_url), which keeps it from a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by stating it searches for API capabilities using natural language, but it doesn't provide explicit guidance on when to use this tool versus its siblings. There's no mention of alternatives or specific contexts where this tool is preferred, leaving the agent to infer usage from the purpose alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.3/5.0
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
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

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/peter-j-thompson/semanticapi-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server