Vtiger MCP by usefulapi

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

我该使用它吗

质量与安全性

A
描述质量
100%
模式完整度
89%
命名质量
80%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~2,664token 数(工具定义)
~1.4 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 2.08%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

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

远程端点

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

它能做什么

工具清单

工具(13)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢vtiger_get_me

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

输入模式

{
  "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.

输入模式

{
  "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>.

输入模式

{
  "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.

输入模式

{
  "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(*).

输入模式

{
  "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.

输入模式

{
  "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>.

输入模式

{
  "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.

输入模式

{
  "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>.

输入模式

{
  "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>.

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

{
  "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.

输入模式

{
  "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"
}

社区

评价此服务器

证据

最近观测

已验证未记录版本13 个工具