usefulapi

Twenty MCP server. Read people, companies, opportunities, notes and tasks; create and update records in Twenty CRM.

Claude

  1. Open Settings → Connectors → Add custom connector
  2. Paste this URL:
    https://twenty.usefulapi.io/mcp
  3. Authenticate with Twenty when prompted

Cursor · VS Code · Windsurf · Cline

Add to your MCP config, then reload & authorize:

{
  "mcpServers": {
    "twenty": {
      "url": "https://twenty.usefulapi.io/mcp"
    }
  }
}
live22 toolsFree 100 tool calls / monthPro $9/mo · $90/yr

Tools 22

ToolTypeWhat it does
twenty_list_metadata_objectsread
List metadata objects
List all objects (standard + custom) and their fields from the Twenty schema — use this to discover custom objects/fields and valid field names. Twenty REST: GET /rest/metadata/objects.
twenty_list_peopleread
List people
List/filter people (contacts). Supports cursor pagination, raw filter/order_by, and relation depth. Twenty REST: GET /rest/people.
twenty_get_personread
Get person
Get a single person (contact) by id. Twenty REST: GET /rest/people/{id}.
twenty_list_companiesread
List companies
List/filter companies. Supports cursor pagination, raw filter/order_by, and relation depth. Twenty REST: GET /rest/companies.
twenty_get_companyread
Get company
Get a single company by id. Twenty REST: GET /rest/companies/{id}.
twenty_list_opportunitiesread
List opportunities
List/filter opportunities (deals). Supports cursor pagination, raw filter/order_by, and relation depth. Twenty REST: GET /rest/opportunities.
twenty_get_opportunityread
Get opportunity
Get a single opportunity by id. Twenty REST: GET /rest/opportunities/{id}.
twenty_list_notesread
List notes
List/filter notes. Supports cursor pagination, raw filter/order_by, and relation depth. Twenty REST: GET /rest/notes.
twenty_get_noteread
Get note
Get a single note by id. Twenty REST: GET /rest/notes/{id}.
twenty_list_tasksread
List tasks
List/filter tasks. Supports cursor pagination, raw filter/order_by, and relation depth. Twenty REST: GET /rest/tasks.
twenty_get_taskread
Get task
Get a single task by id. Twenty REST: GET /rest/tasks/{id}.
twenty_create_personwrite
Create person
Create a new person (contact). All fields optional; firstName/lastName combine into name:{firstName,lastName}. Twenty REST: POST /rest/people.
twenty_update_personwrite
Update person
Update fields on an existing person. Only provided fields change. Twenty REST: PATCH /rest/people/{id}.
twenty_create_companywrite
Create company
Create a new company. `name` is required. Twenty REST: POST /rest/companies.
twenty_update_companywrite
Update company
Update fields on an existing company. Only provided fields change. Twenty REST: PATCH /rest/companies/{id}.
twenty_create_opportunitywrite
Create opportunity
Create a new opportunity (deal). `name` is required; amountMicros combines with currencyCode into amount:{amountMicros,currencyCode}. Twenty REST: POST /rest/opportunities.
twenty_update_opportunitywrite
Update opportunity
Update fields on an existing opportunity. Only provided fields change. Twenty REST: PATCH /rest/opportunities/{id}.
twenty_create_notewrite
Create note
Create a note. `title` is required; `body` holds the note content. (Attaching to records via noteTargets is out of scope.) Twenty REST: POST /rest/notes.
twenty_create_taskwrite
Create task
Create a task. `title` is required. Twenty REST: POST /rest/tasks.
twenty_update_taskwrite
Update task
Update fields on an existing task. Only provided fields change. Twenty REST: PATCH /rest/tasks/{id}.
twenty_usage_statusmeta
Usage status (free-tier meter)
Report the caller's current free-tier usage this month: calls used, monthly limit, remaining, and whether the cap is reached.
twenty_upgrademeta
Upgrade to Pro (unlimited)
Subscribe to Pro for unlimited tool calls, monthly ($9) or yearly ($90). Returns a Stripe Checkout link.

Pricing

PlanPriceLimit
Free$0100 tool calls / month
Pro$9/mo · $90/yrUnlimited

This is a Model Context Protocol endpoint — meant to be connected from an AI client, not opened in a browser. An invalid_token response at the URL is the auth gate working as designed; clients authenticate automatically.