Skip to content
All articles
Setup

Connect an AI agent (Claude) via MCP

Connect an AI agent, such as Claude, to your CRM through the native MCP server. The agent reads and creates records (leads, contacts, opportunities) securely, using your API key.

MCP (Model Context Protocol) is the standard that lets an AI agent talk to external systems. Sellio ships a native MCP server: point the agent (for example Claude, running in Claude Desktop or any MCP client) at the server URL and it can query and create records in your CRM. This is ideal for a prospecting agent that creates leads and contacts automatically. Everything runs in the context of the API key’s tenant and honors the CRM’s validations and permissions (RBAC).

Prerequisites

  • An MCP client (Claude Desktop, or any app/agent that speaks MCP over HTTP).
  • In Sellio, administrator access to generate the API key under Settings → API & developers.

1) Generate an API key

  1. Open Settings → API & developers (also reachable via the sidebar shortcut).
  2. Create a new API key and copy the value (it starts with sk_ and is shown only once, so treat it like a password).
  3. The same key works for both the REST API and MCP.

2) Point the agent at the MCP server

The MCP server URL is https://YOUR-CRM/api/mcp and authentication is the same as REST: the Authorization: Bearer sk_... header.

In Claude Desktop (and clients using the mcp-remote bridge), add this to your MCP servers config file:

Example: { "mcpServers": { "sellio-crm": { "command": "npx", "args": ["-y", "mcp-remote", "https://YOUR-CRM/api/mcp", "--header", "Authorization: Bearer sk_live_..."] } } }
💡 Clients that already support remote HTTP MCP servers directly can use the URL above with the Authorization: Bearer header, without the mcp-remote bridge.

3) Tools the agent gets

  • list_objects: discovers the available objects (leads, contacts, companies, opportunities and custom objects).
  • describe_object: discovers an object's fields: apiName, label, type, whether it is required, the options accepted by a select, and the target object of a lookup. Call it before creating or updating.
  • list_records: lists and searches records of an object (search, field filters, ordering, pagination).
  • get_record: fetches a record by id.
  • create_record: creates a record (for example a new prospecting lead).
  • update_record: updates fields of an existing record.
  • delete_record: moves a record to the trash (reversible). Only works when the API key has the delete scope enabled, which is off by default.
  • bulk_create_records: creates up to 500 records in one call, with success or failure reported per item.
  • bulk_update_records: updates up to 500 records by id in one call, with success or failure reported per item.
  • export_records: returns an object's records as flat tabular rows with stable columns, with updated_since and created_since for incremental sync. Made for BI and automation tools.
  • list_activities: lists a record's activities (its timeline) or the workspace's most recent ones.
  • create_activity: logs a task to do, or a call, email, meeting or note that already happened.
  • update_activity: completes, reopens, reschedules, reassigns or records the outcome of an activity.
  • delete_activity: deletes an activity. Requires the delete scope.
  • list_attachments: lists the files attached to a record.
  • get_attachment: returns an attachment's metadata and a signed download link that expires in 5 minutes.
  • create_attachment_upload_url: step 1 of an upload: returns a signed URL where the file bytes are sent with PUT (25 MB max).
  • register_attachment: step 2 of an upload: registers the uploaded file on the record so it appears in the timeline.
  • delete_attachment: deletes an attachment and its file. Irreversible, so it requires the delete scope.
  • list_inventory: stock balance, reserved and available quantity per product, one product, or only products below the minimum.
  • list_line_items: product lines of an opportunity (quantity, price, discount, tax) and the recalculated total.
  • add_line_item: adds a product line to an opportunity. Totals and the opportunity amount are recalculated with the same engine the screen uses.
  • update_line_item: changes quantity, price, discount, tax, term or description of a product line.
  • delete_line_item: removes a product line from an opportunity.
  • send_marketing_email: sends one marketing email (to, subject, html) through the configured provider, with the unsubscribe footer added automatically.
💡 Recommended agent flow: list_objects → describe_object (to learn the fields and what is required) → create_record/update_record. You can also discover fields over REST: GET /api/v1/objects/{object}.
💡 Deleting is exposed but locked: delete_record, delete_activity and delete_attachment only work when the API key has the delete scope enabled, and it is off by default. Every other tool respects the key's read-only flag and its object scope, exactly like the REST API.

Full REST API and MCP reference (endpoints, parameters, error format, rate limit and field discovery): see the article "Developer reference: REST API and MCP", here in the Help Center.

How to test

  1. Connect the agent and ask something like "list my CRM objects", and it should call list_objects and return the list.
  2. Ask "create a lead named Ana Souza with email ana@acme.com", and the agent calls create_record and returns the new record id.
  3. Confirm in the CRM that the record shows up in the object’s list.

Troubleshooting

  • 401 Unauthorized: the API key is missing/wrong. Generate a new one under Settings → API & developers and reconfigure the agent with Authorization: Bearer sk_...
  • The agent can’t see the server: confirm the URL https://YOUR-CRM/api/mcp and, in Claude Desktop, that the mcpServers block is in the config file and the app was restarted.
  • An action was denied: MCP honors the CRM’s permissions (RBAC) and validations, and the error message explains why (required field, no permission, plan limit, etc.).
  • I only see my data: correct. Each API key is isolated to its owning tenant, so the agent never sees another company’s data.

Open this article inside the system

Read it and want to see it working?

The account is free and the whole manual is available inside the system, with an assistant that answers from this very content.

Create free account
Connect an AI agent (Claude) via MCP · Sellio