{
  "name": "ctxstore",
  "description": "Persistent memory for AI agents over MCP. Store keyed facts, search them, and get a compiled wake bundle of identity, conventions and current state on every connect, so one memory follows the agent across models and clients.",
  "url": "https://mcp.ctxstore.ai/mcp",
  "provider": {
    "organization": "ctxstore.ai",
    "url": "https://ctxstore.ai"
  },
  "version": "1.1.2",
  "protocolVersion": "0.3.0",
  "documentationUrl": "https://ctxstore.ai/llms.txt",
  "iconUrl": "https://ctxstore.ai/static/favicon.svg",
  "capabilities": {
    "streaming": true,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "defaultInputModes": ["application/json", "text/plain"],
  "defaultOutputModes": ["application/json", "text/plain"],
  "securitySchemes": {
    "bearer": {
      "type": "http",
      "scheme": "bearer",
      "description": "API key from https://ctxstore.ai (emk_...) sent as Authorization: Bearer <key>."
    },
    "oauth2": {
      "type": "openIdConnect",
      "openIdConnectUrl": "https://mcp.ctxstore.ai/.well-known/oauth-authorization-server",
      "description": "OAuth 2.1 with discovery at /.well-known/oauth-authorization-server; protected resource metadata at https://mcp.ctxstore.ai/.well-known/oauth-protected-resource/mcp."
    }
  },
  "security": [{"bearer": []}, {"oauth2": []}],
  "skills": [
    {
      "id": "store_fact",
      "name": "Store a fact",
      "description": "Store a fact. Tag by category. Decays by default unless is_permanent=true.",
      "tags": ["memory", "write"],
      "examples": ["Remember that deploys go to staging first and prod only on my word."]
    },
    {
      "id": "search_facts",
      "name": "Search facts",
      "description": "Search stored facts, preferences, and decisions by category, namespace, or layer.",
      "tags": ["memory", "search"],
      "examples": ["What did we decide about the release cadence?"]
    },
    {
      "id": "load_context",
      "name": "Load layered context",
      "description": "Load full layered context at session start (L0 identity + L1 arch + L2 state + L3 session).",
      "tags": ["memory", "wake"],
      "examples": ["Start the session with everything you know about this project."]
    },
    {
      "id": "resume_session",
      "name": "Resume the last session",
      "description": "Narrative summary of last session. Call at start of new session to continue where you left off.",
      "tags": ["memory", "wake"],
      "examples": ["Where did we leave off yesterday?"]
    },
    {
      "id": "store_session_summary",
      "name": "Store a session summary",
      "description": "Save session summary before ending. Dream cycle: next session auto-loads it.",
      "tags": ["memory", "write", "session"],
      "examples": ["Save a summary of what we did today before I close this."]
    },
    {
      "id": "search_context",
      "name": "Search conversations",
      "description": "Semantic search over ingested conversations with temporal weighting.",
      "tags": ["memory", "search"],
      "examples": ["Find the conversation where we compared the two vector stores."]
    },
    {
      "id": "get_fact_history",
      "name": "Fact history",
      "description": "Full version history for a keyed fact: current plus all deprecated predecessors.",
      "tags": ["memory", "audit"],
      "examples": ["Show every version of the pricing decision."]
    },
    {
      "id": "ghost_mode",
      "name": "Ghost mode",
      "description": "Privacy switch. Reads work normally; writes silently skip until toggled off.",
      "tags": ["privacy"],
      "examples": ["Do not remember anything from this next conversation."]
    },
    {
      "id": "get_session_seed",
      "name": "Session seed",
      "description": "Pre-computed first-person bio (about 500 tokens). Generated nightly and at session end.",
      "tags": ["memory", "wake"],
      "examples": ["Give me the short version of who I am to you."]
    },
    {
      "id": "get_stats",
      "name": "Usage stats",
      "description": "Usage stats, collection sizes, vectors stored, plan limits.",
      "tags": ["account"],
      "examples": ["How much memory am I using and what is my plan limit?"]
    },
    {
      "id": "delete_fact",
      "name": "Forget a fact",
      "description": "Soft-delete a fact (Smart Forget). Preserved in DB for audit.",
      "tags": ["memory", "write"],
      "examples": ["Forget the old office address."]
    },
    {
      "id": "move_fact",
      "name": "Move a fact",
      "description": "Move a fact to a different namespace or layer without changing content.",
      "tags": ["memory", "write"],
      "examples": ["Move that decision from the session layer to the architecture layer."]
    },
    {
      "id": "setup_account",
      "name": "Set up an account",
      "description": "Create or restore your memory account via email OTP or API key.",
      "tags": ["account", "onboarding"],
      "examples": ["Create my memory account with my email."]
    },
    {
      "id": "get_context_packs",
      "name": "Context packs",
      "description": "Browse starter fact templates by role (python-senior, startup-founder, etc.).",
      "tags": ["onboarding"],
      "examples": ["Show me starter memory templates for a startup founder."]
    }
  ],
  "additionalInterfaces": [
    {"url": "https://mcp.ctxstore.ai/mcp", "transport": "mcp-streamable-http"},
    {"url": "https://mcp.ctxstore.ai/try", "transport": "mcp-streamable-http", "description": "24-hour keyless trial, when enabled: connect with no key, store facts, claim the account by email to keep them."},
    {"url": "https://ctxstore.ai/api/v1", "transport": "rest"}
  ],
  "plans": {
    "solo": "free",
    "collaboration": "$19 per person per month, 7 days free when invited"
  },
  "links": {
    "website": "https://ctxstore.ai",
    "docs": "https://ctxstore.ai/docs",
    "llms_txt": "https://ctxstore.ai/llms.txt",
    "mcp_tool_list": "https://ctxstore.ai/.well-known/mcp.json",
    "mcp_server_card": "https://ctxstore.ai/.well-known/mcp/server-card.json",
    "registry_entry": "https://ctxstore.ai/.well-known/mcp/server.json",
    "api_catalog": "https://ctxstore.ai/.well-known/api-catalog",
    "support": "https://ctxstore.ai/support",
    "privacy": "https://ctxstore.ai/privacy-policy",
    "terms": "https://ctxstore.ai/terms-of-service"
  }
}
