Skip to main content
The MeepaChat Claude connector is a hosted Model Context Protocol server that lets Claude.ai read, search, and send messages in your MeepaChat servers. Add it once as a custom connector, authorize with OAuth, and Claude can answer questions about your chat history, draft replies, react to messages, and pivot between servers without leaving the conversation. The connector runs at mcp.meepachat.ai and talks to the cloud-hosted MeepaChat at chat.meepachat.ai. Self-hosted instances can point Claude at their own deployment — see Self-hosting the connector.

Add the connector in Claude.ai

  1. Open Claude.ai and go to Settings → Connectors.
  2. Click Add custom connector and enter:
    • Name: MeepaChat
    • URL: https://mcp.meepachat.ai/mcp
  3. Click Connect. Claude.ai redirects you to MeepaChat to sign in.
  4. Pick the servers you want to expose and click Approve.
  5. You return to Claude.ai with the connector enabled.
The connector uses OAuth 2.1 with PKCE and Dynamic Client Registration (RFC 7591). No client secret leaves Claude.ai — the session token is scoped to the servers you approved.

What Claude can do

Out of the box, the connector exposes 14 tools across four groups.

Write

Server switching

switch_server changes which server is active for subsequent tool calls. All read and write tools also accept an optional serverId override, so Claude can compare channels across servers without switching.
Every write tool is annotated with destructiveHint: false — these create content but never delete or overwrite anything. Read tools carry readOnlyHint: true so Claude knows when a prompt is safe to execute without asking.

Permissions

When you authorize the connector, MeepaChat issues a token scoped to a single user and a chosen set of servers. Claude can only see what that user can see — private channels you aren’t in, DMs you aren’t part of, and servers you didn’t approve are invisible to the tools. The OAuth flow requests five scopes: Revoke access any time from Settings → Apps on your MeepaChat account or by removing the connector in Claude.ai.

How it works

The connector is an OAuth proxy: it acts as an authorization server to Claude.ai and as an OAuth client to MeepaChat.
  1. Claude.ai discovers the connector via /.well-known/oauth-authorization-server and registers itself via Dynamic Client Registration.
  2. The user is redirected to MeepaChat to sign in and select servers.
  3. MeepaChat redirects back with an auth code, which the connector exchanges for an upstream access token.
  4. The connector issues its own opaque session token to Claude.ai — this is what Claude uses for subsequent MCP calls.
  5. Tool calls are routed to MeepaChat’s REST API using the stored upstream token.
Session tokens expire after the upstream expires_in (capped at 30 days). Claude.ai renews automatically via the OAuth flow when a token expires.

Security

  • PKCE required. The connector is a public client — no client_secret is shared with Claude.ai. All auth flows must include a PKCE code_challenge (S256).
  • Token scope. Session tokens are bound to the user and the specific server IDs approved at install time. The switch_server tool rejects IDs that aren’t on the approved list.
  • Transport. All traffic uses HTTPS. The connector enforces CORS headers and rejects non-POST requests to /mcp.
  • No long-lived secrets in Claude. Claude stores only the opaque session token; the upstream MeepaChat access token never leaves the connector.
  • Session limits. The connector caps pending authorizations, auth codes, and live sessions to prevent resource exhaustion from a misbehaving client.

Self-hosting the connector

If you run MeepaChat on your own domain, you can stand up your own MCP connector so Claude.ai talks to your instance instead of chat.meepachat.ai. The connector source lives at connectors/claude in the MeepaChat monorepo and deploys to Cloudflare Workers.

1. Create an OAuth app

Go to Developer Portal → New App on your MeepaChat instance and create an app with the redirect URI set to https://<your-connector-domain>/oauth/callback. Copy the Client ID and Client Secret.

2. Configure and deploy

3. Add it to Claude.ai

Use https://mcp.example.com/mcp as the connector URL when adding it in Claude.ai.
You can also run the connector as a plain Node.js HTTP server — see the README in connectors/claude for non-Workers deployment options.

Troubleshooting

Your session expired or the upstream MeepaChat token was revoked. Remove the connector in Claude.ai and add it again to restart the OAuth flow.
Claude passed a serverId that wasn’t approved at install time. Re-authorize the connector and include the missing server in the approval screen, or let Claude default to the active server.
MeepaChat enforces channel-level permissions. If you can’t send to a channel in the UI, the connector can’t either. Check Channel Settings → Permissions.
Verify the OAuth app’s redirect URI matches PUBLIC_URL + /oauth/callback exactly, and that MEEPACHAT_CLIENT_ID / MEEPACHAT_CLIENT_SECRET are set as Wrangler secrets. Check the Worker logs with npx wrangler tail for the detailed error.