MCP Vtenext
Query, create and update opportunities and contacts in VTENext, an open-source vtiger-based CRM, via its WebService API.
Install
The installation steps are in the documentation below. Documentation
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
mcp-vtenext
MCP server for VTENext CRM: exposes the WebService API as tools for Claude and other MCP-compatible clients.
Requirements
- Node.js 18+
- A running VTENext instance (self-hosted or Docker, see ../docker)
Setup
cd mcp/vtenext/server
npm install
cp .env.example .env
Edit .env:
VTENEXT_URL=http://your-vtenext-instance
VTENEXT_USERNAME=admin
VTENEXT_ACCESS_KEY=your_access_key
READ_ONLY=false
The access key is in VTENext under Admin → Users → [user] → Access Key.
Read-only mode
Set READ_ONLY=true to prevent any write operation on VTENext. When enabled, the tools create_opportunita, update_opportunita and add_nota_opportunita return an error instead of writing data.
This is useful when the server is used by AI bots or automated agents that should only read CRM data. To run a read-only instance alongside a full-access one, pass the variable via the MCP config:
{
"mcpServers": {
"vtenext-bot": {
"type": "stdio",
"command": "node",
"args": ["/absolute/path/to/mcp/vtenext/server/index.js"],
"env": {
"VTENEXT_URL": "http://your-vtenext-instance",
"VTENEXT_USERNAME": "admin",
"VTENEXT_ACCESS_KEY": "your_access_key",
"READ_ONLY": "true"
}
}
}
}
Claude Code integration
Add to .mcp.json in your project root:
{
"mcpServers": {
"vtenext": {
"type": "stdio",
"command": "node",
"args": ["/absolute/path/to/mcp/vtenext/server/index.js"]
}
}
}
Tools
Opportunità (Potentials)
| Tool | Description |
|---|---|
list_opportunita | List opportunities with optional filters (status, search, limit) |
get_opportunita | Get full details of an opportunity by ID |
search_opportunita | Search opportunities by name |
create_opportunita | Create a new opportunity (write, blocked in read-only mode) |
update_opportunita | Update status, amount or notes on an existing opportunity (write, blocked in read-only mode) |
Contatti (Contacts)
| Tool | Description |
|---|---|
search_contatti | Search contacts by name, email or company |
Attività e note
| Tool | Description |
|---|---|
add_nota_opportunita | Add a comment/note to an opportunity (write, blocked in read-only mode) |
list_attivita_opportunita | List activities linked to an opportunity |
Utilità
| Tool | Description |
|---|---|
describe_modulo | Show available fields for any VTENext module |
query_raw | Run a raw VTQL SELECT query |
Authentication
VTENext uses the vtiger WebService protocol:
GET /webservice.php?operation=getchallenge→ token- MD5(token + accessKey) → hashed key
POST /webservice.phpwithoperation=login(form-encoded) → sessionName
Sessions are cached for 4 minutes (token lifetime is 5 minutes).
Tests
# Unit tests (no VTENext required)
npm test
# Integration tests (requires live VTENext at VTENEXT_URL)
npm run test:integration
License
MIT
Maintained by **Castaldo Solutions**, enterprise-grade technology built for SMEs.
Why we built an MCP server for a CRM instead of an integration: Connecting VTENext to Claude with MCP.
Frequently asked questions
What is MCP Vtenext?
Query, create and update opportunities and contacts in VTENext, an open-source vtiger-based CRM, via its WebService API.
How do I install MCP Vtenext?
Follow the installation steps in its documentation, shown on this page and in its repository.
Is MCP Vtenext open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains MCP Vtenext?
It is published by Castaldo-Solutions. AI.tn lists it but does not maintain or endorse it.
From the community awesome-mcp-servers lists and the project's GitHub repository. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.