Vtiger MCP by usefulapi

Search, read, create and update Vtiger CRM leads, contacts, deals, cases and more; tag records.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
89%
Calidad de los nombres
80%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,664Tokens (definiciones de herramientas)
~1.4 KBTamaño de respuesta típico
Impacto significativo en la atención (2.08% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "vtiger": {
      "url": "https://vtiger.usefulapi.io/mcp"
    }
  }
}

Puntos de conexión remotos

https://vtiger.usefulapi.io/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (13)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢vtiger_get_me

The Vtiger user the credentials belong to (id, user name, name, email). GET /me.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢vtiger_list_modules

The CRM modules this user can access (Leads, Contacts, Accounts, Potentials, Cases, ...) with label and whether each holds records. GET /listtypes.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢vtiger_describe_module(module)

A module's fields (name, label, type, mandatory, editable, reference targets, picklist values) and whether it can be created, updated or deleted. Read this before creating or filtering. GET /describe?elementType=<module>.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "module": {
      "type": "string",
      "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$",
      "description": "Module name, for example Contacts, Accounts, Leads, Potentials (deals), Cases, Calendar (tasks and events). Names come from vtiger_list_modules."
    }
  },
  "required": [
    "module"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢vtiger_list_records(module, fields, filters, order_by, descending, ...)

Records of one module, optionally filtered (all filters AND-ed), sorted and paged. Builds a SELECT for GET /query. The vendor returns at most 100 records per call; pass next_offset as offset for the next page. Name the fields you need: a full record has 100+ fields.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "module": {
      "type": "string",
      "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$",
      "description": "Module name, for example Contacts, Accounts, Leads, Potentials (deals), Cases, Calendar (tasks and events). Names come from vtiger_list_modules."
    },
    "fields": {
      "description": "Fields to return (default all). Example: [\"id\",\"firstname\",\"lastname\",\"email\"].",
      "maxItems": 60,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
      }
    },
    "filters": {
      "description": "Conditions combined with AND. Example: [{field:'leadstatus',op:'=',value:'Hot'},{field:'lastname',op:'like',value:'Sm%'}].",
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string",
            "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
          },
          "op": {
            "type": "string",
            "enum": [
              "=",
              "!=",
              "<",
              ">",
              "<=",
              ">=",
              "like"
            ],
            "description": "=, !=, <, >, <=, >= or like (use % as a wildcard)."
          },
          "value": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              }
            ]
          }
        },
        "required": [
          "field",
          "op",
          "value"
        ]
      }
    },
    "order_by": {
      "description": "Field to sort by (default id).",
      "type": "string",
      "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
    },
    "descending": {
      "description": "Sort descending (default false).",
      "type": "boolean"
    },
    "limit": {
      "description": "Records per page, 1-100 (default 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "description": "Records to skip (default 0). Use next_offset from the previous reply.",
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000
    }
  },
  "required": [
    "module"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢vtiger_count_records(module, filters)

How many records of a module match the filters (same filters as vtiger_list_records). GET /query with count(*).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "module": {
      "type": "string",
      "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$",
      "description": "Module name, for example Contacts, Accounts, Leads, Potentials (deals), Cases, Calendar (tasks and events). Names come from vtiger_list_modules."
    },
    "filters": {
      "description": "Conditions combined with AND.",
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string",
            "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
          },
          "op": {
            "type": "string",
            "enum": [
              "=",
              "!=",
              "<",
              ">",
              "<=",
              ">=",
              "like"
            ]
          },
          "value": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              }
            ]
          }
        },
        "required": [
          "field",
          "op",
          "value"
        ]
      }
    }
  },
  "required": [
    "module"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢vtiger_query(query)

Run your own read-only query: SELECT <fields|*|count(*)> FROM <Module> [WHERE ...] [ORDER BY ...] [LIMIT offset,count]. One module only, no joins, no grouping brackets; at most 100 records per call. Only SELECT is accepted. GET /query.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 8,
      "maxLength": 2000,
      "description": "Example: select id,firstname,lastname from Contacts where mailingcity = 'Boston' or mailingcity = 'Austin' order by createdtime desc limit 0,25"
    }
  },
  "required": [
    "query"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢vtiger_get_record(id)

One record with all its fields, by id (for example 4x2063). GET /retrieve?id=<id>.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[0-9]{1,6}x[0-9]{1,18}$",
      "description": "Record id of the form <moduleTypeId>x<recordId>, for example 4x2063."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢vtiger_lookup(type, value, modules)

Find records in one or more modules by an exact email address or phone number. GET /lookup.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "email",
        "phone"
      ],
      "description": "What the value is."
    },
    "value": {
      "type": "string",
      "minLength": 3,
      "maxLength": 200,
      "description": "The email address or phone number."
    },
    "modules": {
      "description": "Modules to search (default Contacts, Leads, Accounts).",
      "minItems": 1,
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$",
        "description": "Module name, for example Contacts, Accounts, Leads, Potentials (deals), Cases, Calendar (tasks and events). Names come from vtiger_list_modules."
      }
    }
  },
  "required": [
    "type",
    "value"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢vtiger_list_related_modules(module)

The modules a module can be related to (for example Accounts relate to Contacts, Potentials, Cases, Documents). GET /relatedtypes?elementType=<module>.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "module": {
      "type": "string",
      "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$",
      "description": "Module name, for example Contacts, Accounts, Leads, Potentials (deals), Cases, Calendar (tasks and events). Names come from vtiger_list_modules."
    }
  },
  "required": [
    "module"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢vtiger_get_tags(id)

The tags on one record. GET /tags_retrieve?id=<id>.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[0-9]{1,6}x[0-9]{1,18}$",
      "description": "Record id of the form <moduleTypeId>x<recordId>, for example 4x2063."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡vtiger_create_record(module, fields)

WRITE: create one record in a module (a lead, contact, account, deal, case, ...). Send every mandatory field (vtiger_describe_module lists them; assigned_user_id is usually mandatory, use the id from vtiger_get_me). Returns the new record. POST /create. Not retried.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "module": {
      "type": "string",
      "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$",
      "description": "Module name, for example Contacts, Accounts, Leads, Potentials (deals), Cases, Calendar (tasks and events). Names come from vtiger_list_modules."
    },
    "fields": {
      "type": "object",
      "propertyNames": {
        "type": "string",
        "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
      },
      "additionalProperties": {
        "anyOf": [
          {
            "type": "string",
            "maxLength": 20000
          },
          {
            "type": "number"
          },
          {
            "type": "boolean"
          },
          {
            "type": "null"
          }
        ]
      },
      "description": "Field values keyed by field name (see vtiger_describe_module). Reference fields take a record id like 3x12; picklists take the exact value."
    }
  },
  "required": [
    "module",
    "fields"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴vtiger_update_record(id, fields)

WRITE: change only the named fields of an existing record (the vendor's revise call; other fields stay as they are). Returns the updated record. POST /revise. Not retried.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[0-9]{1,6}x[0-9]{1,18}$",
      "description": "Record id of the form <moduleTypeId>x<recordId>, for example 4x2063."
    },
    "fields": {
      "type": "object",
      "propertyNames": {
        "type": "string",
        "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
      },
      "additionalProperties": {
        "anyOf": [
          {
            "type": "string",
            "maxLength": 20000
          },
          {
            "type": "number"
          },
          {
            "type": "boolean"
          },
          {
            "type": "null"
          }
        ]
      },
      "description": "Field values keyed by field name (see vtiger_describe_module). Reference fields take a record id like 3x12; picklists take the exact value."
    }
  },
  "required": [
    "id",
    "fields"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡vtiger_add_tags(id, tags)

WRITE: add tags to one record (existing tags stay). POST /tags_add. Not retried.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[0-9]{1,6}x[0-9]{1,18}$",
      "description": "Record id of the form <moduleTypeId>x<recordId>, for example 4x2063."
    },
    "tags": {
      "minItems": 1,
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 50
      },
      "description": "Tag names to add."
    }
  },
  "required": [
    "id",
    "tags"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada13 herramientas