StudioMeyer-CRM
AI-native CRM as MCP Server.
What it can do
- Crm Company: Create, get, or update a company. Actions: "create" (new company), "get" (full profile with contacts, deals, revenue — lookup by id/name/supportCode), "update" (change fields by id). "Zei
- Crm List Companies: List all companies with filtering by stage, tag, source, health score. Sort by health, name, or recent activity.
- Crm Contact: Add or update a contact person. Actions: "add" (new contact to company), "update" (change existing by id). Mark as primary/decision maker.
What data it sees
Do you need an account
No: the server works without sign-in
AI-native CRM as MCP Server. 33 tools for contacts, pipeline, leads, follow-ups, health scores, revenue analytics, Stripe sync. Magic Link auth, EU hosted Frankfurt. Free tier.
How to connect
How to connect StudioMeyer-CRM to Claude
The server address to paste into Claude settings:
https://studiomeyer-crm--cod-gb2l.run.tools
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect StudioMeyer-CRM to ChatGPT
The server address to paste into ChatGPT settings:
https://studiomeyer-crm--cod-gb2l.run.tools
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect StudioMeyer-CRM to Cursor
The server address to paste into Cursor settings:
https://studiomeyer-crm--cod-gb2l.run.tools
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (33)
Raw names from tools/list. Only developers need these.
| crm_company | Create, get, or update a company. Actions: "create" (new company), "get" (full profile with contacts, deals, revenue — lookup by id/name/supportCode), "update" (change fields by id). "Zeig mir Firma X" → action: get. |
| crm_list_companies | List all companies with filtering by stage, tag, source, health score. Sort by health, name, or recent activity. |
| crm_contact | Add or update a contact person. Actions: "add" (new contact to company), "update" (change existing by id). Mark as primary/decision maker. |
| crm_contact_delete | Delete a contact person by ID. This is a hard delete — the contact will be permanently removed. |
| crm_list_contacts | List contacts with optional filters: by company, search term, decision makers only. Supports pagination. |
| crm_deal | Create or update a deal/opportunity. Actions: "create" (new deal for company), "update" (change stage/value/etc. by id). Probability auto-sets by stage: lead(10%) → qualified(25%) → proposal(50%) → negotiation(75%) → won(100%). |
| crm_get_pipeline | Pipeline overview: deals by stage with values, forecasts, MRR/ARR. "Pipeline?" → use this. |
| crm_list_deals | List deals with filtering by stage, company, assignee, value range. Sort by value, stage, updated, or created. |
| crm_log_interaction | Log a communication (call, email, meeting, etc.). Auto-updates lastInteractionAt on company. |
| crm_get_timeline | Full timeline of a company: interactions and notes merged chronologically. |
| crm_add_note | Quick note on a company or deal. Author defaults to CRM_DEFAULT_AUTHOR env var or "admin". |
| crm_list_notes | List notes with filtering by company, deal, or author. Supports pagination. |
| crm_sync_stripe | Sync revenue from Stripe subscriptions to CRM. Matches by email. |
| crm_revenue_report | Revenue analytics: MRR, ARR, growth, breakdown by company and product. "Revenue?" → use this. |
| crm_search | Full-text search across all CRM entities: companies, contacts, deals, interactions, notes, leads. Includes tags, productKeys. German stemming + umlaut-folding + fuzzy. "Suche X im CRM" → use this. |
| crm_health_scores | Calculate health scores (0-100) for all companies based on activity, revenue, deals, contacts. |
| crm_dashboard | Full CRM dashboard: pipeline, MRR/ARR, health, activity, alerts. "Dashboard" or "CRM Status" → use this. Call this FIRST every session for the live overview. ⚠ If response includes isFirstTimeUser:true or onboardingHint, you MUST call crm_guide and offer the auto-load setup before responding to the user — they are a brand-new CRM user and need onboarding plus hook-setup explained proactively. |
| crm_stats | Aggregate CRM statistics: total contacts, deals by stage, pipeline value, leads by status/temperature, follow-up counts, interaction metrics. "CRM Statistiken" or "Zahlen" → use this. |
| server_status | Check CRM server health, configuration, and capabilities. Call this first on new sessions. |
| crm_lead | Ingest, list, update, or convert leads. Actions: "ingest" (new lead from any source, auto-dedup), "list" (filter by status/source), "update" (change lead fields — requires leadId/id), "convert" (lead → company + contact + optional deal). "Neue Leads?" → action: list. |
| crm_follow_up | Create, list, or complete follow-ups. Actions: "create" (schedule reminder), "list" (show open/overdue), "complete" (mark done). "Was steht an?" → action: list. "Erinnere mich" → action: create. |
| crm_import | Bulk import contacts from JSON array or CSV string. Auto-creates companies. Supports dedup by email/phone/name and dry-run mode. CSV auto-maps common DE+EN headers (Name, Email, Firma, etc.). |
| crm_export | Export CRM entities as JSON or CSV. Supports contacts, companies, deals, leads. "Export alle Deals als CSV" → use this. |
| crm_company_delete | Hard-delete a company and ALL related data (contacts, deals, notes, interactions, follow-ups). Irreversible! |
| crm_deal_delete | Delete a deal. |
| crm_note_delete | Delete a note. |
| crm_follow_up_delete | Delete a follow-up. |
| crm_lead_delete | Delete a lead. Cannot delete converted leads. |
| crm_interaction_delete | Delete an interaction (email, call, meeting log). Use for fixing mistakenly-logged interactions. Irreversible but recorded in the audit log with a full snapshot. |
| crm_handoff | CRM-scoped async task queue between Claude Code and Cowork — DB-backed, tenant-isolated, part of the CRM audit log. Use for tasks that belong to a customer or business context (e.g. "prepare proposal for MVC", "chase Stripe webhook on Deal X"). For free-form developer-to-developer messaging unrelated to CRM data, use the Nex Memory bridge (nex_learn with tag "for-claude-code") instead — that is separate and not persisted here. Actions: "list" (pending tasks), "read" (mark as read), "complete" (mark done), "create" (new task). "Was hat Claude Code fuer mich?" → action: list. |
| crm_audit_log | View audit trail: who changed what, when. Filter by entity, entityId, action. Use `relatedCompanyId` to see the complete audit history for a company (includes entries logged against its deals, interactions, notes, follow-ups, and contacts — joins across tables automatically). "Wer hat was geaendert?" → use this. "Zeig mir die ganze Historie von Firma X" → relatedCompanyId. |
| crm_guide | Interactive help and onboarding. Topics: quickstart, company, contacts, pipeline, leads, search, import, analytics, daily, followups, resources, tips. Call without topic to see all available topics. |
| crm_connect | Securely configure API keys (Stripe, SMTP, Telegram, Webhooks) via browser form. Keys are encrypted (AES-256-GCM) and NEVER pass through this chat. Actions: "connect" (get browser link), "status" (show configured keys), "disconnect" (remove a key). |