ambivo-mcp-server


Nameambivo-mcp-server JSON
Version 1.0.6 PyPI version JSON
download
home_pagehttps://github.com/ambivo-corp/ambivo-mcp-server
SummaryMCP Server for Ambivo API endpoints - Natural language queries and direct entity data access
upload_time2025-08-01 22:17:52
maintainerNone
docs_urlNone
authorAmbivo Development Team
requires_python>=3.11
licenseMIT
keywords mcp server ambivo api natural language query entity data crm claude
VCS
bugtrack_url
requirements mcp httpx pyyaml
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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

## Tools

### 1. `set_auth_token`
Set the JWT Bearer token for authentication with the Ambivo API.

**Parameters:**
- `token` (string, required): JWT Bearer token

**Usage:**
```json
{
  "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:**
```json
{
  "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)
```bash
pip install ambivo-mcp-server
```

### Option 2: Install from Source
```bash
git clone https://github.com/ambivo-corp/ambivo-mcp-server.git
cd ambivo-mcp-server
pip install -e .
```

## Running the Server

```bash
# 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**:
   ```json
   {
     "tool": "set_auth_token",
     "arguments": {
       "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
     }
   }
   ```

2. **Natural Language Query**:
   ```json
   {
     "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**:
   ```json
   {
     "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.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/ambivo-corp/ambivo-mcp-server",
    "name": "ambivo-mcp-server",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": null,
    "keywords": "mcp, server, ambivo, api, natural, language, query, entity, data, crm, claude",
    "author": "Ambivo Development Team",
    "author_email": "Ambivo Development Team <dev@ambivo.com>",
    "download_url": "https://files.pythonhosted.org/packages/05/5f/7999542aa107e2381d64892eafe70cb6630c44363394a249cec7260ea108/ambivo_mcp_server-1.0.6.tar.gz",
    "platform": null,
    "description": "# Ambivo Claude MCP Server\n\nThis Claude MCP (Model Context Protocol) server provides access to Ambivo API endpoints for natural language querying of entity data with Claude AI.\n\n## Features\n\n- **Natural Language Queries**: Execute natural language queries against entity data using the `/entity/natural_query` endpoint\n- **JWT Authentication**: Secure access using Bearer token authentication\n- **Rate Limiting**: Built-in rate limiting to prevent API abuse\n- **Token Caching**: Efficient token validation with caching\n- **Error Handling**: Comprehensive error handling with detailed error messages\n- **Retry Logic**: Automatic retry with exponential backoff for failed requests\n\n## Tools\n\n### 1. `set_auth_token`\nSet the JWT Bearer token for authentication with the Ambivo API.\n\n**Parameters:**\n- `token` (string, required): JWT Bearer token\n\n**Usage:**\n```json\n{\n  \"token\": \"your-jwt-token-here\"\n}\n```\n\n### 2. `natural_query`\nExecute natural language queries against Ambivo entity data.\n\n**Parameters:**\n- `query` (string, required): Natural language query describing what data you want\n- `response_format` (string, optional): Response format - \"table\", \"natural\", or \"both\" (default: \"both\")\n\n**Example queries:**\n- \"Show me leads created this week\"\n- \"Find contacts with gmail addresses\"\n- \"List opportunities worth more than $10,000\"\n- \"Show me leads with attribution_source google_ads from the last 7 days\"\n\n**Usage:**\n```json\n{\n  \"query\": \"Show me leads created this week with attribution_source google_ads\",\n  \"response_format\": \"both\"\n}\n```\n\n\n## About\n\nThis 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.\n\n## Installation\n\n### Option 1: Install from PyPI (Recommended)\n```bash\npip install ambivo-mcp-server\n```\n\n### Option 2: Install from Source\n```bash\ngit clone https://github.com/ambivo-corp/ambivo-mcp-server.git\ncd ambivo-mcp-server\npip install -e .\n```\n\n## Running the Server\n\n```bash\n# If installed via pip\nambivo-mcp-server\n\n# Or using Python module\npython -m ambivo_mcp_server.server\n```\n\n## Configuration\n\nThe server uses the following default configuration:\n- **Base URL**: `https://goferapi.ambivo.com`\n- **Timeout**: 30 seconds\n- **Content Type**: `application/json`\n\nYou can modify these settings in the `AmbivoAPIClient` class if needed.\n\n## Authentication\n\n1. First, set your authentication token using the `set_auth_token` tool\n2. The token will be included in all subsequent API requests as a Bearer token\n3. The token should be a valid JWT token from your Ambivo API authentication\n\n## Error Handling\n\nThe server provides comprehensive error handling:\n- **Authentication errors**: Clear messages when token is missing or invalid\n- **HTTP errors**: Detailed HTTP status codes and response messages\n- **Validation errors**: Parameter validation with helpful error messages\n- **Network errors**: Timeout and connection error handling\n\n## API Endpoints\n\nThis MCP server interfaces with these Ambivo API endpoints:\n\n### `/entity/natural_query`\n- **Method**: POST\n- **Purpose**: Process natural language queries for entity data retrieval\n- **Authentication**: Required (JWT Bearer token)\n- **Content-Type**: application/json\n\n### `/entity/data`\n- **Method**: POST  \n- **Purpose**: Direct entity data access with structured parameters\n- **Authentication**: Required (JWT Bearer token)\n- **Content-Type**: application/json\n\n## Example Workflow\n\n1. **Set Authentication**:\n   ```json\n   {\n     \"tool\": \"set_auth_token\",\n     \"arguments\": {\n       \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\"\n     }\n   }\n   ```\n\n2. **Natural Language Query**:\n   ```json\n   {\n     \"tool\": \"natural_query\", \n     \"arguments\": {\n       \"query\": \"Show me all leads created in the last 30 days with phone numbers\",\n       \"response_format\": \"both\"\n     }\n   }\n   ```\n\n3. **Direct Entity Query**:\n   ```json\n   {\n     \"tool\": \"entity_data\",\n     \"arguments\": {\n       \"entity_type\": \"contact\",\n       \"filters\": {\"email\": {\"$regex\": \"@gmail.com$\"}},\n       \"limit\": 100,\n       \"sort\": {\"created_date\": -1}\n     }\n   }\n   ```\n\n## Development\n\nTo extend this MCP server:\n\n1. **Add new tools**: Implement additional tools in the `handle_list_tools()` and `handle_call_tool()` functions\n2. **Modify API client**: Extend the `AmbivoAPIClient` class to support additional endpoints\n3. **Update configuration**: Modify default settings in the configuration section\n\n## Troubleshooting\n\n**Common Issues:**\n\n1. **\"Authentication required\" error**: Ensure you've called `set_auth_token` first\n2. **HTTP 401/403 errors**: Verify your JWT token is valid and not expired\n3. **Connection timeout**: Check network connectivity and API endpoint availability\n4. **Invalid parameters**: Review the tool schemas for required and optional parameters\n\n**Logging:**\n\nThe server logs important events and errors. Check the console output for debugging information.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "MCP Server for Ambivo API endpoints - Natural language queries and direct entity data access",
    "version": "1.0.6",
    "project_urls": {
        "Bug Tracker": "https://github.com/ambivo-corp/ambivo-mcp-server/issues",
        "Documentation": "https://github.com/ambivo-corp/ambivo-mcp-server#readme",
        "Homepage": "https://github.com/ambivo-corp/ambivo-mcp-server",
        "Source Code": "https://github.com/ambivo-corp/ambivo-mcp-server"
    },
    "split_keywords": [
        "mcp",
        " server",
        " ambivo",
        " api",
        " natural",
        " language",
        " query",
        " entity",
        " data",
        " crm",
        " claude"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0f4152586ae885dd47fca9667cc2c735e119aee71fe6eea7ca14f2fe0654faa4",
                "md5": "29377a55ab3d74b6decb6394ee760e15",
                "sha256": "1b74d4b0a78c4cffc245e6e083ca092226f759773960a446c1dd647c4d76e617"
            },
            "downloads": -1,
            "filename": "ambivo_mcp_server-1.0.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "29377a55ab3d74b6decb6394ee760e15",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 14568,
            "upload_time": "2025-08-01T22:17:50",
            "upload_time_iso_8601": "2025-08-01T22:17:50.661000Z",
            "url": "https://files.pythonhosted.org/packages/0f/41/52586ae885dd47fca9667cc2c735e119aee71fe6eea7ca14f2fe0654faa4/ambivo_mcp_server-1.0.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "055f7999542aa107e2381d64892eafe70cb6630c44363394a249cec7260ea108",
                "md5": "25620a594637caf58acc8d5125bbf55e",
                "sha256": "c7968f9830cdcd065b681b849d3130f696ca1efdc54ebaba6cbd3fa91aab5aad"
            },
            "downloads": -1,
            "filename": "ambivo_mcp_server-1.0.6.tar.gz",
            "has_sig": false,
            "md5_digest": "25620a594637caf58acc8d5125bbf55e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 19122,
            "upload_time": "2025-08-01T22:17:52",
            "upload_time_iso_8601": "2025-08-01T22:17:52.975399Z",
            "url": "https://files.pythonhosted.org/packages/05/5f/7999542aa107e2381d64892eafe70cb6630c44363394a249cec7260ea108/ambivo_mcp_server-1.0.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-01 22:17:52",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ambivo-corp",
    "github_project": "ambivo-mcp-server",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "mcp",
            "specs": [
                [
                    ">=",
                    "1.0.0"
                ]
            ]
        },
        {
            "name": "httpx",
            "specs": [
                [
                    ">=",
                    "0.25.0"
                ]
            ]
        },
        {
            "name": "pyyaml",
            "specs": [
                [
                    ">=",
                    "6.0.0"
                ]
            ]
        }
    ],
    "lcname": "ambivo-mcp-server"
}
        
Elapsed time: 4.08752s