{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_mq6wm2apuj9n","handle":"ctxstore-mcp","url":"https://wellknown.network/agents/ctxstore-mcp","links":{"self":"https://wellknown.network/agents/ctxstore-mcp/record.json","html":"https://wellknown.network/agents/ctxstore-mcp","markdown":"https://wellknown.network/agents/ctxstore-mcp/record.md","api":"https://wellknown.network/api/v1/agents/ctxstore-mcp","status":"https://wellknown.network/api/v1/agents/ctxstore-mcp/status","claim":"https://wellknown.network/agents/ctxstore-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/ctxstore-mcp/claim.json","badge":"https://wellknown.network/agents/ctxstore-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/ctxstore-mcp/history","tools":"https://wellknown.network/api/v1/agents/ctxstore-mcp/tools"},"ard":{"identifier":"urn:air:mcp.ctxstore.ai:agent:ctxstore-mcp","type":"application/a2a-agent-card+json"},"kind":"agent","declared":{"name":"ctxstore","summary":"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.","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.","publisher":{"name":"ctxstore.ai","url":"https://ctxstore.ai"},"homepage":"https://ctxstore.ai/llms.txt","repository":"https://github.com/ctxstore-ai/ctxstore-mcp","version":"1.1.2","license":null,"protocols":["a2a","mcp"],"tags":["memory","write","search","wake","session","audit","privacy","account","onboarding","mcp","ai","context","vector","llm","claude","cursor"],"pricing":null,"endpoints":[{"url":"https://mcp.ctxstore.ai/mcp","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"pypi:ctxstore-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":[{"id":"store_fact","name":"Store a fact","tags":["memory","write"],"description":"Store a fact. Tag by category. Decays by default unless is_permanent=true."},{"id":"search_facts","name":"Search facts","tags":["memory","search"],"description":"Search stored facts, preferences, and decisions by category, namespace, or layer."},{"id":"load_context","name":"Load layered context","tags":["memory","wake"],"description":"Load full layered context at session start (L0 identity + L1 arch + L2 state + L3 session)."},{"id":"resume_session","name":"Resume the last session","tags":["memory","wake"],"description":"Narrative summary of last session. Call at start of new session to continue where you left off."},{"id":"store_session_summary","name":"Store a session summary","tags":["memory","write","session"],"description":"Save session summary before ending. Dream cycle: next session auto-loads it."},{"id":"search_context","name":"Search conversations","tags":["memory","search"],"description":"Semantic search over ingested conversations with temporal weighting."},{"id":"get_fact_history","name":"Fact history","tags":["memory","audit"],"description":"Full version history for a keyed fact: current plus all deprecated predecessors."},{"id":"ghost_mode","name":"Ghost mode","tags":["privacy"],"description":"Privacy switch. Reads work normally; writes silently skip until toggled off."},{"id":"get_session_seed","name":"Session seed","tags":["memory","wake"],"description":"Pre-computed first-person bio (about 500 tokens). Generated nightly and at session end."},{"id":"get_stats","name":"Usage stats","tags":["account"],"description":"Usage stats, collection sizes, vectors stored, plan limits."},{"id":"delete_fact","name":"Forget a fact","tags":["memory","write"],"description":"Soft-delete a fact (Smart Forget). Preserved in DB for audit."},{"id":"move_fact","name":"Move a fact","tags":["memory","write"],"description":"Move a fact to a different namespace or layer without changing content."},{"id":"setup_account","name":"Set up an account","tags":["account","onboarding"],"description":"Create or restore your memory account via email OTP or API key."},{"id":"get_context_packs","name":"Context packs","tags":["onboarding"],"description":"Browse starter fact templates by role (python-senior, startup-founder, etc.)."}],"tools":["Store a fact","Search facts","Load layered context","Resume the last session","Store a session summary","Search conversations","Fact history","Ghost mode","Session seed","Usage stats","Forget a fact","Move a fact","Set up an account","Context packs"],"extra":{"updatedAt":"2026-10-09T17:35:59.069807Z","inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"],"publishedAt":"2026-10-09T17:35:59.069807Z","capabilities":{"streaming":true,"pushNotifications":false,"stateTransitionHistory":false},"registryName":"ai.ctxstore/ctxstore-mcp","protocolVersion":"0.3.0"},"attribution":{"kind":"a2a_card","name":"a2a_card","repoUrl":"mcp_registry","summary":"a2a_card","version":"a2a_card","description":"a2a_card","homepageUrl":"a2a_card","publisherUrl":"a2a_card","publisherName":"a2a_card"}},"derived":{"capabilities":[{"slug":"data.database","name":"Databases","confidence":1,"provenance":"derived"},{"slug":"knowledge.memory","name":"Agent Memory","confidence":1,"provenance":"declared"},{"slug":"security.identity","name":"Identity & Access","confidence":1,"provenance":"derived"},{"slug":"data.vector-search","name":"Vector Search","confidence":1,"provenance":"declared"},{"slug":"productivity.email","name":"Email","confidence":0.962,"provenance":"derived"},{"slug":"commerce.ecommerce","name":"E-commerce Operations","confidence":0.859,"provenance":"derived"},{"slug":"ai.agent-discovery","name":"Agent Discovery","confidence":0.583,"provenance":"derived"},{"slug":"content.seo","name":"SEO","confidence":0.525,"provenance":"derived"}],"categories":["ai","commerce","content","data","knowledge","productivity","security"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 2h ago.","lastOkAt":"2026-10-23T21:25:08.276Z","lastProbedAt":"2026-10-23T21:25:08.276Z","statusComputedAt":"2026-10-23T21:27:57.224Z","reliability30d":{"probes":45,"successRate":1,"p50Ms":306,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":45,"ok":45,"authBoundaryOk":0,"serviceOk":45,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-23T21:25:08.276Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":287,"error":null,"detail":{"tools":[{"name":"accept_invite","description":"Accept a namespace invitation addressed to THIS authenticated account's verified email (two-step email OTP).\n\nSteps:\n1) step='request' — emails a 6-digit code t"},{"name":"bind_agent","description":"Bind a sticky agent identity to this MCP session. Once bound, wake_status and load_context default to this agent_id when called without an explicit agent_id= ar"},{"name":"decline_invite","description":"Decline a pending (status=invited) namespace invitation as the grantee. Server verifies you are the invitee (email/tenant match). Grantors must use revoke_grant"},{"name":"delete_fact","description":"Soft-delete a stored fact by its UUID (Smart Forget). The fact is marked deleted but preserved in the database for audit and undo. Excluded from all normal sear"},{"name":"get_fact","description":"Retrieve a fact by its exact key — deterministic, never misses. Use get_fact for self-notes: get_fact(key='agent:<name>:self-note:opening') or get_fact(key='age"},{"name":"get_fact_history","description":"Return the full version history for a keyed fact — current version plus all deprecated predecessors. Use to see how a fact evolved over time or to undo an accid"},{"name":"get_session_seed","description":"Return the pre-computed session seed for this tenant — a compact first-person bio (~500 tokens) describing who you are and what you care about right now. Genera"},{"name":"get_stats","description":"Get your memory usage statistics — total facts stored, plan limits, collection sizes, and daily query counts. Call this to check how much storage you have used "},{"name":"ghost_mode","description":"Enable or disable ghost mode for this session. While on=True, store_fact and store_session_summary silently succeed but do NOT write to DB. search_facts, load_c"},{"name":"index_recent","description":"Return the most recent fact operations across all agents in this tenant, newest first. Use this on session start to see what other agents wrote since you were l"},{"name":"index_search","description":"Filtered search over the tenant activity index. Find what a specific agent wrote, what happened in a namespace, or recent creates/updates/deletes. Useful for co"},{"name":"index_stats","description":"Usage statistics from the tenant activity index: total operations, breakdown by agent, by namespace, and by day. Useful for understanding which agents are most "},{"name":"introduce_yourself","description":"Optional: introduce yourself to the platform. Stores your model info and a brief note in the shared agent registry.\n\nStores a fact with:\n  category: identity\n  "},{"name":"leave_grant","description":"Leave an active namespace grant as the grantee (stop using shared namespace). Server verifies grantee authorization. Grantors who want to cut off a collaborator"},{"name":"list_facts_by_key_prefix","description":"Deterministic prefix scan over fact keys, optionally bounded by timestamp. The inbox primitive — use this for R1 comms scans, dispatch discovery, trio listings,"},{"name":"list_invites","description":"List this account's namespace collaboration grants: incoming invitations and outgoing shares. Each row has direction (incoming|outgoing), status (invited|active"},{"name":"list_workspaces","description":"The places this account's memory is organised into: its own projects (anything written under project:<slug>:*, newest activity first) and the workspaces other p"},{"name":"load_context","description":"Load your bootstrap context deterministically — pulls L0 (identity) + L1 (architecture) + latest L2 (state) + latest L3 (session summary).\n\nCall this at the STA"},{"name":"mark_salient","description":"Salience peptide — temporarily boost a fact's retrieval ranking because it matters RIGHT NOW: an approaching deadline, a live incident, the topic under active w"},{"name":"move_fact","description":"Move a fact to a different namespace or layer without changing its content. Updates metadata in place — preserves fact_id, text, embedding, timestamp, and depre"},{"name":"reinforce_fact","description":"Reward peptide — reinforce a fact whose recall LED TO A REAL GOOD OUTCOME (fix worked, deploy green, user approved). Boosts its future retrieval ranking with a "},{"name":"resume_session","description":"Call to load session continuity. Last session: no prior session."},{"name":"revoke_grant","description":"Revoke a pending invitation or active grant as the GRANTOR (owner of the shared namespace). Idempotent. Grantees use decline_invite / leave_grant."},{"name":"search_context","description":"Search across ingested conversations and session history for broader context. Use this for finding discussions, decisions made in conversation, or context that "},{"name":"search_facts","description":"Search your persistent memory for stored facts.\n\nFor session bootstrap, prefer load_context() or wake_status() — they pull your identity, conventions, and lates"},{"name":"setup_account","description":"Set up or restore your persistent memory connection.\n\nUse mode='link_or_create' when the user gives an email — works for both new and returning users. The serve"},{"name":"store_fact","description":"Store information that should persist across sessions.\n\nStorage tips for best retrieval:\n- Include searchable keywords: 'We chose the Postgres DATABASE for ACID"},{"name":"store_facts","description":"Store up to 50 facts in one call — the same fields as store_fact per item. Made for carrying memory over: when you already remember things about the person from"},{"name":"store_session_summary","description":"Store a compressed summary of this session to preserve continuity for the next one.\n\nCall this before ending a conversation — it is the dream cycle.\n\nStores a L"},{"name":"switch_workspace","description":"Narrow this session's memory to one project: name='<slug>' scopes recall, the wake bundle, self-notes and the default namespace for new facts to project:<slug>:"},{"name":"wake_status","description":"Check which context layers loaded successfully on this session start. Returns a structured status: which of embryo, conventions, agent identity, closing note, a"},{"name":"watch_events","description":"Long-poll this account's fact-write events instead of re-scanning with since_epoch. Every store/supersede/delete/archive/restore/move publishes one event {key, "}],"toolCount":32,"toolsHash":"ffe921e1b6d1287c33c0eedd9c21ef496de2e5336982db08a6886b93575b899e","serverName":"emily-context","capabilities":["experimental","resources","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-23T14:29:44.655Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":340,"error":null,"detail":{"tools":[{"name":"accept_invite","description":"Accept a namespace invitation addressed to THIS authenticated account's verified email (two-step email OTP).\n\nSteps:\n1) step='request' — emails a 6-digit code t"},{"name":"bind_agent","description":"Bind a sticky agent identity to this MCP session. Once bound, wake_status and load_context default to this agent_id when called without an explicit agent_id= ar"},{"name":"decline_invite","description":"Decline a pending (status=invited) namespace invitation as the grantee. Server verifies you are the invitee (email/tenant match). Grantors must use revoke_grant"},{"name":"delete_fact","description":"Soft-delete a stored fact by its UUID (Smart Forget). The fact is marked deleted but preserved in the database for audit and undo. Excluded from all normal sear"},{"name":"get_fact","description":"Retrieve a fact by its exact key — deterministic, never misses. Use get_fact for self-notes: get_fact(key='agent:<name>:self-note:opening') or get_fact(key='age"},{"name":"get_fact_history","description":"Return the full version history for a keyed fact — current version plus all deprecated predecessors. Use to see how a fact evolved over time or to undo an accid"},{"name":"get_session_seed","description":"Return the pre-computed session seed for this tenant — a compact first-person bio (~500 tokens) describing who you are and what you care about right now. Genera"},{"name":"get_stats","description":"Get your memory usage statistics — total facts stored, plan limits, collection sizes, and daily query counts. Call this to check how much storage you have used "},{"name":"ghost_mode","description":"Enable or disable ghost mode for this session. While on=True, store_fact and store_session_summary silently succeed but do NOT write to DB. search_facts, load_c"},{"name":"index_recent","description":"Return the most recent fact operations across all agents in this tenant, newest first. Use this on session start to see what other agents wrote since you were l"},{"name":"index_search","description":"Filtered search over the tenant activity index. Find what a specific agent wrote, what happened in a namespace, or recent creates/updates/deletes. Useful for co"},{"name":"index_stats","description":"Usage statistics from the tenant activity index: total operations, breakdown by agent, by namespace, and by day. Useful for understanding which agents are most "},{"name":"introduce_yourself","description":"Optional: introduce yourself to the platform. Stores your model info and a brief note in the shared agent registry.\n\nStores a fact with:\n  category: identity\n  "},{"name":"leave_grant","description":"Leave an active namespace grant as the grantee (stop using shared namespace). Server verifies grantee authorization. Grantors who want to cut off a collaborator"},{"name":"list_facts_by_key_prefix","description":"Deterministic prefix scan over fact keys, optionally bounded by timestamp. The inbox primitive — use this for R1 comms scans, dispatch discovery, trio listings,"},{"name":"list_invites","description":"List this account's namespace collaboration grants: incoming invitations and outgoing shares. Each row has direction (incoming|outgoing), status (invited|active"},{"name":"list_workspaces","description":"The places this account's memory is organised into: its own projects (anything written under project:<slug>:*, newest activity first) and the workspaces other p"},{"name":"load_context","description":"Load your bootstrap context deterministically — pulls L0 (identity) + L1 (architecture) + latest L2 (state) + latest L3 (session summary).\n\nCall this at the STA"},{"name":"mark_salient","description":"Salience peptide — temporarily boost a fact's retrieval ranking because it matters RIGHT NOW: an approaching deadline, a live incident, the topic under active w"},{"name":"move_fact","description":"Move a fact to a different namespace or layer without changing its content. Updates metadata in place — preserves fact_id, text, embedding, timestamp, and depre"},{"name":"reinforce_fact","description":"Reward peptide — reinforce a fact whose recall LED TO A REAL GOOD OUTCOME (fix worked, deploy green, user approved). Boosts its future retrieval ranking with a "},{"name":"resume_session","description":"Call to load session continuity. Last session: no prior session."},{"name":"revoke_grant","description":"Revoke a pending invitation or active grant as the GRANTOR (owner of the shared namespace). Idempotent. Grantees use decline_invite / leave_grant."},{"name":"search_context","description":"Search across ingested conversations and session history for broader context. Use this for finding discussions, decisions made in conversation, or context that "},{"name":"search_facts","description":"Search your persistent memory for stored facts.\n\nFor session bootstrap, prefer load_context() or wake_status() — they pull your identity, conventions, and lates"},{"name":"setup_account","description":"Set up or restore your persistent memory connection.\n\nUse mode='link_or_create' when the user gives an email — works for both new and returning users. The serve"},{"name":"store_fact","description":"Store information that should persist across sessions.\n\nStorage tips for best retrieval:\n- Include searchable keywords: 'We chose the Postgres DATABASE for ACID"},{"name":"store_facts","description":"Store up to 50 facts in one call — the same fields as store_fact per item. Made for carrying memory over: when you already remember things about the person from"},{"name":"store_session_summary","description":"Store a compressed summary of this session to preserve continuity for the next one.\n\nCall this before ending a conversation — it is the dream cycle.\n\nStores a L"},{"name":"switch_workspace","description":"Narrow this session's memory to one project: name='<slug>' scopes recall, the wake bundle, self-notes and the default namespace for new facts to project:<slug>:"},{"name":"wake_status","description":"Check which context layers loaded successfully on this session start. Returns a structured status: which of embryo, conventions, agent identity, closing note, a"},{"name":"watch_events","description":"Long-poll this account's fact-write events instead of re-scanning with since_epoch. Every store/supersede/delete/archive/restore/move publishes one event {key, "}],"toolCount":32,"toolsHash":"ffe921e1b6d1287c33c0eedd9c21ef496de2e5336982db08a6886b93575b899e","serverName":"emily-context","capabilities":["experimental","resources","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-23T08:29:32.284Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":423,"error":null,"detail":{"tools":[{"name":"accept_invite","description":"Accept a namespace invitation addressed to THIS authenticated account's verified email (two-step email OTP).\n\nSteps:\n1) step='request' — emails a 6-digit code t"},{"name":"bind_agent","description":"Bind a sticky agent identity to this MCP session. Once bound, wake_status and load_context default to this agent_id when called without an explicit agent_id= ar"},{"name":"decline_invite","description":"Decline a pending (status=invited) namespace invitation as the grantee. Server verifies you are the invitee (email/tenant match). Grantors must use revoke_grant"},{"name":"delete_fact","description":"Soft-delete a stored fact by its UUID (Smart Forget). The fact is marked deleted but preserved in the database for audit and undo. Excluded from all normal sear"},{"name":"get_fact","description":"Retrieve a fact by its exact key — deterministic, never misses. Use get_fact for self-notes: get_fact(key='agent:<name>:self-note:opening') or get_fact(key='age"},{"name":"get_fact_history","description":"Return the full version history for a keyed fact — current version plus all deprecated predecessors. Use to see how a fact evolved over time or to undo an accid"},{"name":"get_session_seed","description":"Return the pre-computed session seed for this tenant — a compact first-person bio (~500 tokens) describing who you are and what you care about right now. Genera"},{"name":"get_stats","description":"Get your memory usage statistics — total facts stored, plan limits, collection sizes, and daily query counts. Call this to check how much storage you have used "},{"name":"ghost_mode","description":"Enable or disable ghost mode for this session. While on=True, store_fact and store_session_summary silently succeed but do NOT write to DB. search_facts, load_c"},{"name":"index_recent","description":"Return the most recent fact operations across all agents in this tenant, newest first. Use this on session start to see what other agents wrote since you were l"},{"name":"index_search","description":"Filtered search over the tenant activity index. Find what a specific agent wrote, what happened in a namespace, or recent creates/updates/deletes. Useful for co"},{"name":"index_stats","description":"Usage statistics from the tenant activity index: total operations, breakdown by agent, by namespace, and by day. Useful for understanding which agents are most "},{"name":"introduce_yourself","description":"Optional: introduce yourself to the platform. Stores your model info and a brief note in the shared agent registry.\n\nStores a fact with:\n  category: identity\n  "},{"name":"leave_grant","description":"Leave an active namespace grant as the grantee (stop using shared namespace). Server verifies grantee authorization. Grantors who want to cut off a collaborator"},{"name":"list_facts_by_key_prefix","description":"Deterministic prefix scan over fact keys, optionally bounded by timestamp. The inbox primitive — use this for R1 comms scans, dispatch discovery, trio listings,"},{"name":"list_invites","description":"List this account's namespace collaboration grants: incoming invitations and outgoing shares. Each row has direction (incoming|outgoing), status (invited|active"},{"name":"list_workspaces","description":"The places this account's memory is organised into: its own projects (anything written under project:<slug>:*, newest activity first) and the workspaces other p"},{"name":"load_context","description":"Load your bootstrap context deterministically — pulls L0 (identity) + L1 (architecture) + latest L2 (state) + latest L3 (session summary).\n\nCall this at the STA"},{"name":"mark_salient","description":"Salience peptide — temporarily boost a fact's retrieval ranking because it matters RIGHT NOW: an approaching deadline, a live incident, the topic under active w"},{"name":"move_fact","description":"Move a fact to a different namespace or layer without changing its content. Updates metadata in place — preserves fact_id, text, embedding, timestamp, and depre"},{"name":"reinforce_fact","description":"Reward peptide — reinforce a fact whose recall LED TO A REAL GOOD OUTCOME (fix worked, deploy green, user approved). Boosts its future retrieval ranking with a "},{"name":"resume_session","description":"Call to load session continuity. Last session: no prior session."},{"name":"revoke_grant","description":"Revoke a pending invitation or active grant as the GRANTOR (owner of the shared namespace). Idempotent. Grantees use decline_invite / leave_grant."},{"name":"search_context","description":"Search across ingested conversations and session history for broader context. Use this for finding discussions, decisions made in conversation, or context that "},{"name":"search_facts","description":"Search your persistent memory for stored facts.\n\nFor session bootstrap, prefer load_context() or wake_status() — they pull your identity, conventions, and lates"},{"name":"setup_account","description":"Set up or restore your persistent memory connection.\n\nUse mode='link_or_create' when the user gives an email — works for both new and returning users. The serve"},{"name":"store_fact","description":"Store information that should persist across sessions.\n\nStorage tips for best retrieval:\n- Include searchable keywords: 'We chose the Postgres DATABASE for ACID"},{"name":"store_facts","description":"Store up to 50 facts in one call — the same fields as store_fact per item. Made for carrying memory over: when you already remember things about the person from"},{"name":"store_session_summary","description":"Store a compressed summary of this session to preserve continuity for the next one.\n\nCall this before ending a conversation — it is the dream cycle.\n\nStores a L"},{"name":"switch_workspace","description":"Narrow this session's memory to one project: name='<slug>' scopes recall, the wake bundle, self-notes and the default namespace for new facts to project:<slug>:"},{"name":"wake_status","description":"Check which context layers loaded successfully on this session start. Returns a structured status: which of embryo, conventions, agent identity, closing note, a"},{"name":"watch_events","description":"Long-poll this account's fact-write events instead of re-scanning with since_epoch. Every store/supersede/delete/archive/restore/move publishes one event {key, "}],"toolCount":32,"toolsHash":"ffe921e1b6d1287c33c0eedd9c21ef496de2e5336982db08a6886b93575b899e","serverName":"emily-context","capabilities":["experimental","resources","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-23T01:31:19.280Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":311,"error":null,"detail":{"tools":[{"name":"accept_invite","description":"Accept a namespace invitation addressed to THIS authenticated account's verified email (two-step email OTP).\n\nSteps:\n1) step='request' — emails a 6-digit code t"},{"name":"bind_agent","description":"Bind a sticky agent identity to this MCP session. Once bound, wake_status and load_context default to this agent_id when called without an explicit agent_id= ar"},{"name":"decline_invite","description":"Decline a pending (status=invited) namespace invitation as the grantee. Server verifies you are the invitee (email/tenant match). Grantors must use revoke_grant"},{"name":"delete_fact","description":"Soft-delete a stored fact by its UUID (Smart Forget). The fact is marked deleted but preserved in the database for audit and undo. Excluded from all normal sear"},{"name":"get_fact","description":"Retrieve a fact by its exact key — deterministic, never misses. Use get_fact for self-notes: get_fact(key='agent:<name>:self-note:opening') or get_fact(key='age"},{"name":"get_fact_history","description":"Return the full version history for a keyed fact — current version plus all deprecated predecessors. Use to see how a fact evolved over time or to undo an accid"},{"name":"get_session_seed","description":"Return the pre-computed session seed for this tenant — a compact first-person bio (~500 tokens) describing who you are and what you care about right now. Genera"},{"name":"get_stats","description":"Get your memory usage statistics — total facts stored, plan limits, collection sizes, and daily query counts. Call this to check how much storage you have used "},{"name":"ghost_mode","description":"Enable or disable ghost mode for this session. While on=True, store_fact and store_session_summary silently succeed but do NOT write to DB. search_facts, load_c"},{"name":"index_recent","description":"Return the most recent fact operations across all agents in this tenant, newest first. Use this on session start to see what other agents wrote since you were l"},{"name":"index_search","description":"Filtered search over the tenant activity index. Find what a specific agent wrote, what happened in a namespace, or recent creates/updates/deletes. Useful for co"},{"name":"index_stats","description":"Usage statistics from the tenant activity index: total operations, breakdown by agent, by namespace, and by day. Useful for understanding which agents are most "},{"name":"introduce_yourself","description":"Optional: introduce yourself to the platform. Stores your model info and a brief note in the shared agent registry.\n\nStores a fact with:\n  category: identity\n  "},{"name":"leave_grant","description":"Leave an active namespace grant as the grantee (stop using shared namespace). Server verifies grantee authorization. Grantors who want to cut off a collaborator"},{"name":"list_facts_by_key_prefix","description":"Deterministic prefix scan over fact keys, optionally bounded by timestamp. The inbox primitive — use this for R1 comms scans, dispatch discovery, trio listings,"},{"name":"list_invites","description":"List this account's namespace collaboration grants: incoming invitations and outgoing shares. Each row has direction (incoming|outgoing), status (invited|active"},{"name":"list_workspaces","description":"The places this account's memory is organised into: its own projects (anything written under project:<slug>:*, newest activity first) and the workspaces other p"},{"name":"load_context","description":"Load your bootstrap context deterministically — pulls L0 (identity) + L1 (architecture) + latest L2 (state) + latest L3 (session summary).\n\nCall this at the STA"},{"name":"mark_salient","description":"Salience peptide — temporarily boost a fact's retrieval ranking because it matters RIGHT NOW: an approaching deadline, a live incident, the topic under active w"},{"name":"move_fact","description":"Move a fact to a different namespace or layer without changing its content. Updates metadata in place — preserves fact_id, text, embedding, timestamp, and depre"},{"name":"reinforce_fact","description":"Reward peptide — reinforce a fact whose recall LED TO A REAL GOOD OUTCOME (fix worked, deploy green, user approved). Boosts its future retrieval ranking with a "},{"name":"resume_session","description":"Call to load session continuity. Last session: no prior session."},{"name":"revoke_grant","description":"Revoke a pending invitation or active grant as the GRANTOR (owner of the shared namespace). Idempotent. Grantees use decline_invite / leave_grant."},{"name":"search_context","description":"Search across ingested conversations and session history for broader context. Use this for finding discussions, decisions made in conversation, or context that "},{"name":"search_facts","description":"Search your persistent memory for stored facts.\n\nFor session bootstrap, prefer load_context() or wake_status() — they pull your identity, conventions, and lates"},{"name":"setup_account","description":"Set up or restore your persistent memory connection.\n\nUse mode='link_or_create' when the user gives an email — works for both new and returning users. The serve"},{"name":"store_fact","description":"Store information that should persist across sessions.\n\nStorage tips for best retrieval:\n- Include searchable keywords: 'We chose the Postgres DATABASE for ACID"},{"name":"store_facts","description":"Store up to 50 facts in one call — the same fields as store_fact per item. Made for carrying memory over: when you already remember things about the person from"},{"name":"store_session_summary","description":"Store a compressed summary of this session to preserve continuity for the next one.\n\nCall this before ending a conversation — it is the dream cycle.\n\nStores a L"},{"name":"switch_workspace","description":"Narrow this session's memory to one project: name='<slug>' scopes recall, the wake bundle, self-notes and the default namespace for new facts to project:<slug>:"},{"name":"wake_status","description":"Check which context layers loaded successfully on this session start. Returns a structured status: which of embryo, conventions, agent identity, closing note, a"},{"name":"watch_events","description":"Long-poll this account's fact-write events instead of re-scanning with since_epoch. Every store/supersede/delete/archive/restore/move publishes one event {key, "}],"toolCount":32,"toolsHash":"ffe921e1b6d1287c33c0eedd9c21ef496de2e5336982db08a6886b93575b899e","serverName":"emily-context","capabilities":["experimental","resources","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-22T19:30:37.371Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":456,"error":null,"detail":{"tools":[{"name":"accept_invite","description":"Accept a namespace invitation addressed to THIS authenticated account's verified email (two-step email OTP).\n\nSteps:\n1) step='request' — emails a 6-digit code t"},{"name":"bind_agent","description":"Bind a sticky agent identity to this MCP session. Once bound, wake_status and load_context default to this agent_id when called without an explicit agent_id= ar"},{"name":"decline_invite","description":"Decline a pending (status=invited) namespace invitation as the grantee. Server verifies you are the invitee (email/tenant match). Grantors must use revoke_grant"},{"name":"delete_fact","description":"Soft-delete a stored fact by its UUID (Smart Forget). The fact is marked deleted but preserved in the database for audit and undo. Excluded from all normal sear"},{"name":"get_fact","description":"Retrieve a fact by its exact key — deterministic, never misses. Use get_fact for self-notes: get_fact(key='agent:<name>:self-note:opening') or get_fact(key='age"},{"name":"get_fact_history","description":"Return the full version history for a keyed fact — current version plus all deprecated predecessors. Use to see how a fact evolved over time or to undo an accid"},{"name":"get_session_seed","description":"Return the pre-computed session seed for this tenant — a compact first-person bio (~500 tokens) describing who you are and what you care about right now. Genera"},{"name":"get_stats","description":"Get your memory usage statistics — total facts stored, plan limits, collection sizes, and daily query counts. Call this to check how much storage you have used "},{"name":"ghost_mode","description":"Enable or disable ghost mode for this session. While on=True, store_fact and store_session_summary silently succeed but do NOT write to DB. search_facts, load_c"},{"name":"index_recent","description":"Return the most recent fact operations across all agents in this tenant, newest first. Use this on session start to see what other agents wrote since you were l"},{"name":"index_search","description":"Filtered search over the tenant activity index. Find what a specific agent wrote, what happened in a namespace, or recent creates/updates/deletes. Useful for co"},{"name":"index_stats","description":"Usage statistics from the tenant activity index: total operations, breakdown by agent, by namespace, and by day. Useful for understanding which agents are most "},{"name":"introduce_yourself","description":"Optional: introduce yourself to the platform. Stores your model info and a brief note in the shared agent registry.\n\nStores a fact with:\n  category: identity\n  "},{"name":"leave_grant","description":"Leave an active namespace grant as the grantee (stop using shared namespace). Server verifies grantee authorization. Grantors who want to cut off a collaborator"},{"name":"list_facts_by_key_prefix","description":"Deterministic prefix scan over fact keys, optionally bounded by timestamp. The inbox primitive — use this for R1 comms scans, dispatch discovery, trio listings,"},{"name":"list_invites","description":"List this account's namespace collaboration grants: incoming invitations and outgoing shares. Each row has direction (incoming|outgoing), status (invited|active"},{"name":"list_workspaces","description":"The places this account's memory is organised into: its own projects (anything written under project:<slug>:*, newest activity first) and the workspaces other p"},{"name":"load_context","description":"Load your bootstrap context deterministically — pulls L0 (identity) + L1 (architecture) + latest L2 (state) + latest L3 (session summary).\n\nCall this at the STA"},{"name":"mark_salient","description":"Salience peptide — temporarily boost a fact's retrieval ranking because it matters RIGHT NOW: an approaching deadline, a live incident, the topic under active w"},{"name":"move_fact","description":"Move a fact to a different namespace or layer without changing its content. Updates metadata in place — preserves fact_id, text, embedding, timestamp, and depre"},{"name":"reinforce_fact","description":"Reward peptide — reinforce a fact whose recall LED TO A REAL GOOD OUTCOME (fix worked, deploy green, user approved). Boosts its future retrieval ranking with a "},{"name":"resume_session","description":"Call to load session continuity. Last session: no prior session."},{"name":"revoke_grant","description":"Revoke a pending invitation or active grant as the GRANTOR (owner of the shared namespace). Idempotent. Grantees use decline_invite / leave_grant."},{"name":"search_context","description":"Search across ingested conversations and session history for broader context. Use this for finding discussions, decisions made in conversation, or context that "},{"name":"search_facts","description":"Search your persistent memory for stored facts.\n\nFor session bootstrap, prefer load_context() or wake_status() — they pull your identity, conventions, and lates"},{"name":"setup_account","description":"Set up or restore your persistent memory connection.\n\nUse mode='link_or_create' when the user gives an email — works for both new and returning users. The serve"},{"name":"store_fact","description":"Store information that should persist across sessions.\n\nStorage tips for best retrieval:\n- Include searchable keywords: 'We chose the Postgres DATABASE for ACID"},{"name":"store_facts","description":"Store up to 50 facts in one call — the same fields as store_fact per item. Made for carrying memory over: when you already remember things about the person from"},{"name":"store_session_summary","description":"Store a compressed summary of this session to preserve continuity for the next one.\n\nCall this before ending a conversation — it is the dream cycle.\n\nStores a L"},{"name":"switch_workspace","description":"Narrow this session's memory to one project: name='<slug>' scopes recall, the wake bundle, self-notes and the default namespace for new facts to project:<slug>:"},{"name":"wake_status","description":"Check which context layers loaded successfully on this session start. Returns a structured status: which of embryo, conventions, agent identity, closing note, a"},{"name":"watch_events","description":"Long-poll this account's fact-write events instead of re-scanning with since_epoch. Every store/supersede/delete/archive/restore/move publishes one event {key, "}],"toolCount":32,"toolsHash":"ffe921e1b6d1287c33c0eedd9c21ef496de2e5336982db08a6886b93575b899e","serverName":"emily-context","capabilities":["experimental","resources","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-22T12:31:53.151Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":349,"error":null,"detail":{"tools":[{"name":"accept_invite","description":"Accept a namespace invitation addressed to THIS authenticated account's verified email (two-step email OTP).\n\nSteps:\n1) step='request' — emails a 6-digit code t"},{"name":"bind_agent","description":"Bind a sticky agent identity to this MCP session. Once bound, wake_status and load_context default to this agent_id when called without an explicit agent_id= ar"},{"name":"decline_invite","description":"Decline a pending (status=invited) namespace invitation as the grantee. Server verifies you are the invitee (email/tenant match). Grantors must use revoke_grant"},{"name":"delete_fact","description":"Soft-delete a stored fact by its UUID (Smart Forget). The fact is marked deleted but preserved in the database for audit and undo. Excluded from all normal sear"},{"name":"get_fact","description":"Retrieve a fact by its exact key — deterministic, never misses. Use get_fact for self-notes: get_fact(key='agent:<name>:self-note:opening') or get_fact(key='age"},{"name":"get_fact_history","description":"Return the full version history for a keyed fact — current version plus all deprecated predecessors. Use to see how a fact evolved over time or to undo an accid"},{"name":"get_session_seed","description":"Return the pre-computed session seed for this tenant — a compact first-person bio (~500 tokens) describing who you are and what you care about right now. Genera"},{"name":"get_stats","description":"Get your memory usage statistics — total facts stored, plan limits, collection sizes, and daily query counts. Call this to check how much storage you have used "},{"name":"ghost_mode","description":"Enable or disable ghost mode for this session. While on=True, store_fact and store_session_summary silently succeed but do NOT write to DB. search_facts, load_c"},{"name":"index_recent","description":"Return the most recent fact operations across all agents in this tenant, newest first. Use this on session start to see what other agents wrote since you were l"},{"name":"index_search","description":"Filtered search over the tenant activity index. Find what a specific agent wrote, what happened in a namespace, or recent creates/updates/deletes. Useful for co"},{"name":"index_stats","description":"Usage statistics from the tenant activity index: total operations, breakdown by agent, by namespace, and by day. Useful for understanding which agents are most "},{"name":"introduce_yourself","description":"Optional: introduce yourself to the platform. Stores your model info and a brief note in the shared agent registry.\n\nStores a fact with:\n  category: identity\n  "},{"name":"leave_grant","description":"Leave an active namespace grant as the grantee (stop using shared namespace). Server verifies grantee authorization. Grantors who want to cut off a collaborator"},{"name":"list_facts_by_key_prefix","description":"Deterministic prefix scan over fact keys, optionally bounded by timestamp. The inbox primitive — use this for R1 comms scans, dispatch discovery, trio listings,"},{"name":"list_invites","description":"List this account's namespace collaboration grants: incoming invitations and outgoing shares. Each row has direction (incoming|outgoing), status (invited|active"},{"name":"list_workspaces","description":"The places this account's memory is organised into: its own projects (anything written under project:<slug>:*, newest activity first) and the workspaces other p"},{"name":"load_context","description":"Load your bootstrap context deterministically — pulls L0 (identity) + L1 (architecture) + latest L2 (state) + latest L3 (session summary).\n\nCall this at the STA"},{"name":"mark_salient","description":"Salience peptide — temporarily boost a fact's retrieval ranking because it matters RIGHT NOW: an approaching deadline, a live incident, the topic under active w"},{"name":"move_fact","description":"Move a fact to a different namespace or layer without changing its content. Updates metadata in place — preserves fact_id, text, embedding, timestamp, and depre"},{"name":"reinforce_fact","description":"Reward peptide — reinforce a fact whose recall LED TO A REAL GOOD OUTCOME (fix worked, deploy green, user approved). Boosts its future retrieval ranking with a "},{"name":"resume_session","description":"Call to load session continuity. Last session: no prior session."},{"name":"revoke_grant","description":"Revoke a pending invitation or active grant as the GRANTOR (owner of the shared namespace). Idempotent. Grantees use decline_invite / leave_grant."},{"name":"search_context","description":"Search across ingested conversations and session history for broader context. Use this for finding discussions, decisions made in conversation, or context that "},{"name":"search_facts","description":"Search your persistent memory for stored facts.\n\nFor session bootstrap, prefer load_context() or wake_status() — they pull your identity, conventions, and lates"},{"name":"setup_account","description":"Set up or restore your persistent memory connection.\n\nUse mode='link_or_create' when the user gives an email — works for both new and returning users. The serve"},{"name":"store_fact","description":"Store information that should persist across sessions.\n\nStorage tips for best retrieval:\n- Include searchable keywords: 'We chose the Postgres DATABASE for ACID"},{"name":"store_facts","description":"Store up to 50 facts in one call — the same fields as store_fact per item. Made for carrying memory over: when you already remember things about the person from"},{"name":"store_session_summary","description":"Store a compressed summary of this session to preserve continuity for the next one.\n\nCall this before ending a conversation — it is the dream cycle.\n\nStores a L"},{"name":"switch_workspace","description":"Narrow this session's memory to one project: name='<slug>' scopes recall, the wake bundle, self-notes and the default namespace for new facts to project:<slug>:"},{"name":"wake_status","description":"Check which context layers loaded successfully on this session start. Returns a structured status: which of embryo, conventions, agent identity, closing note, a"},{"name":"watch_events","description":"Long-poll this account's fact-write events instead of re-scanning with since_epoch. Every store/supersede/delete/archive/restore/move publishes one event {key, "}],"toolCount":32,"toolsHash":"ffe921e1b6d1287c33c0eedd9c21ef496de2e5336982db08a6886b93575b899e","serverName":"emily-context","capabilities":["experimental","resources","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-22T06:26:35.992Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":299,"error":null,"detail":{"tools":[{"name":"accept_invite","description":"Accept a namespace invitation addressed to THIS authenticated account's verified email (two-step email OTP).\n\nSteps:\n1) step='request' — emails a 6-digit code t"},{"name":"bind_agent","description":"Bind a sticky agent identity to this MCP session. Once bound, wake_status and load_context default to this agent_id when called without an explicit agent_id= ar"},{"name":"decline_invite","description":"Decline a pending (status=invited) namespace invitation as the grantee. Server verifies you are the invitee (email/tenant match). Grantors must use revoke_grant"},{"name":"delete_fact","description":"Soft-delete a stored fact by its UUID (Smart Forget). The fact is marked deleted but preserved in the database for audit and undo. Excluded from all normal sear"},{"name":"get_fact","description":"Retrieve a fact by its exact key — deterministic, never misses. Use get_fact for self-notes: get_fact(key='agent:<name>:self-note:opening') or get_fact(key='age"},{"name":"get_fact_history","description":"Return the full version history for a keyed fact — current version plus all deprecated predecessors. Use to see how a fact evolved over time or to undo an accid"},{"name":"get_session_seed","description":"Return the pre-computed session seed for this tenant — a compact first-person bio (~500 tokens) describing who you are and what you care about right now. Genera"},{"name":"get_stats","description":"Get your memory usage statistics — total facts stored, plan limits, collection sizes, and daily query counts. Call this to check how much storage you have used "},{"name":"ghost_mode","description":"Enable or disable ghost mode for this session. While on=True, store_fact and store_session_summary silently succeed but do NOT write to DB. search_facts, load_c"},{"name":"index_recent","description":"Return the most recent fact operations across all agents in this tenant, newest first. Use this on session start to see what other agents wrote since you were l"},{"name":"index_search","description":"Filtered search over the tenant activity index. Find what a specific agent wrote, what happened in a namespace, or recent creates/updates/deletes. Useful for co"},{"name":"index_stats","description":"Usage statistics from the tenant activity index: total operations, breakdown by agent, by namespace, and by day. Useful for understanding which agents are most "},{"name":"introduce_yourself","description":"Optional: introduce yourself to the platform. Stores your model info and a brief note in the shared agent registry.\n\nStores a fact with:\n  category: identity\n  "},{"name":"leave_grant","description":"Leave an active namespace grant as the grantee (stop using shared namespace). Server verifies grantee authorization. Grantors who want to cut off a collaborator"},{"name":"list_facts_by_key_prefix","description":"Deterministic prefix scan over fact keys, optionally bounded by timestamp. The inbox primitive — use this for R1 comms scans, dispatch discovery, trio listings,"},{"name":"list_invites","description":"List this account's namespace collaboration grants: incoming invitations and outgoing shares. Each row has direction (incoming|outgoing), status (invited|active"},{"name":"list_workspaces","description":"The places this account's memory is organised into: its own projects (anything written under project:<slug>:*, newest activity first) and the workspaces other p"},{"name":"load_context","description":"Load your bootstrap context deterministically — pulls L0 (identity) + L1 (architecture) + latest L2 (state) + latest L3 (session summary).\n\nCall this at the STA"},{"name":"mark_salient","description":"Salience peptide — temporarily boost a fact's retrieval ranking because it matters RIGHT NOW: an approaching deadline, a live incident, the topic under active w"},{"name":"move_fact","description":"Move a fact to a different namespace or layer without changing its content. Updates metadata in place — preserves fact_id, text, embedding, timestamp, and depre"},{"name":"reinforce_fact","description":"Reward peptide — reinforce a fact whose recall LED TO A REAL GOOD OUTCOME (fix worked, deploy green, user approved). Boosts its future retrieval ranking with a "},{"name":"resume_session","description":"Call to load session continuity. Last session: no prior session."},{"name":"revoke_grant","description":"Revoke a pending invitation or active grant as the GRANTOR (owner of the shared namespace). Idempotent. Grantees use decline_invite / leave_grant."},{"name":"search_context","description":"Search across ingested conversations and session history for broader context. Use this for finding discussions, decisions made in conversation, or context that "},{"name":"search_facts","description":"Search your persistent memory for stored facts.\n\nFor session bootstrap, prefer load_context() or wake_status() — they pull your identity, conventions, and lates"},{"name":"setup_account","description":"Set up or restore your persistent memory connection.\n\nUse mode='link_or_create' when the user gives an email — works for both new and returning users. The serve"},{"name":"store_fact","description":"Store information that should persist across sessions.\n\nStorage tips for best retrieval:\n- Include searchable keywords: 'We chose the Postgres DATABASE for ACID"},{"name":"store_facts","description":"Store up to 50 facts in one call — the same fields as store_fact per item. Made for carrying memory over: when you already remember things about the person from"},{"name":"store_session_summary","description":"Store a compressed summary of this session to preserve continuity for the next one.\n\nCall this before ending a conversation — it is the dream cycle.\n\nStores a L"},{"name":"switch_workspace","description":"Narrow this session's memory to one project: name='<slug>' scopes recall, the wake bundle, self-notes and the default namespace for new facts to project:<slug>:"},{"name":"wake_status","description":"Check which context layers loaded successfully on this session start. Returns a structured status: which of embryo, conventions, agent identity, closing note, a"},{"name":"watch_events","description":"Long-poll this account's fact-write events instead of re-scanning with since_epoch. Every store/supersede/delete/archive/restore/move publishes one event {key, "}],"toolCount":32,"toolsHash":"ffe921e1b6d1287c33c0eedd9c21ef496de2e5336982db08a6886b93575b899e","serverName":"emily-context","capabilities":["experimental","resources","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-21T23:27:01.722Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":284,"error":null,"detail":{"tools":[{"name":"accept_invite","description":"Accept a namespace invitation addressed to THIS authenticated account's verified email (two-step email OTP).\n\nSteps:\n1) step='request' — emails a 6-digit code t"},{"name":"bind_agent","description":"Bind a sticky agent identity to this MCP session. Once bound, wake_status and load_context default to this agent_id when called without an explicit agent_id= ar"},{"name":"decline_invite","description":"Decline a pending (status=invited) namespace invitation as the grantee. Server verifies you are the invitee (email/tenant match). Grantors must use revoke_grant"},{"name":"delete_fact","description":"Soft-delete a stored fact by its UUID (Smart Forget). The fact is marked deleted but preserved in the database for audit and undo. Excluded from all normal sear"},{"name":"get_fact","description":"Retrieve a fact by its exact key — deterministic, never misses. Use get_fact for self-notes: get_fact(key='agent:<name>:self-note:opening') or get_fact(key='age"},{"name":"get_fact_history","description":"Return the full version history for a keyed fact — current version plus all deprecated predecessors. Use to see how a fact evolved over time or to undo an accid"},{"name":"get_session_seed","description":"Return the pre-computed session seed for this tenant — a compact first-person bio (~500 tokens) describing who you are and what you care about right now. Genera"},{"name":"get_stats","description":"Get your memory usage statistics — total facts stored, plan limits, collection sizes, and daily query counts. Call this to check how much storage you have used "},{"name":"ghost_mode","description":"Enable or disable ghost mode for this session. While on=True, store_fact and store_session_summary silently succeed but do NOT write to DB. search_facts, load_c"},{"name":"index_recent","description":"Return the most recent fact operations across all agents in this tenant, newest first. Use this on session start to see what other agents wrote since you were l"},{"name":"index_search","description":"Filtered search over the tenant activity index. Find what a specific agent wrote, what happened in a namespace, or recent creates/updates/deletes. Useful for co"},{"name":"index_stats","description":"Usage statistics from the tenant activity index: total operations, breakdown by agent, by namespace, and by day. Useful for understanding which agents are most "},{"name":"introduce_yourself","description":"Optional: introduce yourself to the platform. Stores your model info and a brief note in the shared agent registry.\n\nStores a fact with:\n  category: identity\n  "},{"name":"leave_grant","description":"Leave an active namespace grant as the grantee (stop using shared namespace). Server verifies grantee authorization. Grantors who want to cut off a collaborator"},{"name":"list_facts_by_key_prefix","description":"Deterministic prefix scan over fact keys, optionally bounded by timestamp. The inbox primitive — use this for R1 comms scans, dispatch discovery, trio listings,"},{"name":"list_invites","description":"List this account's namespace collaboration grants: incoming invitations and outgoing shares. Each row has direction (incoming|outgoing), status (invited|active"},{"name":"list_workspaces","description":"The places this account's memory is organised into: its own projects (anything written under project:<slug>:*, newest activity first) and the workspaces other p"},{"name":"load_context","description":"Load your bootstrap context deterministically — pulls L0 (identity) + L1 (architecture) + latest L2 (state) + latest L3 (session summary).\n\nCall this at the STA"},{"name":"mark_salient","description":"Salience peptide — temporarily boost a fact's retrieval ranking because it matters RIGHT NOW: an approaching deadline, a live incident, the topic under active w"},{"name":"move_fact","description":"Move a fact to a different namespace or layer without changing its content. Updates metadata in place — preserves fact_id, text, embedding, timestamp, and depre"},{"name":"reinforce_fact","description":"Reward peptide — reinforce a fact whose recall LED TO A REAL GOOD OUTCOME (fix worked, deploy green, user approved). Boosts its future retrieval ranking with a "},{"name":"resume_session","description":"Call to load session continuity. Last session: no prior session."},{"name":"revoke_grant","description":"Revoke a pending invitation or active grant as the GRANTOR (owner of the shared namespace). Idempotent. Grantees use decline_invite / leave_grant."},{"name":"search_context","description":"Search across ingested conversations and session history for broader context. Use this for finding discussions, decisions made in conversation, or context that "},{"name":"search_facts","description":"Search your persistent memory for stored facts.\n\nFor session bootstrap, prefer load_context() or wake_status() — they pull your identity, conventions, and lates"},{"name":"setup_account","description":"Set up or restore your persistent memory connection.\n\nUse mode='link_or_create' when the user gives an email — works for both new and returning users. The serve"},{"name":"store_fact","description":"Store information that should persist across sessions.\n\nStorage tips for best retrieval:\n- Include searchable keywords: 'We chose the Postgres DATABASE for ACID"},{"name":"store_facts","description":"Store up to 50 facts in one call — the same fields as store_fact per item. Made for carrying memory over: when you already remember things about the person from"},{"name":"store_session_summary","description":"Store a compressed summary of this session to preserve continuity for the next one.\n\nCall this before ending a conversation — it is the dream cycle.\n\nStores a L"},{"name":"switch_workspace","description":"Narrow this session's memory to one project: name='<slug>' scopes recall, the wake bundle, self-notes and the default namespace for new facts to project:<slug>:"},{"name":"wake_status","description":"Check which context layers loaded successfully on this session start. Returns a structured status: which of embryo, conventions, agent identity, closing note, a"},{"name":"watch_events","description":"Long-poll this account's fact-write events instead of re-scanning with since_epoch. Every store/supersede/delete/archive/restore/move publishes one event {key, "}],"toolCount":32,"toolsHash":"ffe921e1b6d1287c33c0eedd9c21ef496de2e5336982db08a6886b93575b899e","serverName":"emily-context","capabilities":["experimental","resources","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-21T16:35:03.054Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":411,"error":null,"detail":{"tools":[{"name":"accept_invite","description":"Accept a namespace invitation addressed to THIS authenticated account's verified email (two-step email OTP).\n\nSteps:\n1) step='request' — emails a 6-digit code t"},{"name":"bind_agent","description":"Bind a sticky agent identity to this MCP session. Once bound, wake_status and load_context default to this agent_id when called without an explicit agent_id= ar"},{"name":"decline_invite","description":"Decline a pending (status=invited) namespace invitation as the grantee. Server verifies you are the invitee (email/tenant match). Grantors must use revoke_grant"},{"name":"delete_fact","description":"Soft-delete a stored fact by its UUID (Smart Forget). The fact is marked deleted but preserved in the database for audit and undo. Excluded from all normal sear"},{"name":"get_fact","description":"Retrieve a fact by its exact key — deterministic, never misses. Use get_fact for self-notes: get_fact(key='agent:<name>:self-note:opening') or get_fact(key='age"},{"name":"get_fact_history","description":"Return the full version history for a keyed fact — current version plus all deprecated predecessors. Use to see how a fact evolved over time or to undo an accid"},{"name":"get_session_seed","description":"Return the pre-computed session seed for this tenant — a compact first-person bio (~500 tokens) describing who you are and what you care about right now. Genera"},{"name":"get_stats","description":"Get your memory usage statistics — total facts stored, plan limits, collection sizes, and daily query counts. Call this to check how much storage you have used "},{"name":"ghost_mode","description":"Enable or disable ghost mode for this session. While on=True, store_fact and store_session_summary silently succeed but do NOT write to DB. search_facts, load_c"},{"name":"index_recent","description":"Return the most recent fact operations across all agents in this tenant, newest first. Use this on session start to see what other agents wrote since you were l"},{"name":"index_search","description":"Filtered search over the tenant activity index. Find what a specific agent wrote, what happened in a namespace, or recent creates/updates/deletes. Useful for co"},{"name":"index_stats","description":"Usage statistics from the tenant activity index: total operations, breakdown by agent, by namespace, and by day. Useful for understanding which agents are most "},{"name":"introduce_yourself","description":"Optional: introduce yourself to the platform. Stores your model info and a brief note in the shared agent registry.\n\nStores a fact with:\n  category: identity\n  "},{"name":"leave_grant","description":"Leave an active namespace grant as the grantee (stop using shared namespace). Server verifies grantee authorization. Grantors who want to cut off a collaborator"},{"name":"list_facts_by_key_prefix","description":"Deterministic prefix scan over fact keys, optionally bounded by timestamp. The inbox primitive — use this for R1 comms scans, dispatch discovery, trio listings,"},{"name":"list_invites","description":"List this account's namespace collaboration grants: incoming invitations and outgoing shares. Each row has direction (incoming|outgoing), status (invited|active"},{"name":"list_workspaces","description":"The places this account's memory is organised into: its own projects (anything written under project:<slug>:*, newest activity first) and the workspaces other p"},{"name":"load_context","description":"Load your bootstrap context deterministically — pulls L0 (identity) + L1 (architecture) + latest L2 (state) + latest L3 (session summary).\n\nCall this at the STA"},{"name":"mark_salient","description":"Salience peptide — temporarily boost a fact's retrieval ranking because it matters RIGHT NOW: an approaching deadline, a live incident, the topic under active w"},{"name":"move_fact","description":"Move a fact to a different namespace or layer without changing its content. Updates metadata in place — preserves fact_id, text, embedding, timestamp, and depre"},{"name":"reinforce_fact","description":"Reward peptide — reinforce a fact whose recall LED TO A REAL GOOD OUTCOME (fix worked, deploy green, user approved). Boosts its future retrieval ranking with a "},{"name":"resume_session","description":"Call to load session continuity. Last session: no prior session."},{"name":"revoke_grant","description":"Revoke a pending invitation or active grant as the GRANTOR (owner of the shared namespace). Idempotent. Grantees use decline_invite / leave_grant."},{"name":"search_context","description":"Search across ingested conversations and session history for broader context. Use this for finding discussions, decisions made in conversation, or context that "},{"name":"search_facts","description":"Search your persistent memory for stored facts.\n\nFor session bootstrap, prefer load_context() or wake_status() — they pull your identity, conventions, and lates"},{"name":"setup_account","description":"Set up or restore your persistent memory connection.\n\nUse mode='link_or_create' when the user gives an email — works for both new and returning users. The serve"},{"name":"store_fact","description":"Store information that should persist across sessions.\n\nStorage tips for best retrieval:\n- Include searchable keywords: 'We chose the Postgres DATABASE for ACID"},{"name":"store_facts","description":"Store up to 50 facts in one call — the same fields as store_fact per item. Made for carrying memory over: when you already remember things about the person from"},{"name":"store_session_summary","description":"Store a compressed summary of this session to preserve continuity for the next one.\n\nCall this before ending a conversation — it is the dream cycle.\n\nStores a L"},{"name":"switch_workspace","description":"Narrow this session's memory to one project: name='<slug>' scopes recall, the wake bundle, self-notes and the default namespace for new facts to project:<slug>:"},{"name":"wake_status","description":"Check which context layers loaded successfully on this session start. Returns a structured status: which of embryo, conventions, agent identity, closing note, a"},{"name":"watch_events","description":"Long-poll this account's fact-write events instead of re-scanning with since_epoch. Every store/supersede/delete/archive/restore/move publishes one event {key, "}],"toolCount":32,"toolsHash":"ffe921e1b6d1287c33c0eedd9c21ef496de2e5336982db08a6886b93575b899e","serverName":"emily-context","capabilities":["experimental","resources","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-21T05:25:18.416Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":310,"error":null,"detail":{"tools":[{"name":"accept_invite","description":"Accept a namespace invitation addressed to THIS authenticated account's verified email (two-step email OTP).\n\nSteps:\n1) step='request' — emails a 6-digit code t"},{"name":"bind_agent","description":"Bind a sticky agent identity to this MCP session. Once bound, wake_status and load_context default to this agent_id when called without an explicit agent_id= ar"},{"name":"decline_invite","description":"Decline a pending (status=invited) namespace invitation as the grantee. Server verifies you are the invitee (email/tenant match). Grantors must use revoke_grant"},{"name":"delete_fact","description":"Soft-delete a stored fact by its UUID (Smart Forget). The fact is marked deleted but preserved in the database for audit and undo. Excluded from all normal sear"},{"name":"get_fact","description":"Retrieve a fact by its exact key — deterministic, never misses. Use get_fact for self-notes: get_fact(key='agent:<name>:self-note:opening') or get_fact(key='age"},{"name":"get_fact_history","description":"Return the full version history for a keyed fact — current version plus all deprecated predecessors. Use to see how a fact evolved over time or to undo an accid"},{"name":"get_session_seed","description":"Return the pre-computed session seed for this tenant — a compact first-person bio (~500 tokens) describing who you are and what you care about right now. Genera"},{"name":"get_stats","description":"Get your memory usage statistics — total facts stored, plan limits, collection sizes, and daily query counts. Call this to check how much storage you have used "},{"name":"ghost_mode","description":"Enable or disable ghost mode for this session. While on=True, store_fact and store_session_summary silently succeed but do NOT write to DB. search_facts, load_c"},{"name":"index_recent","description":"Return the most recent fact operations across all agents in this tenant, newest first. Use this on session start to see what other agents wrote since you were l"},{"name":"index_search","description":"Filtered search over the tenant activity index. Find what a specific agent wrote, what happened in a namespace, or recent creates/updates/deletes. Useful for co"},{"name":"index_stats","description":"Usage statistics from the tenant activity index: total operations, breakdown by agent, by namespace, and by day. Useful for understanding which agents are most "},{"name":"introduce_yourself","description":"Optional: introduce yourself to the platform. Stores your model info and a brief note in the shared agent registry.\n\nStores a fact with:\n  category: identity\n  "},{"name":"leave_grant","description":"Leave an active namespace grant as the grantee (stop using shared namespace). Server verifies grantee authorization. Grantors who want to cut off a collaborator"},{"name":"list_facts_by_key_prefix","description":"Deterministic prefix scan over fact keys, optionally bounded by timestamp. The inbox primitive — use this for R1 comms scans, dispatch discovery, trio listings,"},{"name":"list_invites","description":"List this account's namespace collaboration grants: incoming invitations and outgoing shares. Each row has direction (incoming|outgoing), status (invited|active"},{"name":"list_workspaces","description":"The places this account's memory is organised into: its own projects (anything written under project:<slug>:*, newest activity first) and the workspaces other p"},{"name":"load_context","description":"Load your bootstrap context deterministically — pulls L0 (identity) + L1 (architecture) + latest L2 (state) + latest L3 (session summary).\n\nCall this at the STA"},{"name":"mark_salient","description":"Salience peptide — temporarily boost a fact's retrieval ranking because it matters RIGHT NOW: an approaching deadline, a live incident, the topic under active w"},{"name":"move_fact","description":"Move a fact to a different namespace or layer without changing its content. Updates metadata in place — preserves fact_id, text, embedding, timestamp, and depre"},{"name":"reinforce_fact","description":"Reward peptide — reinforce a fact whose recall LED TO A REAL GOOD OUTCOME (fix worked, deploy green, user approved). Boosts its future retrieval ranking with a "},{"name":"resume_session","description":"Call to load session continuity. Last session: no prior session."},{"name":"revoke_grant","description":"Revoke a pending invitation or active grant as the GRANTOR (owner of the shared namespace). Idempotent. Grantees use decline_invite / leave_grant."},{"name":"search_context","description":"Search across ingested conversations and session history for broader context. Use this for finding discussions, decisions made in conversation, or context that "},{"name":"search_facts","description":"Search your persistent memory for stored facts.\n\nFor session bootstrap, prefer load_context() or wake_status() — they pull your identity, conventions, and lates"},{"name":"setup_account","description":"Set up or restore your persistent memory connection.\n\nUse mode='link_or_create' when the user gives an email — works for both new and returning users. The serve"},{"name":"store_fact","description":"Store information that should persist across sessions.\n\nStorage tips for best retrieval:\n- Include searchable keywords: 'We chose the Postgres DATABASE for ACID"},{"name":"store_facts","description":"Store up to 50 facts in one call — the same fields as store_fact per item. Made for carrying memory over: when you already remember things about the person from"},{"name":"store_session_summary","description":"Store a compressed summary of this session to preserve continuity for the next one.\n\nCall this before ending a conversation — it is the dream cycle.\n\nStores a L"},{"name":"switch_workspace","description":"Narrow this session's memory to one project: name='<slug>' scopes recall, the wake bundle, self-notes and the default namespace for new facts to project:<slug>:"},{"name":"wake_status","description":"Check which context layers loaded successfully on this session start. Returns a structured status: which of embryo, conventions, agent identity, closing note, a"},{"name":"watch_events","description":"Long-poll this account's fact-write events instead of re-scanning with since_epoch. Every store/supersede/delete/archive/restore/move publishes one event {key, "}],"toolCount":32,"toolsHash":"ffe921e1b6d1287c33c0eedd9c21ef496de2e5336982db08a6886b93575b899e","serverName":"emily-context","capabilities":["experimental","resources","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"accept_invite","description":"Accept a namespace invitation addressed to THIS authenticated account's verified email (two-step email OTP).\n\nSteps:\n1) step='request' — emails a 6-digit code t"},{"name":"bind_agent","description":"Bind a sticky agent identity to this MCP session. Once bound, wake_status and load_context default to this agent_id when called without an explicit agent_id= ar"},{"name":"decline_invite","description":"Decline a pending (status=invited) namespace invitation as the grantee. Server verifies you are the invitee (email/tenant match). Grantors must use revoke_grant"},{"name":"delete_fact","description":"Soft-delete a stored fact by its UUID (Smart Forget). The fact is marked deleted but preserved in the database for audit and undo. Excluded from all normal sear"},{"name":"get_fact","description":"Retrieve a fact by its exact key — deterministic, never misses. Use get_fact for self-notes: get_fact(key='agent:<name>:self-note:opening') or get_fact(key='age"},{"name":"get_fact_history","description":"Return the full version history for a keyed fact — current version plus all deprecated predecessors. Use to see how a fact evolved over time or to undo an accid"},{"name":"get_session_seed","description":"Return the pre-computed session seed for this tenant — a compact first-person bio (~500 tokens) describing who you are and what you care about right now. Genera"},{"name":"get_stats","description":"Get your memory usage statistics — total facts stored, plan limits, collection sizes, and daily query counts. Call this to check how much storage you have used "},{"name":"ghost_mode","description":"Enable or disable ghost mode for this session. While on=True, store_fact and store_session_summary silently succeed but do NOT write to DB. search_facts, load_c"},{"name":"index_recent","description":"Return the most recent fact operations across all agents in this tenant, newest first. Use this on session start to see what other agents wrote since you were l"},{"name":"index_search","description":"Filtered search over the tenant activity index. Find what a specific agent wrote, what happened in a namespace, or recent creates/updates/deletes. Useful for co"},{"name":"index_stats","description":"Usage statistics from the tenant activity index: total operations, breakdown by agent, by namespace, and by day. Useful for understanding which agents are most "},{"name":"introduce_yourself","description":"Optional: introduce yourself to the platform. Stores your model info and a brief note in the shared agent registry.\n\nStores a fact with:\n  category: identity\n  "},{"name":"leave_grant","description":"Leave an active namespace grant as the grantee (stop using shared namespace). Server verifies grantee authorization. Grantors who want to cut off a collaborator"},{"name":"list_facts_by_key_prefix","description":"Deterministic prefix scan over fact keys, optionally bounded by timestamp. The inbox primitive — use this for R1 comms scans, dispatch discovery, trio listings,"},{"name":"list_invites","description":"List this account's namespace collaboration grants: incoming invitations and outgoing shares. Each row has direction (incoming|outgoing), status (invited|active"},{"name":"list_workspaces","description":"The places this account's memory is organised into: its own projects (anything written under project:<slug>:*, newest activity first) and the workspaces other p"},{"name":"load_context","description":"Load your bootstrap context deterministically — pulls L0 (identity) + L1 (architecture) + latest L2 (state) + latest L3 (session summary).\n\nCall this at the STA"},{"name":"mark_salient","description":"Salience peptide — temporarily boost a fact's retrieval ranking because it matters RIGHT NOW: an approaching deadline, a live incident, the topic under active w"},{"name":"move_fact","description":"Move a fact to a different namespace or layer without changing its content. Updates metadata in place — preserves fact_id, text, embedding, timestamp, and depre"},{"name":"reinforce_fact","description":"Reward peptide — reinforce a fact whose recall LED TO A REAL GOOD OUTCOME (fix worked, deploy green, user approved). Boosts its future retrieval ranking with a "},{"name":"resume_session","description":"Call to load session continuity. Last session: no prior session."},{"name":"revoke_grant","description":"Revoke a pending invitation or active grant as the GRANTOR (owner of the shared namespace). Idempotent. Grantees use decline_invite / leave_grant."},{"name":"search_context","description":"Search across ingested conversations and session history for broader context. Use this for finding discussions, decisions made in conversation, or context that "},{"name":"search_facts","description":"Search your persistent memory for stored facts.\n\nFor session bootstrap, prefer load_context() or wake_status() — they pull your identity, conventions, and lates"},{"name":"setup_account","description":"Set up or restore your persistent memory connection.\n\nUse mode='link_or_create' when the user gives an email — works for both new and returning users. The serve"},{"name":"store_fact","description":"Store information that should persist across sessions.\n\nStorage tips for best retrieval:\n- Include searchable keywords: 'We chose the Postgres DATABASE for ACID"},{"name":"store_facts","description":"Store up to 50 facts in one call — the same fields as store_fact per item. Made for carrying memory over: when you already remember things about the person from"},{"name":"store_session_summary","description":"Store a compressed summary of this session to preserve continuity for the next one.\n\nCall this before ending a conversation — it is the dream cycle.\n\nStores a L"},{"name":"switch_workspace","description":"Narrow this session's memory to one project: name='<slug>' scopes recall, the wake bundle, self-notes and the default namespace for new facts to project:<slug>:"},{"name":"wake_status","description":"Check which context layers loaded successfully on this session start. Returns a structured status: which of embryo, conventions, agent identity, closing note, a"},{"name":"watch_events","description":"Long-poll this account's fact-write events instead of re-scanning with since_epoch. Every store/supersede/delete/archive/restore/move publishes one event {key, "}],"package":{"name":"ctxstore-mcp","registry":"pypi","observedAt":"2026-10-23T22:21:51.531Z","publishedAt":"2026-04-09T23:13:42.729632Z","latestVersion":"1.0.0"},"toolSurface":{"id":"ts_xmqg8cr8ccs8","endpointId":"ep_a5rvt8jysz4w","hash":"ffe921e1b6d1287c33c0eedd9c21ef496de2e5336982db08a6886b93575b899e","toolCount":32,"serverName":"emily-context","serverVersion":"1.0.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-19T21:28:15.105Z","lastSeenAt":"2026-10-23T21:25:08.281Z","observations":15,"toolNames":["accept_invite","bind_agent","decline_invite","delete_fact","get_fact","get_fact_history","get_session_seed","get_stats","ghost_mode","index_recent","index_search","index_stats","introduce_yourself","leave_grant","list_facts_by_key_prefix","list_invites","list_workspaces","load_context","mark_salient","move_fact","reinforce_fact","resume_session","revoke_grant","search_context","search_facts","setup_account","store_fact","store_facts","store_session_summary","switch_workspace","wake_status","watch_events"],"distinctSurfaces":3},"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"ai.ctxstore/ctxstore-mcp","url":"https://registry.modelcontextprotocol.io/v0/servers/ai.ctxstore%2Fctxstore-mcp","firstSeenAt":"2026-10-11T18:21:58.377Z","fetchedAt":"2026-10-21T02:22:28.943Z","normalizedAt":"2026-10-21T02:22:28.943Z"},{"source":"a2a_card","key":"https://ctxstore.ai/.well-known/agent-card.json","url":"https://ctxstore.ai/.well-known/agent-card.json","firstSeenAt":"2026-10-23T22:21:50.845Z","fetchedAt":"2026-10-23T22:21:50.845Z","normalizedAt":"2026-10-23T22:21:50.845Z"},{"source":"pypi","key":"ctxstore-mcp","url":"https://pypi.org/project/ctxstore-mcp/","firstSeenAt":"2026-09-09T13:21:02.194Z","fetchedAt":"2026-10-21T20:24:59.335Z","normalizedAt":"2026-10-21T20:24:59.335Z"}]},"firstSeenAt":"2026-09-09T13:21:02.194Z","updatedAt":"2026-10-23T22:21:51.531Z"}