Skip to main content
AgencyHandy’s MCP connection lets you talk to Claude or Cursor in plain language and have them run everyday work in your AgencyHandy workspace — without opening every screen yourself. You stay in control. Claude and Cursor only act with the workspace API key you generate, and they ask you to confirm when a name matches more than one person.

Two ways to connect

Both use the same workspace API key and give the agent the same tools.
You need a role that can open Workspace Config and manage API keys (typically SuperAdmin or Admin). For the local setup you also need Node.js 20+ on the machine where Claude Desktop or Cursor runs — the hosted server needs no install at all.

Requirements

Set up Claude or Cursor MCP

Use this when Claude Desktop or Cursor runs on your own computer. For an agent running in the cloud, skip ahead to Connect a cloud agent.
1

Open Workspace Config

In AgencyHandy, open Workspace Config (company settings), then go to the API Key tab.
2

Generate a workspace API key

Create a new workspace API key (or use one you already saved). Copy the key when it appears — AgencyHandy cannot show the full key again later. Keys are JWTs; placeholders like test-key are rejected.
3

Copy the MCP config

On the same API Key tab, use the Claude / Cursor MCP setup panel. Click Copy MCP config so the JSON includes your key and backend URL.
4

Paste into Cursor or Claude Desktop

Paste the config into:
  • Cursor: project or user .mcp.json
  • Claude Desktop: claude_desktop_config.json
Keep the npx -y agencyhandy-mcp@1 command and your API key as generated. The backend URL should be https (http is only allowed for localhost during local testing).
5

Restart and try a prompt

Fully quit and reopen Cursor or Claude Desktop. Then ask something simple, such as a Monday pulse or morning briefing for your workspace.
If Claude or Cursor cannot find the MCP server, confirm Node.js 20+ is installed and that you restarted the app after saving the config. If the server exits immediately, check stderr for invalid URL/key messages — expired or placeholder keys fail fast.

Connect a cloud agent (hosted server)

If your agent runs somewhere you cannot install a package — Cloudflare Workers, Vercel functions, n8n, or a hosted Claude or Cursor — point it at the MCP server we host for you:
There is nothing to install and no server to keep running. Authenticate every request with the same workspace API key as a bearer token. The workspace is read from the key, so each user connects with their own. Cursor, Claude Code, and any host that sends custom headers:
Claude Desktop cannot send custom headers, so bridge it with mcp-remote:
Claude Code from the command line:
The address is the root pathhttps://mcp.agencyhandy.com/, not /mcp. To check the server is reachable, open https://mcp.agencyhandy.com/health.
Building your own integration against the HTTP API instead? Send a User-Agent header with your requests. Some runtimes — including Cloudflare Workers’ fetch() — send none by default, and requests without one are rejected before they reach the API.

Example prompts

Ask like an owner: spot the risk → dig into the record → take the next action. Prefer full names or emails when assigning so the right person is selected.

Owner / money / pipeline

Delivery / assignment

CRM / custom fields / actions

Advanced context packs

Claude should prefer these context tools instead of calling many small lookups. They return a short summary, guidance, and related sources.

API builder context (for custom MCP tools)

If you build your own MCP tools against the AgencyHandy HTTP API (or Claude reads workspace resources), prefer the built-in resource ah://api-context (also inside ah://full-context). It documents path renames and easy mistakes for: Shipped in agencyhandy-mcp@1.7.2+. Assignment flow (tasks & tickets)
  1. Ask for context on the task or ticket (include the order/project when you know it).
  2. Claude reads assignment.assignmentCandidates and assignment.advice.
  3. It assigns with a real member id from that list (or resolves a name you gave — it will not invent ids).
Passing the order / project id makes assignee suggestions much stronger (order team + PM + how many open items they already own on that order).

Owner insights (workspace)

These tools scan recent lists and return heuristic owner dashboards (not a full data warehouse). Always drill into a real id from the result. Shipped in agencyhandy-mcp@1.7+ (current 1.7.2).

Lead and client custom fields (MCP)

Custom fields are workspace definitions under Workspace ConfigCustom Fields. Lead fields and client fields are separate lists. Typical flow
  1. List definitions (ah_custom_field_list with type lead or client) — copy the real _id.
  2. Fill values with ah_custom_field_set_values, or pass customFields when creating a lead/client.
  3. To change a value later, load the person with ah_member_custom_fields and prefer an existing filled-value id when one is returned.
Duplicate definitions
  • Within leads, names must be unique (case and spacing ignored). Creating Industry again returns Field already exists and does not add a second lead field.
  • Within clients, the same rule applies.
  • The same display name can exist once on leads and once on clients — different owners, different ids. Always pick the id for the owner you mean (lead vs client).
Never invent field ids. If a create is rejected as a duplicate, list fields and reuse the existing id.

When two people share a name

If two teammates are both named Sara, Claude will ask which one you mean. It does not invent IDs or guess silently. Always include a full name or email in the prompt when names might collide.

What works now vs not yet

MCP supports both reading your workspace and taking actions (create, assign, send, update) with your API key. Client chat replies are not exposed through MCP yet. Owner insights are sample-based heuristics — confirm before big decisions.
  • Generate keys and copy config in-app under Workspace ConfigAPI Key
  • Hosted server for cloud agents: https://mcp.agencyhandy.com/ (health check at /health)
  • Package: agencyhandy-mcp on npm — use npx -y agencyhandy-mcp@1 (latest 1.7.2)
  • Lead Custom Fields · Client Custom Fields