MiguelMartinezCV

Chatvolt MCP Server

Community MiguelMartinezCV
Updated

A Model Context Protocol server that wraps the Chatvolt API, providing tools to manage agents, datastores, and CRM workflows.

MCP Badge

Chatvolt MCP Server

A Model Context Protocol server that wraps the Chatvolt API, providing tools to manage agents, datastores, and CRM workflows.

This is a TypeScript-based MCP server that provides tools to interact with Chatvolt.

Installation

You can install and run this server using npx:

npx chatvolt-mcp

To use with Roo, add the following to your .roo/mcp.json file:

{
  "mcpServers": {
    "chatvolt-mcp": {
      "command": "npx",
      "args": [
        "chatvolt-mcp"
      ],
      "env": {
        "CHATVOLT_API_KEY": "{YOUR_TOKEN}"
      },
      "disabled": false,
      "alwaysAllow": [
        "get_agent"
      ]
    }
  }
}

Tools

Agent Tools
  • get_agent

    • Title: Get Agent
    • Description: Get a Chatvolt agent by its ID or handle
    • Parameters:
      • id (string): Agent ID or its handle (unique identifier preceded by '@', e.g., '@my-agent')
    • Read-only: true
  • create_agent

    • Title: Create Agent
    • Description: Create a new Chatvolt agent
    • Parameters:
      • name (string): The name of the agent.
      • description (string, optional): A description for the agent.
      • modelName (string): The model name for the agent (e.g., 'gpt-4').
      • systemPrompt (string, optional): The system prompt for the agent.
      • temperature (number, optional): Model temperature (min 0.0, max 1.0).
      • tools (array, optional): List of tools to be associated with the agent.
    • Read-only: false
  • list_agents

    • Title: List Agents
    • Description: List all Chatvolt agents
    • Parameters: None
    • Read-only: true
  • update_agent

    • Title: Update Agent
    • Description: Partially updates an existing agent based on the ID.
    • Parameters:
      • id (string): ID of the agent to be updated.
      • name (string, optional): New name for the agent.
      • description (string, optional): New description for the agent.
      • modelName (string, optional): New LLM model to be used by the agent.
      • temperature (number, optional): New model temperature (min 0.0, max 1.0).
      • systemPrompt (string, optional): New system prompt for the agent.
      • visibility (string, optional): New visibility for the agent ('public' or 'private').
      • handle (string, optional): New unique identifier (slug) for the agent.
      • interfaceConfig (object, optional): New chat interface settings for this agent.
      • configUrlExternal (object, optional): New external URL configurations.
      • configUrlInfosSystemExternal (object, optional): New external URL configurations of the system.
      • tools (array, optional): List of tools for the agent.
    • Read-only: false
  • delete_agent

    • Title: Delete Agent
    • Description: Permanently deletes a specific agent by its ID.
    • Parameters:
      • id (string): ID of the agent to be deleted.
    • Read-only: false
  • agent_query

    • Title: Query Agent
    • Description: Processes a query (Ask something) through the specified agent.
    • Parameters:
      • id (string): ID of the agent to be queried.
      • query (string): Text of the question or command to be sent to the agent.
      • conversationId (string, optional): ID of the existing conversation.
      • contactId (string, optional): ID of an existing contact in the system.
      • contact (object, optional): Contact details.
      • visitorId (string, optional): ID of the visitor/participant.
      • temperature (number, optional): Model temperature.
      • modelName (string, optional): Allows overriding the LLM model.
      • presencePenalty (number, optional): Presence penalty.
      • frequencyPenalty (number, optional): Frequency penalty.
      • topP (number, optional): Nucleus sampling.
      • filters (object, optional): Filters for the query.
      • systemPrompt (string, optional): Allows overriding the system prompt.
      • context (object, optional): Additional context data.
      • callbackURL (string, optional): Callback URL.
    • Read-only: true
  • enable_disable_agent_integration

    • Title: Enable/Disable Agent Integration
    • Description: Enable or disable an agent integration.
    • Parameters:
      • id (string): ID of the agent.
      • type (string): Type of the service provider ('whatsapp', 'telegram', 'zapi', 'instagram').
      • enabled (boolean): New webhook status.
    • Read-only: false
CRM Tools
  • list_crm_scenarios

    • Title: List CRM Scenarios
    • Description: List CRM Scenarios
    • Parameters:
      • agentId (string, optional): Filter scenarios by a specific Agent ID.
    • Read-only: true
  • create_crm_scenario

    • Title: Create CRM Scenario
    • Description: Create a new CRM Scenario
    • Parameters:
      • name (string): The name for the new CRM scenario.
      • description (string, optional): An optional description for the CRM scenario.
    • Read-only: false
  • update_crm_scenario

    • Title: Update CRM Scenario
    • Description: Update a CRM Scenario
    • Parameters:
      • id (string): The ID of the CRM scenario to update.
      • name (string): The new name for the CRM scenario.
      • description (string, optional): An optional new description for the CRM scenario.
    • Read-only: false
  • delete_crm_scenario

    • Title: Delete CRM Scenario
    • Description: Delete a CRM Scenario
    • Parameters:
      • id (string): The ID of the CRM scenario to delete.
    • Read-only: false
  • list_crm_steps

    • Title: List CRM Steps
    • Description: List CRM Steps for a given scenario
    • Parameters:
      • scenarioId (string): The ID of the CRM scenario to list steps for.
    • Read-only: true
  • create_crm_step

    • Title: Create CRM Step
    • Description: Create a new CRM Step
    • Parameters:
      • scenarioId (string): The ID of the CRM scenario to add the step to.
      • name (string): The name for the new CRM step.
      • description (string, optional): An optional description for the CRM step.
      • agentId (string, optional): Optional Agent ID to associate with this step.
      • trigger (string, optional): A trigger condition or keyword for this step.
      • prompt (string, optional): The main prompt or instruction for this step.
      • initialMessage (string, optional): An initial message to be sent when this step is activated.
      • autoNextStepId (string, optional): ID of the step to automatically transition to.
      • autoNextTime (integer, optional): Time in seconds to wait before auto-transitioning.
      • defaultStatus (string, optional): Default status for conversations at this step.
      • defaultPriority (string, optional): Default priority for conversations at this step.
      • assigneeLogicType (string, optional): Logic for assigning conversations at this step.
      • selectedMembershipIdsForAssignee (array, optional): List of membership IDs for assignee logic.
      • isRequired (boolean, optional): Indicates if this step is mandatory.
    • Read-only: false
  • update_crm_step

    • Title: Update CRM Step
    • Description: Update a CRM Step
    • Parameters:
      • id (string): The ID of the CRM step to update.
      • name (string): The new name for the CRM step.
      • description (string, optional): An optional new description for the CRM step.
      • agentId (string, optional): Optional Agent ID to associate with this step.
      • trigger (string, optional): A trigger condition or keyword for this step.
      • prompt (string, optional): The main prompt or instruction for this step.
      • initialMessage (string, optional): An initial message to be sent when this step is activated.
      • autoNextStepId (string, optional): ID of the step to automatically transition to.
      • autoNextTime (integer, optional): Time in seconds to wait before auto-transitioning.
      • defaultStatus (string, optional): Default status for conversations at this step.
      • defaultPriority (string, optional): Default priority for conversations at this step.
      • assigneeLogicType (string, optional): Logic for assigning conversations at this step.
      • selectedMembershipIdsForAssignee (array, optional): List of membership IDs for assignee logic.
      • isRequired (boolean, optional): Indicates if this step is mandatory.
    • Read-only: false
  • delete_crm_step

    • Title: Delete CRM Step
    • Description: Delete a CRM Step
    • Parameters:
      • id (string): The ID of the CRM step to delete.
    • Read-only: false
Datastore Tools
  • list_datastores

    • Title: List Datastores
    • Description: List all Chatvolt datastores
    • Parameters: None
    • Read-only: true
  • get_datastore

    • Title: Get Datastore
    • Description: Get a Chatvolt datastore by its ID
    • Parameters:
      • id (string): ID of the datastore to be retrieved.
      • search (string, optional): Term to search for datasources by name.
      • status (string, optional): Filter datasources by status.
      • type (string, optional): Filter datasources by type.
      • offset (integer, optional): Number of pages to skip for pagination.
      • limit (integer, optional): Maximum number of datasources to be returned per page.
      • groupId (string, optional): Filter datasources by a specific group ID.
    • Read-only: true
  • create_datastore

    • Title: Create Datastore
    • Description: Create a new Chatvolt datastore
    • Parameters:
      • name (string, optional): Datastore name.
      • description (string, optional): Datastore description.
      • type (string): Datastore type (e.g., 'qdrant').
      • isPublic (boolean, optional): Defines whether the datastore is public or private.
      • pluginName (string, optional): Short name for the OpenAI plugin.
      • pluginDescriptionForHumans (string, optional): Human-readable description for the OpenAI plugin.
    • Read-only: false
  • create_datasource

    • Title: Create Datasource
    • Description: Create a new Chatvolt datasource
    • Parameters:
      • datastoreId (string): The ID of the datastore to add the datasource to.
      • name (string): The name for the datasource, used as the filename.
      • text (string): The text content for the datasource.
    • Read-only: false

Configuration

This server requires a Chatvolt API key to be set as an environment variable.

export CHATVOLT_API_KEY="your_api_key_here"

Development

Install dependencies:

npm install

Build the server:

npm run build

For development with auto-rebuild:

npm run watch

Debugging

Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:

npm run inspector

The Inspector will provide a URL to access debugging tools in your browser.

MCP Server · Populars

MCP Server · New