Skip to main content
Glama
ambivo-corp

Ambivo MCP Server

Official
by ambivo-corp

Ambivo Claude MCP Server

This Claude MCP (Model Context Protocol) server provides access to Ambivo API endpoints for natural language querying of entity data with Claude AI.

Features

  • Natural Language Queries: Execute natural language queries against entity data using the /entity/natural_query endpoint

  • JWT Authentication: Secure access using Bearer token authentication

  • Rate Limiting: Built-in rate limiting to prevent API abuse

  • Token Caching: Efficient token validation with caching

  • Error Handling: Comprehensive error handling with detailed error messages

  • Retry Logic: Automatic retry with exponential backoff for failed requests

Related MCP server: Dataverse MCP Server

Tools

1. set_auth_token

Set the JWT Bearer token for authentication with the Ambivo API.

Parameters:

  • token (string, required): JWT Bearer token

Usage:

{
  "token": "your-jwt-token-here"
}

2. natural_query

Execute natural language queries against Ambivo entity data.

Parameters:

  • query (string, required): Natural language query describing what data you want

  • response_format (string, optional): Response format - "table", "natural", or "both" (default: "both")

Example queries:

  • "Show me leads created this week"

  • "Find contacts with gmail addresses"

  • "List opportunities worth more than $10,000"

  • "Show me leads with attribution_source google_ads from the last 7 days"

Usage:

{
  "query": "Show me leads created this week with attribution_source google_ads",
  "response_format": "both"
}

About

This is a pure Claude-based MCP server implementation for the Ambivo API, designed to work seamlessly with Claude Desktop and other Claude-compatible MCP clients. It enables natural language interaction with your Ambivo CRM data through Claude's powerful language understanding capabilities.

Installation

pip install ambivo-mcp-server

Option 2: Install from Source

git clone https://github.com/ambivo-corp/ambivo-mcp-server.git
cd ambivo-mcp-server
pip install -e .

Running the Server

# If installed via pip
ambivo-mcp-server

# Or using Python module
python -m ambivo_mcp_server.server

Configuration

The server uses the following default configuration:

  • Base URL: https://goferapi.ambivo.com

  • Timeout: 30 seconds

  • Content Type: application/json

You can modify these settings in the AmbivoAPIClient class if needed.

Authentication

  1. First, set your authentication token using the set_auth_token tool

  2. The token will be included in all subsequent API requests as a Bearer token

  3. The token should be a valid JWT token from your Ambivo API authentication

Error Handling

The server provides comprehensive error handling:

  • Authentication errors: Clear messages when token is missing or invalid

  • HTTP errors: Detailed HTTP status codes and response messages

  • Validation errors: Parameter validation with helpful error messages

  • Network errors: Timeout and connection error handling

API Endpoints

This MCP server interfaces with these Ambivo API endpoints:

/entity/natural_query

  • Method: POST

  • Purpose: Process natural language queries for entity data retrieval

  • Authentication: Required (JWT Bearer token)

  • Content-Type: application/json

/entity/data

  • Method: POST

  • Purpose: Direct entity data access with structured parameters

  • Authentication: Required (JWT Bearer token)

  • Content-Type: application/json

Example Workflow

  1. Set Authentication:

    {
      "tool": "set_auth_token",
      "arguments": {
        "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
      }
    }
  2. Natural Language Query:

    {
      "tool": "natural_query", 
      "arguments": {
        "query": "Show me all leads created in the last 30 days with phone numbers",
        "response_format": "both"
      }
    }
  3. Direct Entity Query:

    {
      "tool": "entity_data",
      "arguments": {
        "entity_type": "contact",
        "filters": {"email": {"$regex": "@gmail.com$"}},
        "limit": 100,
        "sort": {"created_date": -1}
      }
    }

Development

To extend this MCP server:

  1. Add new tools: Implement additional tools in the handle_list_tools() and handle_call_tool() functions

  2. Modify API client: Extend the AmbivoAPIClient class to support additional endpoints

  3. Update configuration: Modify default settings in the configuration section

Troubleshooting

Common Issues:

  1. "Authentication required" error: Ensure you've called set_auth_token first

  2. HTTP 401/403 errors: Verify your JWT token is valid and not expired

  3. Connection timeout: Check network connectivity and API endpoint availability

  4. Invalid parameters: Review the tool schemas for required and optional parameters

Logging:

The server logs important events and errors. Check the console output for debugging information.

Available Tools

2 tools
natural_queryA

Execute natural language queries against Ambivo entity data. This tool processes natural language queries and returns structured data about leads, contacts, opportunities, and other entities.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesNatural language query describing what data you want to retrieve. Examples: 'Show me leads created this week', 'Find contacts with gmail addresses', 'List opportunities worth more than $10,000'
response_formatNoFormat of the response: 'table' for structured data, 'natural' for natural language description, 'both' for both formatsboth

TDQS

A3.6/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 full burden. It only states it processes queries and returns structured data, but does not disclose side effects, idempotency, rate limits, or behavior for ambiguous queries. This is insufficient for a tool that accepts free-form natural language.

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 two sentences with no filler. It efficiently conveys the tool's purpose and parameter usage. Every sentence adds value.

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 simple input schema (2 params) and no output schema, the description is fairly complete. It explains what the tool does and the parameters. However, it could mention the return format (e.g., JSON) or potential limitations, making it slightly incomplete.

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?

Schema description coverage is 100% and includes examples. The description adds some context (e.g., listing entity types) but largely overlaps with the schema's parameter descriptions. Baseline 3 is appropriate as the description does not significantly enhance understanding beyond the schema.

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

Purpose5/5

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

The description clearly states the tool executes natural language queries against Ambivo entity data, specifying supported entities like leads, contacts, opportunities. It is specific and distinguishes from the sibling tool 'set_auth_token' which handles authentication.

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 (for querying entity data) but does not provide explicit guidance on when to use versus alternatives, nor does it mention when not to use it. Since there is only one sibling (auth token), the context is limited but could benefit from clarification.

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

set_auth_tokenA

Set the authentication token for API requests. This must be called before using other tools to authenticate with the Ambivo API.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesJWT Bearer token for authentication with Ambivo API

TDQS

A3.8/5.0
Behavior2/5

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

No annotations exist, so the description carries full burden. It only says 'Set' with no details on whether the token overwrites, persists, or if there are validation checks. This is minimal disclosure for a mutation tool.

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?

Two sentences, each serving a purpose: action and usage context. No extraneous wording, efficient and direct.

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 a simple tool with one parameter and no output schema, the description adequately covers the prerequisite nature and basic action. It could mention error behavior or state persistence, but overall it's sufficient.

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?

Schema coverage is 100% and the description mirrors the schema's description of 'JWT Bearer token'. It adds no new meaning beyond what the schema already provides, so baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'Set' and the resource 'authentication token for API requests', and specifies it must be called before other tools, distinguishing it from the sibling tool 'natural_query'.

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

Usage Guidelines4/5

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

It explicitly states that this tool must be called before using other tools for authentication, providing clear context. No alternatives or exclusions are mentioned, but the prerequisite advice is strong enough for a 4.

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

TDQS

A3.6/5.0
Disambiguation5/5

The two tools have completely distinct purposes: one handles authentication setup, the other executes queries. No overlap or confusion possible.

Naming Consistency5/5

Both tools use consistent snake_case naming, and each name clearly indicates its function ('set_auth_token' for authentication, 'natural_query' for querying).

Tool Count2/5

Only 2 tools for a domain that involves multiple entities (leads, contacts, opportunities). This is insufficient to cover typical operations, though the natural_query tool may encapsulate many actions.

Completeness1/5

The server claims to handle leads, contacts, and opportunities, but provides no CRUD tools or entity-specific operations. A single query tool is severely incomplete for data management tasks.

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

  • A
    license
    A
    quality
    A
    maintenance
    Provides advanced analytical, research, and natural language processing capabilities through a Model Context Protocol server, enabling dataset analysis, decision analysis, and enhanced NLP features like entity recognition and fact extraction.
    12
    4
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables CRUD operations and querying on Microsoft Dataverse through natural language.
    21
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables natural-language querying of structured data via Model Context Protocol, allowing AI agents to answer questions without SQL or API knowledge.
  • F
    license
    A
    quality
    B
    maintenance
    Enables interaction with Appian applications through the Model Context Protocol, allowing querying and managing records, executing processes, and querying reports via natural language.
    4

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/ambivo-corp/ambivo-mcp-server'

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