MCP Vtenext

Community Marketing and sales

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
  1. mcp-vtenext
  2. Requirements
  3. Setup
  4. Read-only mode
  5. Claude Code integration
  6. Tools
  7. Authentication
  8. Tests
  9. License

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)
ToolDescription
list_opportunitaList opportunities with optional filters (status, search, limit)
get_opportunitaGet full details of an opportunity by ID
search_opportunitaSearch opportunities by name
create_opportunitaCreate a new opportunity (write, blocked in read-only mode)
update_opportunitaUpdate status, amount or notes on an existing opportunity (write, blocked in read-only mode)
Contatti (Contacts)
ToolDescription
search_contattiSearch contacts by name, email or company
Attività e note
ToolDescription
add_nota_opportunitaAdd a comment/note to an opportunity (write, blocked in read-only mode)
list_attivita_opportunitaList activities linked to an opportunity
Utilità
ToolDescription
describe_moduloShow available fields for any VTENext module
query_rawRun a raw VTQL SELECT query

Authentication

VTENext uses the vtiger WebService protocol:

  1. GET /webservice.php?operation=getchallenge → token
  2. MD5(token + accessKey) → hashed key
  3. POST /webservice.php with operation=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.