AI agents and the MCP server
SmartContact runs a remote Model Context Protocol server, so the AI assistant you already use can work in your CRM, with guardrails you can see.
Connect
Server URL (Streamable HTTP):
https://app.smartcontact.online/mcp - Sign in (OAuth): add the URL as a custom connector in Claude or any MCP client that supports OAuth. You sign in with your SmartContact account, and the agent acts as you.
- Agent API key: or give the agent its own key from Settings › API keys (type AI agent, read only or read & write), sent as
Authorization: Bearer ….
Safety rules
- An agent has the permissions of the person (or key role) it acts for, never more.
- Agents can't delete records, bulk-change records, export data, create API keys or change settings, whatever the role.
- Every change an agent makes is labelled (for example "Claude for Sarah Mitchell") on the record's timeline and in the audit log.
- Read-only agent keys can only read.
Tools (19)
| Tool | What it does | Access |
|---|---|---|
searchSearch CRM | Find companies and contacts by name, email, domain or account number. Use this first to get record ids. | Read |
get_recordGet record | Get one company or contact by id. For a company, its contacts are included. | Read |
list_recordsList records | List companies or contacts, newest first, 50 at most per page. Companies can be filtered to leads or accounts and to the signed-in user ("mine"). | Read |
get_timelineGet timeline | Notes, calls, tasks and changes on a company or contact, newest first. A company timeline includes its contacts. | Read |
add_noteAdd note | Add a note to a company or contact timeline. It is shown as written by you on behalf of the user. To notify a teammate, mention them as @[Their Name](user:<user id>) (ids from the workspace members). | Write |
log_callLog call | Record a phone call outcome on a company or contact. | Write |
create_taskCreate task | Create a task (call-back) for the signed-in user, optionally on a company or contact. due_at is ISO 8601 with offset. | Write |
complete_taskComplete task | Mark a task as done. | Write |
create_companyCreate company | Create a company (a lead). Search first to avoid duplicates. | Write |
create_contactCreate contact | Create a contact, optionally at a company. Provide at least a name or email. | Write |
update_recordUpdate record | Change fields on a company or contact. Only the fields given are changed. Cannot delete records. | Write |
move_stageMove pipeline stage | Move a company to a pipeline stage by stage name (e.g. "Qualified", "Account"). | Write |
pipeline_summaryPipeline summary | How many companies are at each pipeline stage. | Read |
list_campaignsList marketing campaigns | Marketing campaigns with spend, leads, deals and won value so far. Standard plan. | Read |
run_reportRun a custom report | Count or total CRM records grouped by up to two fields, e.g. deals by stage, companies created by month and owner, or total deal value by campaign. Pass report_id to run a saved report, or a definition. Call with {"list_fields": true} first to see the objects, group-by fields (date fields take :week, :month, :quarter or :year), measures and saved reports. Standard plan. | Read |
marketing_roiMarketing ROI | Spend, leads, cost per lead, pipeline, revenue won, CAC, ROI and ROAS by campaign, lead source or channel for a period. Attribution: first (campaign that brought the lead in, default), last (latest campaign touched before the deal) or linear (shared). Standard plan. | Read |
create_campaignCreate marketing campaign | Create a marketing campaign. utm_campaign links web form leads from pages with ?utm_campaign=<code>. | Write |
add_campaign_spendAdd campaign spend | Record what a campaign cost, one line per day. Re-sending a line with the same external_ref replaces it. | Write |
log_touchpointsLog campaign touchpoints | Record that people interacted with a campaign (clicked an ad or email, attended an event...). Identify each person by contact_id or email, or a company by company_id. Unknown people are skipped and reported. | Write |