---
title: "MCP Server"
source: https://sumgenius.ai/docs/mcp
generated: 2026-10-23
---

# MCP Server

Give Claude, ChatGPT, Cursor or any MCP client tools over your ChatGenius account: the inbox, contacts, appointments, flows, comment automation, Content Studio and knowledge base. Hosted at one URL with a Connect button, or as an npm package on your own machine.

Webhook & API Add-on · $29/month · Requires Creator+ plan

### What it is

The Model Context Protocol is the open standard AI assistants use to call outside tools. It is not tied to one vendor: Claude, ChatGPT, Cursor, Gemini CLI, Zed, Windsurf and most agent frameworks speak it. ChatGenius offers it two ways. **Hosted**: paste `https://sumgenius.ai/api/mcp` into your assistant, click Connect, approve it once in ChatGenius. That is the path for claude.ai, ChatGPT, phones, and anything that cannot run a local program. **Local**: the `chatgenius-mcp` npm package runs on your computer with an API key, for Claude Desktop, Claude Code, Cursor and the like. Both speak MCP to the assistant on one side and call the [REST API](https://sumgenius.ai/docs/rest-api) on the other, and every tool is exactly one API call.

Once it is installed you can ask things like "who messaged us on Instagram this week that we have not replied to", "book Maria for Thursday at 2pm and tell her", or "build a flow that answers *price* with our packages and collects an email", and the assistant does it with the same calls a developer would make.

**Package**

```
npx -y chatgenius-mcp
```

### Hosted: connect from any assistant

Add `https://sumgenius.ai/api/mcp` wherever your assistant takes an MCP server or a custom connector. It discovers our sign-in on its own, registers itself, and sends you to a ChatGenius page where you choose what it may do: `Read only`, or `Read and act` (send, book, build, publish). You must be the account owner, and the account needs the Webhook & API add-on.

One click

[Add to Cursor](https://sumgenius.ai/docs/cursor://anysphere.cursor-deeplink/mcp/install?name=chatgenius&config=eyJ1cmwiOiJodHRwczovL3N1bWdlbml1cy5haS9hcGkvbWNwIn0=)

[Add to VS Code](https://sumgenius.ai/docs/vscode:mcp/install?%7B%22name%22%3A%22chatgenius%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fsumgenius.ai%2Fapi%2Fmcp%22%7D)

Both hand the app the hosted server already filled in. You still sign in and choose what it may do.

That is OAuth 2.1 under the hood: authorization code with PKCE, public clients, one-hour access tokens with rotating 30-day refresh tokens, and no admin scope ever. We email the owner when an assistant is connected. Disconnect it any time in the portal under *Settings, AI assistants*, or from the assistant's side.

Where to paste it

- ClaudeSettings, Connectors, Add custom connector. Leave the detected defaults. Works on the web, desktop and phone.
- ChatGPTSettings, Connectors, Create, with developer mode switched on.
- CursorSettings, MCP, Add new server, type Streamable HTTP.
- Claude Code`claude mcp add --transport http chatgenius https://sumgenius.ai/api/mcp`

Building your own app? The discovery documents are at [/.well-known/oauth-authorization-server](https://sumgenius.ai/.well-known/oauth-authorization-server) and [/.well-known/oauth-protected-resource](https://sumgenius.ai/.well-known/oauth-protected-resource). Dynamic client registration and client ID metadata documents are both accepted. The OAuth section of [API authentication](https://sumgenius.ai/docs/api-authentication#oauth) has the details.

**Hosted server**

```
https://sumgenius.ai/api/mcp
```

**Claude Code, hosted**

```
claude mcp add --transport http chatgenius \
  https://sumgenius.ai/api/mcp
```

**Or with an API key, no sign-in**

```
Authorization: Bearer sgwh_your_api_key_here
```

### Local: install the package

For Claude Desktop, Cursor, Zed, Windsurf and other clients that run local servers. You need Node 18 or newer and an API key. Create the key in the portal under *Webhook & Send API*, Credentials, and give it the scope you want the assistant to have: `read` for a look-but-do-not-touch assistant, `write` for one that can send, book and build.

Then add the server to your client. Claude Desktop reads `claude_desktop_config.json`; Cursor, Zed and Windsurf take the same command, arguments and environment in their own MCP settings. Claude Code has a plugin: two commands, and it asks for your key.

Environment

- CHATGENIUS_API_KEYrequired Your API key. Its scope caps what the tools can do; the API enforces that on every call.
- CHATGENIUS_MAX_SCOPEoptional `read`, `write` or `admin`. Hides every tool above that scope, so the assistant never sees them.

**Claude Desktop**

```
{
  "mcpServers": {
    "chatgenius": {
      "command": "npx",
      "args": ["-y", "chatgenius-mcp"],
      "env": { "CHATGENIUS_API_KEY": "sgwh_your_api_key_here" }
    }
  }
}
```

**Claude Code**

```
claude plugin marketplace add SumCodeAI/chatgenius-claude-plugin
claude plugin install chatgenius@sumgenius
```

### The tools

105 tools in ten groups, each mapped to one endpoint of the REST API and carrying the same rules, limits and error codes. Read tools are safe to run freely. Write tools create or edit records. Destructive tools reach a real person, publish content or change what runs live; they are marked so your client asks you before running them.

| Group | Tools |
| --- | --- |
| Account | get_account, get_overview |
| Contacts | list_contacts, get_contact, upsert_contact, update_contact, list_tags, create_tag, tag_contact, untag_contact, delete_tag, list_custom_fields, create_custom_field, update_custom_field |
| Inbox | list_conversations, get_conversation, list_messages, update_conversation, send_message, assign_conversation, list_team_members, list_blocked_users, block_user, unblock_user, list_opt_outs |
| Appointments | list_appointments, get_availability, get_appointment, update_appointment, book_appointment, reschedule_appointment, cancel_appointment |
| Flows | list_flows, get_flow, get_flow_definition, get_flow_node_catalogue, validate_flow, create_flow, update_flow, publish_flow, activate_flow, pause_flow, duplicate_flow, discard_flow_draft, delete_flow, get_flow_analytics, list_flow_sessions, get_flow_session, list_flow_session_events, list_flow_events |
| Comments | list_comment_triggers, get_comment_trigger, simulate_comment, create_comment_trigger, update_comment_trigger, duplicate_comment_trigger, delete_comment_trigger, get_comment_trigger_stats, list_recent_posts, list_handled_comments, get_handled_comment, get_comment_manager_stats, approve_comment_reply, reject_comment_reply, bulk_approve_comment_replies, bulk_reject_comment_replies |
| Content Studio | list_posts, get_post, get_posting_capabilities, create_post, update_post, schedule_post, publish_post, unschedule_post, retry_post, delete_post |
| Market Intel | list_competitors, get_competitor, get_competitor_leaderboard, get_follower_history, get_wins_and_opportunities, get_audience_demographics, get_top_posts, get_account_insights, add_competitor, remove_competitor, refresh_market_intel |
| Knowledge base | list_faqs, create_faq, update_faq, list_services, list_knowledge_gaps, get_knowledge_usage, get_faq, delete_faq, get_service, create_service, update_service, delete_service, list_documents, get_document, update_document, delete_document |
| AI settings | get_ai_config, get_ai_channels |

Managing the team, webhook endpoints, API keys and media uploads, and switching the AI on or off, are not exposed: they need the admin scope, which an assistant never gets. Use the portal or the REST API for those.

> **Note**
>
> **Building a flow.** The assistant reads the node catalogue, writes a `{trigger, nodes, edges}` definition, runs `validate_flow` until the errors list is empty, saves a draft with `create_flow`, and publishes when you say so. Open the flow in the portal and it is laid out on the canvas, ready to edit by hand.

### Safety

- Scope is enforced twice The API checks the key's scope on every call. `CHATGENIUS_MAX_SCOPE` is a second, local cap that hides tools from the model altogether.
- No double sends Every write carries an `Idempotency-Key`, so a retried tool call cannot send a message or book a slot twice.
- Customer text is data Message and comment text in results was written by your customers. The server instructs the model to treat it as data, never as instructions. Keep destructive tools behind your client's approval prompt.
- Revoke any time Revoke the key in the portal and the server stops working on the next call.

**Source**

```
https://www.npmjs.com/package/chatgenius-mcp
```
