Back to StudioMeyer CRM

Card snapshot

crm.studiomeyer.io · 2026-05-18 12:34:39 UTC · 319e8637cb8035a3253c7801782a8bdb56a53be7cf1cadc4c79fb0f77b6a67d5

This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.

{
  "protocolVersion": "0.3.0",
  "name": "StudioMeyer CRM",
  "description": "Headless MCP CRM with 33 tools. Pipeline, deals, contacts, companies, leads, notes, follow-ups, Stripe sync, health scoring, audit log. Provider-agnostic \u2014 drive CRM from any LLM that speaks MCP. EU Frankfurt, DSGVO-compliant, multi-tenant on Supabase with Postgres RLS.",
  "url": "https://crm.studiomeyer.io/mcp",
  "version": "2.8.1",
  "preferredTransport": "JSONRPC",
  "provider": {
    "organization": "StudioMeyer",
    "url": "https://studiomeyer.io",
    "email": "hello@studiomeyer.io",
    "foundingDate": "2026-02",
    "location": "Palma de Mallorca, Spain",
    "founder": {
      "name": "Matthias Meyer",
      "jobTitle": "Founder, AI Director"
    }
  },
  "iconUrl": "https://crm.studiomeyer.io/favicon.ico",
  "documentationUrl": "https://studiomeyer.io/services/crm",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false,
    "extendedAgentCard": true
  },
  "defaultInputModes": [
    "application/json",
    "text/plain"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/plain",
    "text/markdown"
  ],
  "securitySchemes": {
    "apiKey": {
      "type": "http",
      "scheme": "bearer",
      "description": "API key (sk_crm_*) \u2014 generate at https://studiomeyer.io/portal/api"
    },
    "oauth2": {
      "type": "oauth2",
      "description": "OAuth 2.1 with PKCE \u2014 see /.well-known/oauth-authorization-server",
      "flows": {
        "authorizationCode": {
          "authorizationUrl": "https://crm.studiomeyer.io/authorize",
          "tokenUrl": "https://crm.studiomeyer.io/token",
          "scopes": {
            "crm": "Full access to CRM operations"
          }
        }
      }
    }
  },
  "security": [
    {
      "apiKey": []
    },
    {
      "oauth2": [
        "crm"
      ]
    }
  ],
  "skills": [
    {
      "id": "pipeline-management",
      "name": "Pipeline + Deal Management",
      "description": "Full CRM pipeline: create, update, track deals across stages with weighted forecast, MRR aggregation, win-rate, sales-cycle KPIs. Velocity calculation per month.",
      "tags": [
        "crm",
        "pipeline",
        "deals",
        "mrr",
        "forecast"
      ],
      "examples": [
        "Create a deal for 5000 EUR with Acme Corp",
        "Show me the pipeline forecast for this quarter",
        "What is my win rate over the last 90 days?"
      ]
    },
    {
      "id": "contacts-companies",
      "name": "Contacts + Companies",
      "description": "CRUD for contacts and companies with relations, tags, custom fields. Full-text search across all entities. Bulk import from CSV.",
      "tags": [
        "crm",
        "contacts",
        "companies",
        "search"
      ],
      "examples": [
        "Add John Smith as a contact at Acme Corp",
        "Find all contacts in Hamburg",
        "List companies in the SaaS industry"
      ]
    },
    {
      "id": "leads-qualification",
      "name": "Lead Qualification + Scoring",
      "description": "Inbound lead capture with BANT-PAIN classification, lead scoring, automated follow-up scheduling, conversion tracking from lead \u2192 contact \u2192 deal.",
      "tags": [
        "crm",
        "leads",
        "qualification",
        "bant"
      ],
      "examples": [
        "Qualify this inbound message",
        "Show me leads with score >70"
      ]
    },
    {
      "id": "notes-interactions",
      "name": "Notes + Interaction Log",
      "description": "Add notes to companies, contacts, deals. Log interactions (calls, emails, meetings) with timestamps and timeline view per entity.",
      "tags": [
        "crm",
        "notes",
        "interactions",
        "timeline"
      ],
      "examples": [
        "Note: Acme is reviewing our proposal",
        "Show me the timeline for John Smith"
      ]
    },
    {
      "id": "follow-ups-tasks",
      "name": "Follow-ups + Reminders",
      "description": "Schedule follow-ups with due dates, priorities, assignees. Daily digest of due follow-ups for the authenticated user.",
      "tags": [
        "crm",
        "follow-ups",
        "tasks",
        "reminders"
      ]
    },
    {
      "id": "stripe-sync",
      "name": "Stripe Customer + Subscription Sync",
      "description": "Two-way sync with Stripe: customers, subscriptions, MRR calculation, churn tracking. Receives webhook events and updates CRM state.",
      "tags": [
        "crm",
        "stripe",
        "mrr",
        "subscriptions"
      ]
    },
    {
      "id": "health-scores",
      "name": "Health Scoring + Churn Risk",
      "description": "Calculate per-account health scores based on engagement, usage, payment history. Bucket accounts into green/yellow/red. Trigger automated outreach.",
      "tags": [
        "crm",
        "health",
        "churn",
        "scoring"
      ]
    },
    {
      "id": "reports-analytics",
      "name": "Revenue Reports + Audit Log",
      "description": "Per-period revenue reports, deal velocity, sales cycle analysis. Full audit log of every state mutation with actor + timestamp.",
      "tags": [
        "crm",
        "reports",
        "analytics",
        "audit"
      ]
    },
    {
      "id": "multi-llm-crm",
      "name": "Provider-agnostic CRM operations",
      "description": "Works with any LLM that speaks MCP: Claude, GPT, Gemini, local models. Drive CRM from natural language in any AI client. No vendor lock-in.",
      "tags": [
        "multi-llm",
        "agnostic",
        "mcp",
        "byo-llm"
      ],
      "examples": [
        "Connect CRM to GPT-5 in n8n",
        "Use CRM with Gemini for sales coaching"
      ]
    },
    {
      "id": "tenant-isolation",
      "name": "Multi-tenant with Postgres RLS",
      "description": "Shared-tables architecture with tenant_id and Postgres Row-Level-Security. Static-analysis CI catches cross-tenant leaks before deploy. Bearer + OAuth 2.1.",
      "tags": [
        "multi-tenant",
        "rls",
        "gdpr",
        "oauth-2.1"
      ]
    }
  ],
  "target_audience": [
    "Solo founders",
    "Small sales teams",
    "AI-native operators",
    "B2B service businesses",
    "Agencies running multiple client portfolios"
  ],
  "languages": [
    "en",
    "de"
  ],
  "primary_language": "en",
  "discovery": {
    "llms_txt": "https://crm.studiomeyer.io/llms.txt",
    "agents_json": "https://crm.studiomeyer.io/.well-known/agents.json",
    "mcp_endpoint": "https://crm.studiomeyer.io/mcp",
    "oauth_metadata": "https://crm.studiomeyer.io/.well-known/oauth-authorization-server",
    "protected_resource": "https://crm.studiomeyer.io/.well-known/oauth-protected-resource"
  },
  "compliance": {
    "gdpr": true,
    "eu_ai_act_article_4": true,
    "hosting": "Supabase Frankfurt (EU)",
    "impressum_url": "https://studiomeyer.io/impressum",
    "datenschutz_url": "https://studiomeyer.io/datenschutz"
  },
  "pricing": {
    "model": "freemium",
    "free_tier": "50 contacts, 10 deals, no credit card",
    "paid_tiers": [
      {
        "name": "Solo",
        "monthly_eur": 29,
        "contacts": "unlimited"
      },
      {
        "name": "Team",
        "monthly_eur": 49,
        "contacts": "unlimited",
        "team": true
      }
    ],
    "pricing_url": "https://studiomeyer.io/services/crm#pricing"
  }
}