Ambivo MCP Server
OfficialClick on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Ambivo MCP Servershow me leads created this week with attribution_source google_ads"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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_queryendpointJWT 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 wantresponse_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
Option 1: Install from PyPI (Recommended)
pip install ambivo-mcp-serverOption 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.serverConfiguration
The server uses the following default configuration:
Base URL:
https://goferapi.ambivo.comTimeout: 30 seconds
Content Type:
application/json
You can modify these settings in the AmbivoAPIClient class if needed.
Authentication
First, set your authentication token using the
set_auth_tokentoolThe token will be included in all subsequent API requests as a Bearer token
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
Set Authentication:
{ "tool": "set_auth_token", "arguments": { "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." } }Natural Language Query:
{ "tool": "natural_query", "arguments": { "query": "Show me all leads created in the last 30 days with phone numbers", "response_format": "both" } }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:
Add new tools: Implement additional tools in the
handle_list_tools()andhandle_call_tool()functionsModify API client: Extend the
AmbivoAPIClientclass to support additional endpointsUpdate configuration: Modify default settings in the configuration section
Troubleshooting
Common Issues:
"Authentication required" error: Ensure you've called
set_auth_tokenfirstHTTP 401/403 errors: Verify your JWT token is valid and not expired
Connection timeout: Check network connectivity and API endpoint availability
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 toolsnatural_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.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Natural 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_format | No | Format of the response: 'table' for structured data, 'natural' for natural language description, 'both' for both formats | both |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | JWT Bearer token for authentication with Ambivo API |
TDQS
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.
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.
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.
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.
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.
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
The two tools have completely distinct purposes: one handles authentication setup, the other executes queries. No overlap or confusion possible.
Both tools use consistent snake_case naming, and each name clearly indicates its function ('set_auth_token' for authentication, 'natural_query' for querying).
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.
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
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
Query your org's data in natural language — read-only MCP access to SQL, NoSQL, files & warehouses.
Governed data discovery, exact queries, decisions, simulations, and runtime utilities over MCP.
Query, browse, and automate OmegaAI workspaces from any MCP client. Streamable HTTP with OAuth 2.0.
MCP server for searching Airweave collections with natural language queries.
Related MCP Servers
- AlicenseAqualityAmaintenanceProvides 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.124MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables CRUD operations and querying on Microsoft Dataverse through natural language.21MIT
- FlicenseNot gradedqualityDmaintenanceEnables natural-language querying of structured data via Model Context Protocol, allowing AI agents to answer questions without SQL or API knowledge.
- FlicenseAqualityBmaintenanceEnables 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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