chatvolt-mcp
MiguelMartinezCV/chatvolt-mcpUpdated about 16 hours ago00

RemoteLicense: GNU Affero General Public License v3.0Language: TypeScript

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.

Installation

Claude
Claude
Cursor
Cursor
Windsurf
Windsurf
Cline
Cline
Witsy
Witsy
Spin AI
Spin AI
Use the following variables when running the server locally:

MCPLink

Seamless access to top MCP servers powering the future of AI integration.

© 2025 MCPLink. All rights reserved.
discordgithubdiscord