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 .envEdit .env:
VTENEXT_URL=http://your-vtenext-instance
VTENEXT_USERNAME=admin
VTENEXT_ACCESS_KEY=your_access_keyThe access key is in VTENext under Admin → Users → [user] → Access Key.
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 opportunities with optional filters (status, search, limit) |
| Get full details of an opportunity by ID |
| Search opportunities by name |
| Create a new opportunity |
| Update status, amount or notes on an existing opportunity |
Contatti (Contacts)
Tool | Description |
| Search contacts by name, email or company |
Attività e note
Tool | Description |
| Add a comment/note to an opportunity |
| List activities linked to an opportunity |
Utilità
Tool | Description |
| Show available fields for any VTENext module |
| Run a raw VTQL SELECT query |
Authentication
VTENext uses the vtiger WebService protocol:
GET /webservice.php?operation=getchallenge→ tokenMD5(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:integrationLicense
MIT