{
  "schema_version": "1.0",
  "protocol": "MCP",
  "a2a_supported": false,
  "name": "StudioMeyer Memory",
  "description": "Long-term AI memory with bi-temporal knowledge graph. 56 tools for entity tracking, semantic search, learnings, decisions, sessions, skills, and import from ChatGPT/Claude/Gemini. Provider-agnostic; works with any LLM that speaks MCP. Hosted at Hetzner Nuremberg (Germany, EU), with tenant-scoped application queries.",
  "url": "https://memory.studiomeyer.io/mcp",
  "version": "3.47.0",
  "transport": "Streamable HTTP",
  "provider": {
    "organization": "StudioMeyer",
    "url": "https://studiomeyer.io",
    "email": "hello@studiomeyer.io",
    "foundingDate": "2026-01",
    "location": "Palma de Mallorca, Spain",
    "founder": {
      "name": "Matthias Meyer",
      "jobTitle": "Founder, AI Director"
    }
  },
  "iconUrl": "https://memory.studiomeyer.io/favicon.ico",
  "documentationUrl": "https://studiomeyer.io/services/memory",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false,
    "tools": true
  },
  "defaultInputModes": [
    "application/json",
    "text/plain"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/plain",
    "text/markdown"
  ],
  "securitySchemes": {
    "apiKey": {
      "type": "http",
      "scheme": "bearer",
      "description": "API key (nex_*; legacy sk_nex_* accepted) from https://studiomeyer.io/portal/api after signup. Free tier: 5,000 API calls/day, with stored-data limits."
    },
    "oauth2": {
      "type": "oauth2",
      "description": "OAuth 2.1 with PKCE S256; see /.well-known/oauth-authorization-server",
      "flows": {
        "authorizationCode": {
          "authorizationUrl": "https://memory.studiomeyer.io/authorize",
          "tokenUrl": "https://memory.studiomeyer.io/token",
          "scopes": {
            "memory": "Full access to the memory operations available to your account"
          }
        }
      }
    }
  },
  "security": [
    {
      "apiKey": []
    },
    {
      "oauth2": [
        "memory"
      ]
    }
  ],
  "skills": [
    {
      "id": "memory-search",
      "name": "Search across all memory",
      "description": "Unified search with temporal decay across decisions, learnings, sessions, skills, evolution, entity observations. Trigram + full-text + LIKE. Recent memories rank higher.",
      "tags": [
        "memory",
        "search",
        "recall",
        "rrf",
        "temporal"
      ],
      "examples": [
        "What did we decide about pricing last week?",
        "Find learnings about MCP deployment",
        "Search for SSL renewal incidents"
      ]
    },
    {
      "id": "learn-and-decide",
      "name": "Persist learnings and decisions",
      "description": "Store typed learnings (pattern, mistake, insight, research, architecture, infrastructure, tool, workflow, performance, security) with built-in duplicate-prevention gatekeeper. Log decisions with confidence scores and alternatives.",
      "tags": [
        "memory",
        "learn",
        "decide",
        "gatekeeper"
      ],
      "examples": [
        "Remember that Stripe webhook needs idempotency keys",
        "Decide: we use Postgres pgvector, not Pinecone"
      ]
    },
    {
      "id": "knowledge-graph",
      "name": "Knowledge graph entity tracking",
      "description": "Bi-temporal knowledge graph with entities, observations, relations. Time-travel queries via asOf parameter. Entity merge, deep-search, history, communities. 56 tools total in MCP surface.",
      "tags": [
        "knowledge-graph",
        "entities",
        "bi-temporal",
        "observations"
      ],
      "examples": [
        "Create an entity for the new client Acme Corp",
        "What did we know about MCP in March 2026?",
        "Find related entities to Stripe"
      ]
    },
    {
      "id": "session-continuity",
      "name": "Session start, end, replay",
      "description": "Auto-loaded context on session start, structured summaries on session end, full session replay with timeline visualization. Sessions persist across multiple AI conversations.",
      "tags": [
        "sessions",
        "continuity",
        "replay",
        "timeline"
      ],
      "examples": [
        "Start a new session for the academy project",
        "Replay the session where we built the n8n templates"
      ]
    },
    {
      "id": "skill-tracking",
      "name": "Track which patterns work",
      "description": "Skill registry with success/failure tracking per domain. Recipe lookup returns the best tool-chain for a task based on past experience.",
      "tags": [
        "skills",
        "patterns",
        "recipes"
      ],
      "examples": [
        "What worked for deploying MCP servers?",
        "Track that this carousel template performed well"
      ]
    },
    {
      "id": "memory-import",
      "name": "Import ChatGPT, Claude, Gemini history",
      "description": "Bulk import conversation history from ChatGPT, Claude.ai, Gemini exports. Auto-extracts learnings, entities, and relations into the knowledge graph.",
      "tags": [
        "import",
        "chatgpt",
        "claude",
        "gemini",
        "migration"
      ]
    },
    {
      "id": "multi-llm-memory",
      "name": "Provider-agnostic memory backend",
      "description": "Connect through an MCP-capable AI client or a REST integration such as n8n. Model support depends on your client; Memory provides the storage and search layer.",
      "tags": [
        "multi-llm",
        "agnostic",
        "mcp",
        "byo-llm"
      ],
      "examples": [
        "Connect Memory to an LLM workflow in n8n",
        "Use Memory with Gemini Pro and Claude in the same workflow"
      ]
    },
    {
      "id": "visualization-graph",
      "name": "Interactive 3D knowledge graph",
      "description": "Cinema-mode 3D-Force-Graph rendering of the knowledge graph with time-travel slider and session-replay timeline. Available as MCP Apps UI resources for clients that support sandboxed iframes (Claude.ai, VS Code Copilot, Goose, Postman, MCPJam).",
      "tags": [
        "visualization",
        "3d",
        "mcp-apps",
        "time-travel"
      ]
    },
    {
      "id": "tenant-isolation",
      "name": "Tenant-scoped memory storage",
      "description": "Shared PostgreSQL tables with tenant-scoped application queries. Storage at Hetzner Nuremberg (Germany, EU). AI features may send relevant content to configured model providers; EU storage does not imply EU-only model processing. Bearer API key + OAuth 2.1 + Magic Link auth.",
      "tags": [
        "multi-tenant",
        "tenant-scoping",
        "oauth-2.1",
        "eu-storage"
      ]
    },
    {
      "id": "analytics-insights",
      "name": "Analytics, insights, contradictions, decay",
      "description": "Knowledge graph health analytics, contradiction detection, learning decay (forgetting curve), proactive suggestions, communities clustering, deduplication, synthesis from learning clusters.",
      "tags": [
        "analytics",
        "insights",
        "health",
        "communities"
      ]
    }
  ],
  "target_audience": [
    "AI engineers",
    "Solo founders",
    "Agency builders",
    "Multi-agent system designers",
    "Operators using Claude / GPT / Gemini"
  ],
  "languages": [
    "en",
    "de",
    "es"
  ],
  "primary_language": "en",
  "discovery": {
    "llms_txt": "https://memory.studiomeyer.io/llms.txt",
    "agents_json": "https://memory.studiomeyer.io/.well-known/agents.json",
    "mcp_endpoint": "https://memory.studiomeyer.io/mcp",
    "oauth_metadata": "https://memory.studiomeyer.io/.well-known/oauth-authorization-server",
    "openapi": "https://memory.studiomeyer.io/openapi.json",
    "protected_resource": "https://memory.studiomeyer.io/.well-known/oauth-protected-resource/mcp"
  },
  "compliance": {
    "hosting": "Hetzner Nuremberg (Germany, EU)",
    "isolation": "Tenant-scoped application queries",
    "modelProcessing": "AI features may send relevant content to configured model providers; EU storage does not imply EU-only model processing.",
    "secretScanning": "Secret scanning detects supported sensitive patterns, not general PII.",
    "impressum_url": "https://studiomeyer.io/impressum",
    "datenschutz_url": "https://studiomeyer.io/datenschutz"
  },
  "pricing": {
    "model": "freemium",
    "free_tier": "Free: 0 EUR/month; 5,000 API calls/day; 1,000 learnings; 100 entities; 500 observations; 1 API key; no credit card",
    "paid_tiers": [
      {
        "name": "Pro",
        "monthly_eur": 9,
        "limits": {
          "maxLearnings": 25000,
          "maxEntities": 1000,
          "maxObservations": 10000,
          "maxApiCallsPerDay": 50000,
          "maxApiKeys": 3,
          "agentScoping": true,
          "rerankPerDay": 100,
          "importLimit": 0
        },
        "team": false
      },
      {
        "name": "Team",
        "monthly_eur": 19,
        "limits": {
          "maxLearnings": -1,
          "maxEntities": -1,
          "maxObservations": -1,
          "maxApiCallsPerDay": -1,
          "maxApiKeys": 20,
          "agentScoping": true,
          "rerankPerDay": -1,
          "importLimit": 0
        },
        "team": true
      }
    ],
    "pricing_url": "https://studiomeyer.io/services/memory#pricing"
  }
}