Add AI chat, voice, calendar, and CRM to any project — from inside Cursor.
The @serviceagent/mcp server gives Cursor ~30 tools for ServiceAgent: provision a demo workspace in <1s, scaffold the chat / calendar / voice components, design and publish voice agents (full CRUD + Twilio numbers), wire webhooks, and claim the workspace into a permanent account without leaving the editor.
Add to Cursor
One click, one config — use the deep-link button or paste the JSON below into Cursor's MCP config.
cursor://anysphere.cursor-deeplink/mcp/install?name=serviceagent&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBzZXJ2aWNlYWdlbnQvbWNwIl0sImVudiI6eyJTRVJWSUNFQUdFTlRfTUNQX0NMSUVOVCI6ImN1cnNvci1tY3AifX0={
"mcpServers": {
"serviceagent": {
"command": "npx",
"args": ["-y", "@serviceagent/mcp"],
"env": {
"SERVICEAGENT_MCP_CLIENT": "cursor-mcp"
}
}
}
}Demo flow does not require SERVICEAGENT_API_KEY — drop the JSON in and start with create_project.
60-second first run
- Open Cursor's MCP panel and click "ServiceAgent" — Cursor lists all 30 tools once the server boots.
- Run create_project with your site name + framework. Returns widgetKey, embed snippets, and aninstallToken.
- Run add_widget (or add_calendar, add_voice_agent) to drop the embed code into the project.
- Run claim_workspace with your email. ServiceAgent emails a magic link, the tool polls until you click it, and returns a long-lived apiKey + an envFile blob you write straight to .env. No portal trip.
- You now have full access to voice agents, webhooks, and the CRM API. Continue with create_voice_agent, create_webhook, etc.
Tools available in Cursor
| Tool | Purpose |
|---|---|
| create_project | Provision a demo workspace; returns widget key + install token + embed snippets. |
| claim_workspace | One-step magic-link claim. Returns a long-lived apiKey for `.env`. |
| add_widget / add_calendar / add_voice_agent | Drop embed code into Next.js / React / Vite / Astro / Remix. |
| create_voice_agent / update_voice_agent_prompt / dry_run_voice_agent / publish_voice_agent | Full voice agent CRUD + dry-run + publish. |
| search_available_phone_numbers / provision_phone_number / assign_phone_number_to_agent | Twilio phone-number provisioning end-to-end. |
| configure_knowledge_base / magic_onboarding | Seed the KB from a URL or text; configure everything from a website URL. |
| create_webhook / list_webhooks | Manage webhook endpoints from the IDE. |
| get_docs | Search ServiceAgent docs by keyword; ranked deep links into the docs. |
Recommended prompts
Drop these into Cursor Composer or chat. The MCP picks up every tool reference automatically.
Quick chat + calendar setup
Add ServiceAgent to this Next.js app. Use the serviceagent MCP:
1. create_project (siteName: "My Store", framework: "nextjs")
2. add_widget — drop the React snippet on the home page.
3. claim_workspace (email: "me@company.com") — write SERVICEAGENT_API_KEY to .env.Voice agent with phone number
Provision a ServiceAgent voice agent. Use the serviceagent MCP:
1. claim_workspace if not already claimed.
2. create_voice_agent with prompt "You are a friendly support agent for an HVAC business".
3. search_available_phone_numbers (areaCode: 415).
4. provision_phone_number, then assign_phone_number_to_agent.
5. dry_run_voice_agent to test, then publish_voice_agent.Cursor rule
ServiceAgent ships an opinionated Cursor rule covering package selection, env-var conventions, the claim flow, and common pitfalls. Drop it into your project with one command:
npx @serviceagent/cli add rulesOr fetch the canonical version directly:
curl -fsSL https://process.serviceagent.ai/v1/install/assets/cursor-rules \
-o .cursor/rules/serviceagent.mdcEnvironment variables
| Variable | Required | Description |
|---|---|---|
| SERVICEAGENT_API_KEY | Optional | Long-lived API key minted by claim_workspace. Leave blank for the demo + claim flow. |
| SERVICEAGENT_TOKEN | Optional | JWT bearer for tools that require user-scoped auth. |
| SERVICEAGENT_API_URL | No | Defaults to https://process.serviceagent.ai. |
| SERVICEAGENT_MCP_CLIENT | No | Install attribution. Set to cursor-mcp in Cursor. |