đ Reference
Reference
Complete tool index, signal types, data model, and integration reference for agents that learn. Shared across all lanes.
Signal Types
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 |
Certainty & Learning
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.
Validation types
| 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 |
Error magnitude guidance (for 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) |
Relationship Types
| 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 |
Event Schema
All events share a common schema regardless of signal type.
Event fields
{
"user_id": "string", // pod identifier â required
"key": "string", // signal key â required
"signal_type": "competence|preference|claim|entity|event|metric|pattern|state",
"value": 0.0â1.0, // signal strength â required
"certainty": 0.0â1.0, // model confidence â default 0.3
"gloss": "string", // human-readable interpretation
"validation_type": "direct|logic", // how error signals are produced
"meta": {}, // arbitrary structured metadata
"source_id": "string", // source identifier (intelligence pods)
"source_type": "api|sensor|document|..."
}
MCP Config
Nervous Machine is a remote MCP server. Add it via your client's connector UI or config file.
claude_desktop_config.json / .cursor/mcp.json
{
"mcpServers": {
"nervous-machine": {
"url": "https://context.nervousmachine.com/mcp",
"transport": "sse"
}
}
}
âšī¸
Because Nervous Machine 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.
curl Examples
Create a pod
curl -X POST https://context.nervousmachine.com/mcp \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"method":"tools/call","params":{"name":"create_pod","arguments":{"user_id":"alice","name":"Alice"}}}'
Save an event
curl -X POST https://context.nervousmachine.com/mcp \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"method":"tools/call","params":{"name":"save_event","arguments":{"user_id":"alice","key":"python","signal_type":"competence","value":0.8,"certainty":0.3,"gloss":"Strong Python developer"}}}'
Get pod summary
curl -X POST https://context.nervousmachine.com/mcp \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"method":"tools/call","params":{"name":"get_pod_summary","arguments":{"user_id":"alice","include_glosses":true}}}'
Apply learning
curl -X POST https://context.nervousmachine.com/mcp \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"method":"tools/call","params":{"name":"apply_learning","arguments":{"user_id":"alice","key":"python","signal_type":"competence","error_direction":"increase","error_magnitude":0.1}}}'
Privacy & Data Rights
Nervous Machine stores learned abstractions, not raw data. Your pod contains what the agent 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.