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.
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"
]
}
}
}
get_agent
id
(string): Agent ID or its handle (unique identifier preceded by '@', e.g., '@my-agent')create_agent
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.list_agents
update_agent
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.delete_agent
id
(string): ID of the agent to be deleted.agent_query
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.enable_disable_agent_integration
id
(string): ID of the agent.type
(string): Type of the service provider ('whatsapp', 'telegram', 'zapi', 'instagram').enabled
(boolean): New webhook status.list_crm_scenarios
agentId
(string, optional): Filter scenarios by a specific Agent ID.create_crm_scenario
name
(string): The name for the new CRM scenario.description
(string, optional): An optional description for the CRM scenario.update_crm_scenario
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.delete_crm_scenario
id
(string): The ID of the CRM scenario to delete.list_crm_steps
scenarioId
(string): The ID of the CRM scenario to list steps for.create_crm_step
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.update_crm_step
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.delete_crm_step
id
(string): The ID of the CRM step to delete.list_datastores
get_datastore
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.create_datastore
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.create_datasource
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.This server requires a Chatvolt API key to be set as an environment variable.
export CHATVOLT_API_KEY="your_api_key_here"
Install dependencies:
npm install
Build the server:
npm run build
For development with auto-rebuild:
npm run watch
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.
Seamless access to top MCP servers powering the future of AI integration.