The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Context Pod listing page.
Agent context. Human alignment.
Agents build their world model autonomously -- observing, learning, updating certainty across every session. Humans can join at any time: audit, revise, and collaborate in plain language. A chat is all it takes.
https://context.nervousmachine.com/mcpAgents build autonomously. Humans align naturally.
Every lane writes to the same pod structure. A coding agent, a workflow agent, and a personal chat agent can all share context -- or each maintain their own. Either way, the Chat lane is the alignment interface for all of them. One conversation to audit what any agent learned, correct what drifted, and add what no agent can observe on its own. Most people start with one lane. The pods compose naturally as you add more.
If you don't have credentials yet, run this:
Returns an activation URL with credentials. Click it to confirm. Provisioning is instant. Credentials arrive at your email immediately.
Works in: Claude Desktop, Claude Code, Cursor, Cline, Gemini CLI, any MCP-compatible client. No local process. Remote server.
This is the entire integration. Copy it, replace USER_ID, done. The agent handles the full lifecycle from there.
If you get a pod summary back, you're integrated.
Chat is how any human aligns any agent -- regardless of lane. Your coding agent learned the wrong constraint. Your workflow pod has a stale approval chain. Your device flagged something it doesn't understand. Chat is how you fix all of it, in plain language, no tools required.
Agents do: Build context autonomously. Coding agents, workflow agents, device agents -- all building pods across every session.
You do: Align with four prompts. Pull summary. Check curiosity. Save. Update. That's the entire manual layer -- everything else is automatic.
Honest note on how this works in chat. Claude doesn't automatically know to look at your pod -- you need to ask. The four prompts below are small overhead for what you get in return. Developers using other lanes program these into their workflows so it's invisible. In chat, you say them yourself. Once it's part of your session habit, it takes about 10 seconds total.
Event Pod is a remote MCP server. Add it once through your AI client's integrations UI -- no terminal, no config files.
This is the entire manual layer. Four prompts, about 10 seconds of overhead, unlocks everything the pod knows.
| # | When | What to say |
|---|---|---|
| 1 | First ever session | Create a pod called [name] from this conversation / document / data |
| 2 | Every session start | Pull my pod summary for [name] |
| 3 | Mid-session check-in | What are my curiosity triggers? |
| 4 | Before closing | Update my pod with what you learned this session |
Everything else -- learning, certainty tracking, contradiction detection, the knowledge graph -- happens inside those calls.
You only do this once. The more context you seed it with upfront, the faster it becomes useful.
From a document
Upload a resume, project brief, bio, or knowledge dump. Claude extracts signals and seeds the pod from it -- the fastest path to a useful pod from day one.
Please create a pod with user ID 'heidi' and seed it from this document. Extract expertise, preferences, interests, and any active projects you can find.
From a conversation
Based on what we've discussed so far, please create a pod called 'heidi' and save what you've learned about me.
From scratch
I don't have a pod yet. Please create one with user ID 'heidi'. I'll tell you about myself to seed it.
From pasted notes
Please create a pod called 'heidi' and seed it from these notes: [paste a bio, skill list, project description, or stream of consciousness -- anything works].
Seed generously. The pod starts with low certainty on everything -- that's intentional, it means it updates fast. But a richer seed means faster convergence. A paragraph about your work, a couple of preferences, and one active project is enough to make the first real session noticeably better.
After creating or loading your pod, ask Claude to draw it. The export_cluster_diagram tool renders your knowledge graph as a Mermaid diagram -- clusters, connections, and the structure of what's known, visible at a glance. This is the fastest way to spot misalignments that a text summary would hide.
Full pod diagram:
Show me a diagram of my pod. I want to see how everything connects.
Focused view -- centered on a topic:
Show me a diagram of my pod centered on my Python expertise. What connects to it?
After an update:
We just updated my pod. Show me an updated diagram so I can see what was added.
The diagram is your alignment view. Wrong connections, nodes that shouldn't be there, obvious gaps -- the diagram surfaces all of it. If something looks off, just say so. That correction becomes a signal that sharpens the whole cluster.
Use this at the start of every session. It's lightweight -- loads the most important signals with their glosses and freshness, without pulling the full pod. Fast enough that it doesn't disrupt the session flow.
Pull my pod summary for heidi.
Or for a task-specific start:
I'm working on [describe task]. Pull relevant context from my pod (heidi) before we start.
Summary vs. full load. Pod summary is the right default -- fast, focused, gives Claude what it needs. Only ask for everything ("load my full pod") when you're doing a deep audit or something feels wrong.
Curiosity triggers are questions your pod has about itself -- signals that are uncertain, stale, or haven't been validated yet. Checking them periodically is how the pod gets sharper over time. You don't have to answer all of them -- even one or two per session compounds significantly.
What are my curiosity triggers? What does my pod most want to learn about me?
Curiosity across pods:
If you have multiple pods -- personal, coding, workflow, device -- you can check curiosity across all of them in a single chat session. This is one of the most powerful things the chat interface enables that no individual agent does on its own.
Pull summaries for my pods: heidi, heidi-coding, and heidi-workflow. Then tell me the top curiosity triggers across all three -- what's most uncertain or unresolved?
Compare my personal pod (heidi) with my coding pod (heidi-coding). Are there things one knows that would be useful to share with the other?
If the pod is already loaded, Claude will often update it naturally as things come up -- you don't always have to ask. But don't rely on it. A quick prompt before closing ensures nothing slips.
Session wrap-up:
Before we close, update my pod with anything new you learned about me this session.
Save something specific:
Please save to my pod that I'm leading a team of 5 engineers and we work primarily in Go.
Correct something wrong:
My pod says I prefer concise answers -- that's not right anymore. I want detailed explanations with examples now. Please update that.
Don't skip the wrap-up. Context learned during a session only persists if it's explicitly saved. The wrap-up prompt takes 5 seconds. Skip it and the session's learning is gone when the chat closes.
Chat isn't just for personal context -- it's the correction layer for every agent you run. They build autonomously. You reach in and fix what drifted, in plain language.
| Lane | What you align | Example prompt |
|---|---|---|
| Coding | Wrong architectural constraints, outdated stack, rejected approaches | "My coding pod thinks we use gRPC -- we dropped that 6 months ago. Please correct it." |
| Workflow | Stale approval chains, deprecated integrations, changed policies | "The Stripe backup is deprecated. Remove it from the workflow pod." |
| Multi-agent | Divergences between agents, handoff gaps, conflicting world models | "My research and fix agents disagree on the JWT approach. Show me both and help me resolve it." |
| Devices | Unexplained anomalies, sensor offsets, intent and priority setting | "That temperature spike on the 15th was a planned heat test. Mark the cause in the device pod." |
Why doesn't Claude load my pod automatically?
MCP tools are available to Claude, but it doesn't know which to call without being asked. Automatic pod loading at session start is on the roadmap. For now, "pull my pod summary for [name]" is the trigger -- 2 seconds and it becomes habit fast.
Why summary instead of full load?
get_pod_summary is fast and loads the signals Claude needs to calibrate. The full pod includes everything -- low-certainty signals, raw metadata, the whole graph. You rarely need all of that for a normal session. Use summary by default, full load for audits.
Does it work on the free Claude.ai plan?
Yes. MCP integrations are available across all Claude.ai plans.
Can I use the same pod with Gemini or Cursor?
Yes. Event Pod is model-agnostic. Any MCP-compatible client connects to the same pod. Your context follows you -- not locked to Claude.
How is this different from Claude's built-in memory?
Claude's memory stores conversation snippets. Event Pod builds a structured model with certainty scores, semantic connections, and curiosity-driven learning -- and it works across every tool and model you use. It's not storage, it's a model that gets sharper over time.
The agent is the primary author of its own brain. You're the editor. This section covers the core concepts and the two ways to use Event Pod -- autonomous mode where the agent builds its own context, and controlled mode where you define exactly what gets saved.
Autonomous: Agent builds its own brain. One system prompt. The agent decides what to observe, save, and connect. Human aligns via chat when needed.
Controlled: You define what gets saved. Explicit tool calls. Precise events, relationships, and resources. Use when you need precision over automation.
Every agent session starts from zero unless you give it persistent context. Event Pod is the persistence layer -- a structured model of what the agent has learned, with certainty scores that reflect how confident it is in each signal.
Event Pod is an MCP server your agent connects to over HTTP. Your agent calls tools -- save_event, apply_learning, get_pod_summary -- and Event Pod handles persistence. The pod lives on the server, not in the agent's context window, so it survives across sessions, models, and tools. Two things connect to every pod simultaneously: the agent (via tool calls) and the human (via chat). Any MCP-compatible client works -- Claude, Gemini, Cursor, custom agents all connect to the same pod.
The key insight: the agent doesn't need you to write its brain for it. Given the right system prompt, it will observe what's relevant, save it, and build the knowledge graph on its own. The human role is alignment -- auditing what the agent learned, correcting drift, and adding context the agent can't observe.
One agent, multiple lanes. Lanes describe what kind of context you're building -- not separate systems. A real coding agent draws from the coding lane for codebase knowledge, the workflow lane for deployment patterns, and the chat lane for user preferences -- all signals in one pod, all retrievable together via
get_relevant_context. Mix them freely.
| Autonomous | Controlled | |
|---|---|---|
| Setup | Add system prompt snippet -- done | Wire explicit tool calls into lifecycle hooks |
| Who decides what to save | The agent | You |
| Best for | Most use cases -- let it learn naturally | When you need specific events, relationships, or precision |
| Human role | Align via chat -- audit, correct, extend | Design the schema + align via chat |
| Code required | No -- system prompt only | Yes -- Python/JS/curl |
Most agents start in autonomous mode and add controlled saves for specific high-value signals as they mature. You don't have to choose one -- they compose.
Drop this into your system prompt. The agent handles the rest -- loading context at session start, observing signals mid-session, surfacing curiosity triggers, and persisting what it learned at the end.
That's it for most use cases. The agent will build its own model from sessions. The human aligns via chat. The pod compounds over time without any additional code.
Use controlled saves when you want to define specific events, build explicit relationships between signals, or attach resources to context. Controlled and autonomous compose -- add explicit saves on top of the system prompt for signals you care about precisely.
Save a specific event:
Link two events semantically:
Attach a resource to an event:
If you're wiring explicit code rather than relying on the system prompt, these four functions cover the full lifecycle. Each is drop-in Python -- replace call_pod with your MCP client's tool call method.
Error magnitude reference:
| What happened | Magnitude | Direction |
|---|---|---|
| Independent corroboration | 0.05--0.1 | increase |
| Same-source repetition | 0.02--0.05 | increase |
| Specificity upgrade | 0.1--0.15 | increase |
| Temporal confirmation | ~0.1 | increase |
| User contradiction or correction | 0.2--0.4 | decrease |
| Type | What it tracks | Example key |
|---|---|---|
| competence | Skill or knowledge level | python, distributed-systems |
| preference | Communication or work style | verbosity, code-before-explanation |
| claim | Tracked proposition or belief | microservices-preferred |
| entity | Named person, org, or tool | tool-terraform, company-acme |
| event | Incident, milestone, decision | auth-refactor-completed |
| metric | Measurable quantity | api-latency-p99 |
| pattern | Recurring behavior or trend | prefers-examples-over-theory |
| state | Current status or phase | project-alpha-status |
Every event has a certainty score between 0 and 1. The system is agile where ignorant and stable where certain -- learning rate adapts automatically. You set direction and magnitude; the system handles the rate.
| Range | Meaning | Behavior |
|---|---|---|
| 0.0 -- 0.3 | Low -- new or weakly supported | Updates fast, open to revision |
| 0.3 -- 0.6 | Medium -- building confidence | Moderate update rate |
| 0.6 -- 0.8 | High -- well-supported | Resists noise |
| 0.8 -- 1.0 | Very high -- established | Moves only on strong contradiction |
Always start new events at 0.3. Don't manually assign high certainty -- let corroboration earn it.
The agent builds what it can observe. Humans add what it can't -- institutional context, intent, decisions made outside the session. The chat interface is the alignment layer for both modes. No code required on the human's end.
Design your agent to invite alignment. Surface curiosity triggers as natural conversation. Show what was saved at session end. Offer the Mermaid diagram periodically so humans can spot misalignments visually. The faster humans correct, the faster certainty converges on truth.
Your coding agent maps your stack, team conventions, failure patterns, and architectural decisions -- on its own. It stops suggesting things you've already ruled out. It knows why a constraint exists. It connects failures to the architectural decisions that caused them.
Autonomous: Agent builds the codebase map. Observes stack, conventions, failures, and constraints from every session. No schema to define upfront.
Controlled: You define high-value signals. Explicit repo context, linked failure patterns, attached docs and ADRs. Use when precision matters.
A coding agent without persistent context rediscovers the same things every session -- asks about the stack, misses the constraint that rules out a whole class of solutions, suggests an approach the team tried and abandoned six months ago. Event Pod fixes this by letting the agent accumulate a model of the codebase over time.
The agent is the primary author. It observes what matters from real sessions -- not a synthetic schema you defined upfront. Human developers stay in the loop through chat, adding the institutional context the agent can't observe: decisions made in Slack, constraints from contracts, the reason a library got banned.
Add this to your coding agent's system prompt -- in Claude Code, Cursor, Cline, or any MCP-compatible IDE agent. The agent builds its own codebase model from sessions. You align it via chat when something drifts.
The agent decides what's worth saving. It won't save every mention -- just sustained patterns, explicit constraints, and confirmed failures. That's intentional. A noisy pod is harder to align than an incomplete one.
Use controlled saves when you want to explicitly define what the agent knows -- seeding a new agent, encoding decisions that weren't made in a session, or building precise relationships between signals. Composes with autonomous mode.
save_repo_context persists codebase metadata that survives across all sessions on the same repo. This is shared knowledge about the code itself -- separate from user-level signals.
Seed repo context explicitly:
Load at session start:
Rejected approaches are the most valuable thing a coding agent can remember -- and the first thing a stateless agent will suggest again next session. Save them with enough context to be useful months later.
Always include revisit_when. Turns "we tried that" into "we tried that -- and here's when it's worth trying again." The agent can surface these proactively as conditions change.
The real power of controlled mode: connecting signals semantically. A failure pattern that led to a constraint. A constraint that enabled a decision. These links let the agent explain why a rule exists -- not just what it is.
Connect a failure pattern to the constraint it caused:
Attach an ADR or design doc to the constraint:
Linked resources surface automatically. When the agent calls get_relevant_context on anything related to DB connections, the ADR link comes with it. The agent can cite the decision record without being told it exists.
The agent observes code -- but engineers hold the institutional knowledge. Decisions made in Slack, approaches rejected in a whiteboard session two quarters ago, the reason a particular library got banned from the codebase -- none of that is observable from sessions alone. Developers add it via chat.
Adding context the agent can't see:
Please save to my coding pod that we decided against GraphQL last year -- the team found the N+1 problem wasn't worth the flexibility at our scale. Add that to the acme/backend repo context.
Auditing the codebase map:
What does my pod know about the acme/backend architecture? Show me the constraints it's tracking.
Seeing the knowledge graph:
Show me a diagram of the coding pod centered on the DB connection constraint. What connects to it?
Correcting drift:
My pod says we use conventional commits but we switched back to freeform messages six months ago. Please update that.
A workflow agent that knows its operational environment handles tasks a stateless agent can't touch. Which tools connect to what. Where things break. What approvals are needed. The agent builds this model from runs -- humans add the institutional context only they can provide.
Autonomous: Agent maps the environment. Learns integrations, failure modes, and patterns from every run. Operational model builds itself.
Controlled: You seed the constraints. Approval chains, permissions, service maps. Use when precision and auditability matter.
Workflow agents lose time to context loss -- rediscovering what integrations are live, what broke last time, which steps need approval. Event Pod gives the workflow agent a persistent operational model that accumulates rather than resets. The agent builds it from runs; operators seed the constraints they need enforced from day one.
Approval chains are the most important thing to get right. If the agent discovers an approval requirement mid-run, it should save it immediately -- not wait for shutdown. The next run will respect it from the start.
Use controlled saves to seed the operational model before the first run -- so the agent starts with known constraints rather than discovering them the hard way.
Seed integration map explicitly:
Approval requirements are claims -- absolute rules the agent must respect. Seed them explicitly so the agent never has to discover them by violating them.
Seed approval rules:
Link approval chain to integration:
Track the health of services the workflow depends on. The agent checks this at session start and can skip or reroute steps when a dependency is degraded.
Save what each run did, decided, and encountered. The next run picks up with full context of what came before -- including failures and the reasons behind them.
When a run fails in a recurring way, save it as a pattern. The agent learns to anticipate it -- checking preconditions, choosing fallbacks, or surfacing it to a human before it cascades.
Operational context lives in people's heads -- approval chains from six months ago, vendor quirks learned through painful experience, integration constraints from contracts. The agent builds what it encounters. Operators add what it can't observe.
Adding undocumented constraints:
Please save to my workflow pod that the legal team reviews all new vendor contracts before any integration goes live. That's not written down anywhere but it's always required.
Updating stale state:
The Stripe backup integration was deprecated last month. Please remove it from the service context and update the payment fallback.
Auditing what the agent knows:
What does my workflow pod know about the invoice process? What failure patterns is it tracking? Show me the approval chain constraints.
Multiple agents, each building its own world model. Pods let them coordinate without a central orchestrator holding everything together -- and chat is how humans step in to resolve what agents can't agree on.
Agents do: Build independently. Each agent accumulates its own model. Handoffs carry context forward. Divergences surface naturally.
Human does: Resolves divergence. When agents disagree, a human makes the call via chat. Resolution broadcasts to all agents. Everyone benefits.
In multi-agent systems, context loss happens at handoff. Agent A does deep research; Agent B starts fresh with none of it. A new agent joins the project three weeks in and has to be briefed from scratch. Event Pod solves both: agents write to pods, read from pods, and a new agent can be seeded from the resolved knowledge of the agents that came before it.
Three coordination patterns cover most cases:
Each agent runs its own system prompt with a distinct agent_id. Agents build independently, leave handoffs, and stay namespaced so you can always trace which agent contributed what.
Use controlled saves for handoffs, comparisons, and seeding -- the moments where precision matters most.
When one agent completes a phase and another picks it up, the handoff is a structured save. The next agent reads it before starting -- no re-briefing, no context loss.
Agent A -- save handoff:
Agent B -- read handoff at session start:
When two agents build separate models of the same environment, compare_pods finds where they agree, where they diverge, and what each knows that the other doesn't. Divergences are signals -- they mark human decisions waiting to happen.
Divergences are not errors. When two agents disagree, that's a human decision waiting to be made. Surface divergences in your UI, let the user resolve them in chat, then broadcast the resolution. All agents benefit from one human decision.
When a human resolves a divergence via chat, broadcast the winning context to all affected agents. Every agent gets the corrected model -- no agent has to rediscover it.
A new agent joining an existing project would normally start from zero -- weeks of context lost. Instead, seed it from the resolved knowledge of the agents that came before. It starts smart.
Inherit with moderate certainty. Set inherited knowledge at ~0.7, not 0.95. The new agent should validate what it received -- not treat inherited context as ground truth. Let it earn high certainty through its own observations.
In multi-agent systems, divergence is inevitable. Agents trained differently, observing different parts of the environment, running on different models -- they'll build different world models. The human role is to arbitrate. Chat is the interface for all of it.
Pulling cross-agent context in one session:
Pull summaries for my three agent pods: research-agent-pod, fix-agent-pod, and devops-agent-pod. What does each one know about the deployment strategy? Where do they disagree?
Resolving a divergence:
The research and fix agents disagree on whether to use connection pooling. The research agent is right. Please update all three pods with the confirmed decision and note that it was human-resolved.
Auditing an agent's decision trail:
Show me all the decisions the fix agent has made and saved. I want to review its reasoning before we hand off to the DevOps agent.
Checking curiosity across all agents:
What are the top curiosity triggers across all three agent pods? What does the system collectively not know yet?
One human decision, all agents benefit. When you resolve a divergence in chat, broadcast it. The institutional knowledge you provide in one conversation propagates to every agent that needs it. That's the compounding effect of the alignment loop.
An agent embedded in hardware doesn't just execute tasks -- it builds a causal model of its physical environment. Sensors are signals. States accumulate. Patterns emerge. And humans can audit, correct, and extend what the device has learned, in plain language, any time.
Device agent does: Learns its environment. Ingests sensor readings as signals, builds state models, detects patterns, raises anomalies -- autonomously.
Human does: Provides context & intent. Why a reading was unusual. What a state change means. What the device should prioritize. A chat away, always.
This lane is forward-looking. The core tools work today. The full on-device deployment vision -- agents running locally on embedded hardware with pods syncing to the edge -- is in active development. Build with this in mind.
Traditional IoT architectures push data to the cloud and pull decisions back down. An agent with a persistent world model changes this: the intelligence lives on the device, the model accumulates locally, and humans interact with it in natural language -- without querying dashboards or writing SQL.
Every sensor reading is a potential signal. Every state change is an event. Every recurring behavior is a pattern. Event Pod gives your device agent the scaffolding to accumulate this knowledge over time and act on it with growing confidence.
A device pod models the physical environment the device operates in -- not just what the device measures, but what those measurements mean.
| What | Signal type | Example |
|---|---|---|
| Sensor baselines | metric | Ambient temp normal range: 18--24 C |
| Current device state | state | HVAC: cooling / idle / fault |
| Recurring behaviors | pattern | Temp spikes 2 C every weekday at 9am |
| Environmental claims | claim | Room B air quality degrades when west window is open |
| Incidents & anomalies | event | Power spike on 2025-11-03, cause: unknown |
| Connected devices | entity | Sensor-node-4, gateway-main, thermostat-A |
Each sensor reading can be saved as a metric event. Over time, the pod builds a statistical baseline for each sensor -- and deviations from that baseline become meaningful signals in themselves.
Normalize sensor values to 0--1. Map the expected range of a sensor to [0, 1]. A temperature sensor that normally reads 18--24 C would map 22 C to ~0.67. This lets the pod compare signals across different sensor types on a common scale.
Current state:
Use state events to track what mode or condition the device or system is currently in. Update these as transitions occur -- the pod accumulates a history of state changes over time.
Patterns:
When the agent detects a recurring behavior -- confirmed across multiple observations -- save it as a pattern event. Patterns let the agent anticipate and act pre-emptively.
When a sensor reading significantly deviates from the established baseline, save it as an event with low certainty (cause unknown) and flag it for human review via a curiosity trigger.
Devices observe physical reality -- but humans provide intent, context, and causality that no sensor can supply. Why was the window left open? Was the spike a test or a fault? What should the device prioritize when it conflicts?
Explaining an anomaly:
That temperature spike on the 15th -- that was us running a heat test in Room B. Please update the pod to note the cause and mark it as expected.
Adding environmental context:
Please save to the floor 2 pod that the west-facing sensors always read 1--2 C high in afternoon sunlight. That's structural, not an anomaly.
Setting device intent:
I want the floor 2 agent to prioritize air quality over temperature comfort between 8am and 6pm on weekdays. Please save that as a preference.
Devices don't operate in isolation. Use link_events to connect related signals across your device ecosystem -- a temperature anomaly linked to a power spike, a state change linked to a known pattern.
| Signal | Use case |
|---|---|
| metric | Sensor readings, environmental measurements |
| state | Device mode, operational status, phase |
| pattern | Recurring behaviors, environmental cycles |
| event | Anomalies, incidents, state transitions |
| claim | Environmental rules, structural constraints |
| entity | Sensors, gateways, connected devices |
| preference | Device priorities, human-set intent |
Complete tool index, signal types, data model, and integration reference. Shared across all lanes.
Every event has a signal_type that classifies what kind of knowledge it represents. Eight types cover the full range.
| Type | What it represents | Value meaning | Lanes |
|---|---|---|---|
| competence | Skill or knowledge level in a domain | 0 = novice, 1 = expert | Chat, Agent, Coding |
| preference | Communication or behavioral setting | 0 = low/off, 1 = high/on | Chat, Agent, Coding, Devices |
| claim | A tracked proposition or belief | 0 = false/rejected, 1 = true/accepted | Agent, Coding, Workflow, Multi-agent |
| entity | Named entity -- person, org, tool, device | 0 = inactive, 1 = active/relevant | All lanes |
| event | Incident, milestone, decision, anomaly | 0 = minor, 1 = significant | Coding, Workflow, Devices |
| metric | Measurable quantity | Normalized 0--1 within expected range | Coding, Workflow, Devices |
| pattern | Recurring behavior or trend | 0 = weak, 1 = strong pattern | Chat, Coding, Workflow, Devices |
| state | Current status or operational phase | Context-dependent (document in gloss) | Workflow, Multi-agent, Devices |
Every event carries a certainty score between 0 and 1. It represents how confident the model is in what it knows about this signal.
| Certainty range | Meaning | Behavior |
|---|---|---|
| 0.0 -- 0.3 | Low -- new or weakly supported | Updates fast; open to revision |
| 0.3 -- 0.6 | Medium -- building confidence | Updates at moderate rate |
| 0.6 -- 0.8 | High -- well-supported | Resists noise; updates on strong signals |
| 0.8 -- 1.0 | Very high -- solidly established | Highly stable; only major contradictions move it |
Start new observations at 0.3 and let learning refine over time. The system is agile where ignorant and stable where certain -- learning rate adapts automatically to current certainty.
| Type | Use when |
|---|---|
direct | A sensor or data source provides objective ground truth (compare predicted vs. actual to compute error) |
logic | No external sensor -- error magnitude is your judgment based on corroboration, contradiction, or specificity |
apply_learning)| Signal type | Magnitude | Direction |
|---|---|---|
| Independent corroboration | 0.05 -- 0.1 | increase |
| Same-source repetition | 0.02 -- 0.05 | increase |
| Specificity upgrade | 0.1 -- 0.15 | increase |
| Temporal confirmation | ~0.1 | increase |
| Contradiction | 0.2 -- 0.4 | decrease |
| Tool | Purpose | Key params |
|---|---|---|
get_pod_summary | Condensed readable overview -- top signals with glosses and freshness | user_id, include_glosses, include_freshness |
get_pod | Full pod state including all events | user_id, include_vectors, include_curiosity |
get_events | All events, optionally filtered by signal_type | user_id, signal_type, validation_type |
get_relevant_context | Events most relevant to a task -- scored by match + certainty | user_id, query, max_results |
query_pod | Natural language question across all events | user_id, query |
get_low_certainty | Events below a certainty threshold -- best validation candidates | user_id, threshold |
get_curiosity_triggers | Events that need validation, are stale, or under-observed | user_id, max_triggers, include_probes |
get_gap_analysis | High-value, low-certainty signals ranked by investigation priority | user_id, max_gaps |
get_convergence_report | New events, certainty changes, and stale signals since last report | user_id, since_days |
| Tool | Purpose | Key params |
|---|---|---|
create_pod | Initialize a new pod for a user or entity | user_id, name, pod_type |
save_event | Save or update any event | user_id, key, signal_type, value, certainty, gloss, meta |
record_observation | Log a raw behavioral signal (correction, engagement, etc.) | user_id, session_id, signal_type, signal_data |
apply_learning | Update an event's value and certainty based on an observation | user_id, key, signal_type, error_direction, error_magnitude |
update_session | Increment session and interaction counters -- call once at end | user_id, interactions |
delete_event | Remove a specific event by key | user_id, key, signal_type |
delete_pod | Permanently delete pod and all data -- irreversible | user_id, confirm: true |
| Tool | Purpose | Key params |
|---|---|---|
link_events | Create a semantic relationship between two events | user_id, source_key, target_key, relationship, note |
get_event_cluster | BFS traversal from an event through its links | user_id, key, signal_type, max_depth |
suggest_links | Auto-suggest relationships based on keyword overlap | user_id, min_overlap |
detect_contradictions | Surface conflicting high-certainty events | user_id, certainty_threshold |
suggest_synthesis | Find high-certainty events that could be consolidated | user_id, min_certainty, min_overlap |
export_cluster_diagram | Mermaid diagram of event relationships | user_id, center_event, include_all |
export_argument_outline | Hierarchical markdown outline from linked events | user_id, topic, include_evidence |
get_argument_chain | Trace logical dependencies for a claim or topic | user_id, topic, max_depth |
| Tool | Purpose |
|---|---|
save_agent_context / get_agent_context | Persist and retrieve agent task history, decisions, errors per agent_id |
save_repo_context / get_repo_context | Codebase metadata across sessions, namespaced by repo |
save_service_context / get_service_context | External service health and status data |
save_life_context / get_life_context | User-shared life patterns (health, goals, routine, schedule) |
link_resource / get_resources / unlink_resource | Attach and retrieve files, URLs, and projects linked to events |
add_source | Register a data source with a credibility score for intelligence pipeline pods |
export_pod | Export complete pod data as JSON (GDPR Article 20) |
compare_pods | Compare events across two pods -- agreements, divergences, gaps |
get_learning_rate | Show current learning rate for an event based on its certainty |
| Relationship | Meaning | Example |
|---|---|---|
BUILDS_ON | A is grounded in B | react BUILDS_ON javascript |
ENABLES | A makes B possible | python ENABLES data-science |
RELATED_TO | Thematic connection | hiking RELATED_TO photography |
CONTRADICTS | A conflicts with B | minimalism CONTRADICTS feature-creep |
PART_OF | A is a subset of B | flask PART_OF python-web |
EVOLVES_FROM | A grew out of B | microservices EVOLVES_FROM monolith |
SUPERSEDES | A replaces B | v2-api SUPERSEDES v1-api |
All events share a common schema regardless of signal type.
Event Pod is a remote MCP server. Add it via your client's connector UI or config file.
claude_desktop_config.json / .cursor/mcp.json:
Because Event Pod is a remote MCP server, most clients let you add it through their UI without editing config files directly. Check your client's "Add Integration" or "MCP Connectors" section.
Create a pod:
Save an event:
Get pod summary:
Apply learning:
Event Pod stores learned abstractions, not raw data. Your pod contains what the model learned from interactions -- not transcripts, not files, not personal information beyond what you explicitly save.
| Right | Tool | Notes |
|---|---|---|
| Export your data | export_pod | Returns complete pod as JSON. GDPR Article 20 compliant. |
| Delete your data | delete_pod | Permanent, irreversible. Requires confirm: true. GDPR Article 17 compliant. |
| Inspect what's stored | get_pod_summary, get_events | Full visibility into all events and certainty scores at any time. |
| Correct stored knowledge | save_event, apply_learning, delete_event | Any event can be updated, corrected, or deleted in natural language. |
Vectors, not transcripts. Think of it like a colleague who remembers you're great at Python and prefer direct feedback. They don't have a transcript of your conversations -- they just know you. That's what your pod stores.
Event Pod by Nervous Machine -- Build for agents. We're all edge cases.