Vtiger MCP by usefulapi

io.usefulapi/vtiger

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

Yes, your AI can use this right now.Answered a live MCP handshake in 1973 ms with no sign-in needed and exposes 13 tools.
Is this your server? Claim the listing. Verified adds a vendor-confirmed mark on this page and matching app pages.
Claim with Verified — $49/moWant it in front of people comparing CRM & Sales tools? Feature it — $149/mo

Connect it

Settings → Connectors → Add custom connector
URL: https://vtiger.usefulapi.io/mcp

13 tools, pulled live

Pulled straight from the server with tools/list on 2026-10-27.
vtiger_get_meread-only

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

vtiger_list_modulesread-only

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

vtiger_describe_moduleread-only

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

vtiger_list_recordsread-only

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.

vtiger_count_recordsread-only

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

vtiger_queryread-only

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.

vtiger_get_recordread-only

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

vtiger_lookupread-only

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

vtiger_list_related_modulesread-only

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

vtiger_get_tagsread-only

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

vtiger_create_record

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.

vtiger_update_recordcan modify

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.

vtiger_add_tags

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

Alternatives in CRM & Sales

Compare →
Try “Notion”, “Stripe”, “create invoice”, “browser”