Studiomeyer Crm
About
AI-native CRM as MCP Server — 33 tools for contact management, pipeline, leads, follow-ups, health scores, revenue analytics, CSV import/export. The only production-ready standalone MCP CRM. Free tier. OAuth 2.1. Hosted at crm.studiomeyer.io
Details
- Transport
- SSE
- License
- MIT
Explore
- OAuth 2.1 with PKCE S256 (RFC 8414, 7591, 9728, 7009)
- Database: Supabase EU (Frankfurt, Germany), SOC 2 Type II
- GDPR / DSGVO: EU data residency + Art. 15 access export and Art. 17 erasure as first-class tools
- Zero-Knowledge Credentials: AES-256-GCM encryption, browser-based entry
- Input Validation: Zod schemas on all 37 tools
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Studiomeyer CrmCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
The README includes setup instructions such as npx mcp-remote https://crm.studiomeyer.io/mcp.
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"…
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).
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"studiomeyer crm": {
"studiomeyer-crm": {
"command": "npx",
"args": [
"mcp-remote",
"https://crm.studiomeyer.io/mcp"
]
}
}
}
}
McpServers
{
"studiomeyer-crm": {
"command": "npx",
"args": [
"mcp-remote",
"https://crm.studiomeyer.io/mcp"
]
}
}
AI-native CRM as MCP Server. 37 tools, 3 resources, 3 prompts, and an interactive in-chat dashboard. No separate dashboard to log into — your AI is the interface.
---
A note from us
We have been building tools and systems for ourselves for the past two years. The fact that this repo is small and has few stars is not because it is new. It is because we only just decided to share what we have built. It is not a fresh experiment, it is a long story with a recent commit.
We love building things and sharing them. We do not love social media tactics, growth hacks, or chasing stars and followers. So this repo is small. The code is real, it gets used, issues get answered. Judge for yourself.
If it helps you, sharing, testing, and feedback help us. If it could be better, an issue is more useful. If you build something with it, tell us at [email protected]. That genuinely makes our day.
From a small studio in Palma de Mallorca.
What is this?
StudioMeyer CRM is a headless contact server built as an MCP server. Instead of clicking through a CRM dashboard, you talk to your AI assistant — it manages companies, contacts, deals, leads, follow-ups, and revenue analytics for you. When you want to see the pipeline, it renders an interactive dashboard right inside the chat.
A production-ready, EU-hosted, GDPR-native standalone MCP CRM. Not a bridge to HubSpot or Salesforce — a complete CRM that lives inside your AI workflow, with subject-rights (Art. 15 / Art. 17) built in as tools.
---
Quick Start
Option 1: Claude Desktop / Cowork
Add the server URL in Claude Desktop settings:
https://crm.studiomeyer.io/mcp
You'll receive a sign-in link via email to verify your identity — no passwords needed.
Option 2: Claude Code
claude mcp add crm --transport streamable-http https://crm.studiomeyer.io/mcp
Option 3: Cursor / VS Code / Windsurf / Zed
npx mcp-remote https://crm.studiomeyer.io/mcp
Option 4: MCPize
https://mcpize.com/mcp/studiomeyer-crm
Subscribe and connect via the MCPize gateway.
---
Tools (37)
Discovery & insight
| Tool | Description |
|------|-------------|
| crm_schema | The CRM's own schema — entities, required-for-create fields, valid enums, relations. Call it before writing so the AI uses the right shape instead of guessing. |
| crm_attention | "What should I act on?" — overdue follow-ups, stale deals, deals missing a value, unconverted hot leads, each with a recommended next step. |
Core CRM
| Tool | Description |
|------|-------------|
| crm_company | Create, get, or update a company |
| crm_list_companies | List companies with filters, pagination, sorting |
| crm_contact | Add or update contacts |
| crm_list_contacts | List contacts with filters |
| crm_deal | Create or update deals (auto-probability by stage) |
| crm_list_deals | List deals with filters |
| crm_get_pipeline | Pipeline view: deals by stage, forecast, MRR/ARR |
| crm_log_interaction | Log emails, calls, meetings (auto-updates lastInteractionAt) |
| crm_get_timeline | Chronological timeline of interactions + notes |
| crm_add_note | Add notes to companies or deals |
| crm_list_notes | List notes with filters |
| crm_lead | Ingest, list, update, or convert leads (auto-dedup, temperature detection) |
| crm_follow_up | Create, list, or complete follow-ups with priority and overdue tracking |
| crm_search | Full-text search across all entities (German + English stemming) |
| crm_health_scores | Health scores 0-100 with factor breakdown |
| crm_dashboard | Pipeline + MRR + health + activity + alerts in one call — renders the in-chat dashboard widget |
| crm_stats | Aggregate metrics |
| crm_sync_stripe | Sync revenue data from Stripe |
| crm_revenue_report | MRR/ARR/growth by company and product |
| crm_record_revenue | Record monthly revenue per company/product |
| crm_import | Bulk CSV/JSON import (auto-maps DE+EN headers, dedup, dry-run) |
| crm_export | CSV/JSON export: contacts, companies, deals, leads |
| crm_audit_log | Audit trail: who changed what, when (with a since filter for change-tracking) |
| crm_connect | Zero-knowledge credentials: configure integrations via browser |
Compliance (GDPR / DSGVO)
| Tool | Description |
|------|-------------|
| crm_gdpr | Subject rights by natural language — Art. 15 access export (the full record held for a data subject) and Art. 17 erasure (preview the cascade with dryRun, then erase), logged for the compliance trail |
Management — delete (with dryRun safety)
Every delete accepts dryRun: true to preview exactly what would be removed (including cascade) before you confirm. Deletes also snapshot the record into the audit log, so they are forensically restorable.
| Tool | Description |
|------|-------------|
| crm_company_delete | Hard-delete company + cascaded data |
| crm_contact_delete | Hard-delete contact |
| crm_deal_delete | Hard-delete deal |
| crm_note_delete | Hard-delete note |
| crm_lead_delete | Hard-delete lead |
| crm_follow_up_delete | Hard-delete follow-up |
| crm_interaction_delete | Hard-delete a logged interaction |
System
| Tool | Description |
|------|-------------|
| crm_guide | Interactive onboarding with 12 topics |
| crm_handoff | Task queue between Claude Code and Cowork |
| server_status | Server health and configuration |
Resources (3)
| Resource | Description |
|----------|-------------|
| crm://pipeline | Current pipeline state |
| crm://dashboard | Dashboard overview |
| crm://follow-ups | Pending follow-ups |
Prompts (3)
| Prompt | Description |
|--------|-------------|
| client-review | Weekly client review |
| daily-briefing | Morning briefing with priorities |
| pipeline-forecast | Revenue forecast |
Every tool returns structured output (structuredContent) alongside text, so hosts and the in-chat dashboard widget read typed results without re-parsing.
---
Search
3-phase search cascade for maximum recall:
1. Full-text search with German stemming (tsvector + GIN index)
2. Trigram fuzzy matching with unaccent + word_similarity
3. ILIKE prefix fallback
Searches across companies, contacts, interactions, deals, notes, leads, and tags. Perfect for DACH market with umlaut support.
---
What Makes This Different
| Feature | StudioMeyer CRM | HubSpot MCP | Pipedrive MCP | nxt3d/mcp-crm |
|---------|-----------------|-------------|---------------|---------------|
| Standalone CRM | Yes | Bridge only | Bridge only | SQLite PoC |
| Tools | 37 | ~10 | ~8 | ~5 |
| MCP-native | Yes | Wrapper | Wrapper | Yes |
| In-chat dashboard (MCP App) | Yes | No | No | No |
| Schema discovery tool | Yes | No | No | No |
| Pipeline + Deals | Yes | Via HubSpot | Via Pipedrive | No |
| Lead Management | Yes | Via HubSpot | Via Pipedrive | No |
| Follow-ups | Yes | No | No | No |
| CSV Import/Export | Yes | No | No | No |
| Revenue Analytics | Yes | Via HubSpot | Via Pipedrive | No |
| Health Scores | Yes | No | No | No |
| Audit Log | Yes | No | No | No |
| GDPR subject rights (Art. 15/17) | Yes | No | No | No |
| Safe deletes (dry-run preview) | Yes | No | No | No |
| Built-in Guide | 12 topics | No | No | No |
| Stripe Sync | Yes | No | No | No |
| Zero-Knowledge Creds | Yes | No | No | No |
| EU-hosted (Frankfurt) | Yes | US | US | self-host |
| Hosted MCP | Yes | No | No | No |
---
Pricing
| Plan | Price | Included |
|------|-------|----------|
| Free | €0/mo | 37 tools, 200 calls/day, 1 user |
| Pro | €19/mo | 37 tools, 10K calls/day, priority support |
| Team | €39/mo | 37 tools, unlimited, 5 users, shared pipeline |
---
Security
- Magic Link Authentication — email verification on every sign-in. No passwords stored. You receive a single-use link that expires in 10 minutes. Nobody can access your data without proving email ownership.
- OAuth 2.1 with PKCE S256 (RFC 8414, 7591, 9728, 7009)
- Database: Supabase EU (Frankfurt, Germany), SOC 2 Type II
- Multi-tenant: Shared-table isolation enforced in the data layer, with a static CI gate that fails the build if a query forgets its tenant scope
- GDPR / DSGVO: EU data residency + Art. 15 access export and Art. 17 erasure as first-class tools
- Zero-Knowledge Credentials: AES-256-GCM encryption, browser-based entry
- Input Validation: Zod schemas on all 37 tools
- Audit Log: Every mutation tracked with tenant isolation; deletes snapshot the record for forensic restore
---
Built by StudioMeyer
AI and design studio in Mallorca, working with clients worldwide. Building AI tools since 2024.
- Website
- CRM Landing Page
- Memory Server
- GEO Server
- Crew Server
---
About StudioMeyer
StudioMeyer is an AI and design studio based in Palma de Mallorca, working with clients worldwide. We build custom websites and AI infrastructure for small and medium businesses. Production stack on Claude Agent SDK, MCP and n8n, with Sentry, Langfuse and LangGraph for observability and an in-house guard layer.
License
MIT — see LICENSE. This repository contains documentation only.
The CRM server is hosted at crm.studiomeyer.io.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



