move_pipeline_stageMove pipeline stage
writeProgress a CRM lead through pipeline: lead → discovery → proposal → negotiation → won → lost. Auto-stamps won_at / lost_at when transitioning to terminal stages.
Arguments
lead_id* | lead-id | Lead |
stage* | select | New stageone of: lead / discovery / proposal / negotiation / won / lost |
next_action | text | Next action (optional) |
Show JSON-RPC body
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "move_pipeline_stage",
"arguments": {
"lead_id": "<LEAD_ID>",
"stage": "lead"
}
}
}Show curl
curl -s -X POST https://manageagency.app/api/mcp \
-H "Authorization: Bearer $MA_TOKEN" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"move_pipeline_stage","arguments":{"lead_id":"<LEAD_ID>","stage":"lead"}}}'update_clientUpdate client
writeEdit a client's name, company, status, industry, or website. Omitted fields are left untouched. Use this to mark a client paused/churned/archived from an automation.
Arguments
client_id* | client-id | Client |
name | text | Display name |
company_name | text | Company name |
status | select | Statusone of: onboarding / active / paused / past |
industry | text | Industry |
website | text | Website |
Show JSON-RPC body
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "update_client",
"arguments": {
"client_id": "<CLIENT_ID>",
"status": "onboarding"
}
}
}Show curl
curl -s -X POST https://manageagency.app/api/mcp \
-H "Authorization: Bearer $MA_TOKEN" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"update_client","arguments":{"client_id":"<CLIENT_ID>","status":"onboarding"}}}'Remove a lead from the CRM. Refuses leads already converted to a client (delete or update the client first). Audits with name + final stage + reason so the audit trail remembers what was deleted.
Arguments
lead_id* | lead-id | Lead |
reason | text | Reason (optional) |
Show JSON-RPC body
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "delete_lead",
"arguments": {
"lead_id": "<LEAD_ID>"
}
}
}Show curl
curl -s -X POST https://manageagency.app/api/mcp \
-H "Authorization: Bearer $MA_TOKEN" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"delete_lead","arguments":{"lead_id":"<LEAD_ID>"}}}'convert_lead_to_clientConvert lead → client
writeSpin up a new client record from a won deal. Creates the client (status: onboarding), sets the lead's client_id, and marks the lead won. Defaults client name/company/email to the lead's own fields when omitted.
Arguments
lead_id* | lead-id | Lead |
client_name | text | Client display name (optional) |
company_name | text | Company (optional) |
primary_contact_email | text | Primary contact email (optional) |
Show JSON-RPC body
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "convert_lead_to_client",
"arguments": {
"lead_id": "<LEAD_ID>"
}
}
}Show curl
curl -s -X POST https://manageagency.app/api/mcp \
-H "Authorization: Bearer $MA_TOKEN" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"convert_lead_to_client","arguments":{"lead_id":"<LEAD_ID>"}}}'post_client_messagePost message in client portal
writePost an agency-side message in the client's general portal conversation. Creates the conversation if it doesn't exist yet. Triggers the client-message email with reply-to-thread routing.
Arguments
client_id* | client-id | Client |
content* | textarea | Max 8000 chars. |
title | text | Thread title (new threads only) |
Show JSON-RPC body
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "post_client_message",
"arguments": {
"client_id": "<CLIENT_ID>",
"content": "Quick update on the brand refresh…"
}
}
}Show curl
curl -s -X POST https://manageagency.app/api/mcp \
-H "Authorization: Bearer $MA_TOKEN" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"post_client_message","arguments":{"client_id":"<CLIENT_ID>","content":"Quick update on the brand refresh…"}}}'add_client_noteAdd client note
writeDrop a free-form note on a client's record. Shows up immediately on the client overview timeline. Use it to capture call summaries, research, intel, or anything an agent learns mid-workflow.
Arguments
client_id* | client-id | Client |
body* | textarea | Max 4000 characters. |
category | select | Optional — leave blank for an uncategorised note.one of: general / sales / delivery / risk / win / admin |
Show JSON-RPC body
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "add_client_note",
"arguments": {
"client_id": "<CLIENT_ID>",
"body": "What did you learn or want the team to see?",
"category": "general"
}
}
}Show curl
curl -s -X POST https://manageagency.app/api/mcp \
-H "Authorization: Bearer $MA_TOKEN" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"add_client_note","arguments":{"client_id":"<CLIENT_ID>","body":"What did you learn or want the team to see?","category":"general"}}}'