Skip to main content
Glama

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)

Related MCP server: nimble-crm-mcp

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:

  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.

Available Tools

10 tools
add_nota_opportunitaC

Aggiunge una nota/commento a un'opportunità

Inputs: opportunita_id (required), testo (required).

create_opportunitaC

Crea una nuova opportunità in VTENext

Inputs: nome (required), stato, importo, data_chiusura, +1 more.

describe_moduloC

Mostra i campi disponibili per un modulo VTENext

Inputs: modulo (required).

get_opportunitaC

Recupera i dettagli completi di un'opportunità tramite ID

Inputs: id (required).

list_attivita_opportunitaC

Elenca le attività associate a un'opportunità

Inputs: opportunita_id (required), limit.

list_opportunitaC

Elenca le opportunità con filtri opzionali

Inputs: limit, stato, search.

query_rawC

Esegue una query VTQL grezza su VTENext (solo lettura)

Inputs: query (required).

search_contattiC

Cerca contatti per nome, email o azienda

Inputs: q (required), limit.

search_opportunitaC

Cerca opportunità per nome

Inputs: q (required), limit.

update_opportunitaC

Aggiorna i dati di un'opportunità esistente

Inputs: id (required), stato, importo, descrizione.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 10 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose with no ambiguity. For example, list_opportunita retrieves multiple records with filters, get_opportunita fetches a single record by ID, and search_opportunita finds records by name. The tools target different resources (opportunità, contatti, modulo) and actions (create, update, list, search, describe, query).

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern in snake_case. Verbs like add, create, describe, get, list, query, search, and update are used predictably with corresponding nouns (e.g., add_nota_opportunita, create_opportunita, describe_modulo). There are no deviations in naming conventions.

    Tool Count5/5

    With 10 tools, the count is well-scoped for managing opportunities and related data in VTENext. Each tool serves a clear purpose, such as CRUD operations for opportunities, searching contacts, listing activities, and raw queries. No tool feels redundant or unnecessary for the server's domain.

    Completeness5/5

    The tool set provides complete coverage for the VTENext opportunity management domain. It includes full CRUD (create, get, update, list/search) for opportunities, plus related operations like adding notes, listing activities, searching contacts, describing modules, and raw queries. There are no obvious gaps, and agents can handle typical workflows without dead ends.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      Not graded
      maintenance
      Enables users to manage CRM leads, opportunities, projects, tasks, and sales records within ERPNext directly through MCP-compatible clients. It supports global searches, timesheet entries, and access to dashboard KPIs using natural language.
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      MCP server for the Nimble CRM API, enabling management of contacts, deals, notes, tasks, and tags through natural language.
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      MCP server for vtiger CRM that enables AI agents to log timesheets and create/update records in any module via natural language.
      33 npm
      1
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      MCP server that connects to a sales CRM database, enabling AI agents to search prospects, view pipeline status, manage follow-ups, and update records using natural language commands.
      5
      82 npm
      ISC