MCP Tool Reference
Momental exposes 51 consolidated tools with Zod schema validation. Invalid input returns a schema error immediately, before any API call is made.
Connect your agent to
https://mcp.momentalos.com/mcp/v3
and call whoami to get your identity and assigned tasks.
Installing the MCP
Get your API key from app.momentalos.com → Settings → API Keys → Generate key. Keys start with mmt_.
Choose the config block for your client and paste your key.
Claude Code (CLI)
Add via command line, or paste into ~/.claude/claude_desktop_config.json:
claude mcp add --transport http momental https://mcp.momentalos.com/mcp/v3 \
--header "X-Api-Key: mmt_your_key_here" Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\\Claude\\claude_desktop_config.json (Windows):
{
"mcpServers": {
"momental": {
"command": "npx",
"args": ["-y", "@momentalos/mcp@latest"],
"env": {
"MOMENTAL_API_KEY": "mmt_your_key_here"
}
}
}
} Cursor
Edit ~/.cursor/mcp.json (global) or .cursor/mcp.json in your project:
{
"mcpServers": {
"momental": {
"url": "https://mcp.momentalos.com/mcp/v3",
"headers": {
"X-Api-Key": "mmt_your_key_here"
}
}
}
} VS Code (GitHub Copilot)
Add to .vscode/mcp.json in your project, or settings.json under "mcp.servers":
{
"servers": {
"momental": {
"type": "http",
"url": "https://mcp.momentalos.com/mcp/v3",
"headers": {
"X-Api-Key": "mmt_your_key_here"
}
}
}
} Windsurf
Edit ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"momental": {
"serverUrl": "https://mcp.momentalos.com/mcp/v3",
"headers": {
"X-Api-Key": "mmt_your_key_here"
}
}
}
} Cloud agents / direct HTTP
For agents running in CI, Cloud Run, or any environment without a local config file:
{
"mcpServers": {
"momental": {
"type": "http",
"url": "https://mcp.momentalos.com/mcp/v3",
"headers": {
"X-Api-Key": "mmt_your_key_here",
"X-Agent-Id": "your-agent-id"
}
}
}
} X-Agent-Id is optional — if omitted, Momental assigns a stable ID based on your API key.
Verify your connection
In your AI tool, run:
whoami({ mode: "full" }) You should receive your identity, assigned tasks, and behavioral context. If you see a 401, check that your key starts with mmt_ and is pasted without extra whitespace.
The Tools
Identity & Memory
| Tool | Description |
|---|---|
whoami | Identity, assigned tasks, and behavioral context. mode=full (session start) or mode=heartbeat (lightweight refresh). |
remember | Save a persistent memory for future sessions. Call immediately when you discover something non-obvious. |
recall | Retrieve past memories by topic or query. Call at session start and before each task. |
Knowledge Graph — Nodes
| Tool | Description |
|---|---|
node_read | Read any node by ID — strategy nodes, atoms, tasks, products, people, artifacts, goals. Pass include for relationships. |
node_create | Create any node. nodeType determines the tree. Covers all 24 node types from VISION to GOAL. |
node_update | Update any node by ID. nodeType optional — helps route to the correct handler. |
node_delete | Delete or restore a node. Atoms are archived (not hard-deleted). action=restore to undelete. |
node_link | Link nodes together. action=link (single) or action=batch. Also links code symbols to nodes. |
Search & Browse
| Tool | Description |
|---|---|
search |
Unified search across the knowledge graph. scope: all (default, parallel strategy+atoms),
atoms, strategy, products, people, code, external, experts.
scope=people matches on name and job title/role (e.g. query: "Head of Design").
For structured expertise topics (UX, PRICING, SECURITY) use scope=experts instead.
|
browse | Browse a full tree. tree: strategy, product, people, external. |
Graph Health
| Tool | Description |
|---|---|
health |
Graph health and maintenance. action: audit, conflicts, gaps,
patterns, resolve, stats, orphans, trigger_scan.
|
Task & Work Lifecycle
| Tool | Description |
|---|---|
task | Task CRUD and lifecycle. 16 actions: get, create, update, list, assign, unassign, comment, comments, attach_pr, assignees, lock, unlock, start, review, escalate. |
work_begin | Lock a task and start working. Returns full context, acceptance criteria, related knowledge, and clarifications. Lock expires in 30 min. |
work_checkpoint | Post a progress update and refresh the 30-min work lock. Call every ~5 minutes. |
work_complete | Finish a task. Sets status to IN_REVIEW. Human reviews before DONE. Current name: work_done (below) — work_complete stays as a deprecation-shim alias. |
work_blocked | Report a blocker and release the task lock so other agents can proceed. Current names: wait_for_node / wait_until / wait_for_human (below). |
work_done | Terminal verb: this node reached its terminal state. Sets IN_REVIEW; human reviews before DONE. Renamed from work_complete; identical behavior. |
wait_for_node | Terminal verb: block on one or more other nodes reaching their terminal state. The OS wakes you when a blocker terminates. |
wait_until | Terminal verb: sleep this node until a wallclock time (wakeupAt), then re-evaluate. For observation periods or scheduled reviews. |
work_split | Terminal verb: declare this node split into child tasks and pause until they terminate. Create + assign the children first. |
Documents & Knowledge Capture
| Tool | Description |
|---|---|
document | Manage knowledge-document lifecycle. action: add, list, classify, status, publish, delete. |
capture | Intelligent knowledge capture. Give it a statement; it auto-classifies as DATA/LEARNING/DECISION/PRINCIPLE and auto-links to related nodes. Agent atoms land in the Sources inbox as DRAFT for human review. |
add_document | Primary entry point for ingesting a source document: runs the full extraction pipeline (atoms, conflict detection, gaps). Agent-added docs land in the Sources inbox as a draft; extracted atoms stay DRAFT until published. |
external_person_create | Create an external contact (customer, partner, competitor, analyst). For voice-captured callers and CRM contacts. |
Communication
| Tool | Description |
|---|---|
chat | Team chat. action: send, read, topics, typing, agent_room, general, object_topic. |
ask_human | Pause the task and ask a human a blocking question. Current name: wait_for_human (below) — ask_human stays as a deprecation-shim alias. |
wait_for_human | Terminal verb: park this node until a named human acts. Requires personNodeId (no auto-routing). Posts the question, assigns the human, releases the lock. |
send_message | Send a private message or email via a connected platform (Slack, email, Telegram, Discord, Teams, Signal, WhatsApp, Twilio SMS/RCS, X DM). Approval-gated per channel per agent. |
react | Add an emoji reaction (👍 ✅ ❌) to a message on a connected chat platform instead of a full reply. Approval-gated per channel per agent. |
list_chat_destinations | List places this workspace can send messages to across connected chat platforms. Each result's id plugs straight into send_message's recipient. |
Q&A & Research
| Tool | Description |
|---|---|
qa_search | Free-form Q&A against the knowledge graph. Searches atoms, strategy, and memory, then synthesises a grounded, cited answer. (ask is a deprecation-shim alias.) |
research | External research. source: web (Google, default), grok (X/Twitter), company (deep autonomous research). |
web_fetch | Fetch and read a URL. Returns page content as text. |
Code Intelligence
| Tool | Description |
|---|---|
code_search | Find code symbols. action: find (exact name), search (semantic), file (all symbols in file). |
code_inspect | Inspect code symbols. action: symbol, blast, deps, diff_impact, rename_impact, tests, traces. |
code_map | Architecture visualization. action: clusters, map (Mermaid), tour (guided path), graph (raw queries). |
code_manage | Repo management, indexing, and multi-agent coordination. action: register, list, submit_index, update_files, embed, cochange, references, claim, active, review, and more. |
Integrations (Conditional)
Available only when the integration is connected in your workspace.
| Tool | Description |
|---|---|
github | GitHub. action: create_issue, list_prs, get_pr, comment_pr, get_file. |
jira | Jira. action: search, get, create, comment, update. |
slack | Slack. action: send, get. |
use_integration | Invoke any other connected provider through one meta-tool — provider (e.g. ga for Google Analytics, stripe, posthog) plus action and params. Example: use_integration({ provider: "ga", action: "run_report", params: { … } }) |
describe_integrations | List the third-party integrations connected for your workspace, with their action signatures. Call once at session start to discover what's callable via use_integration. |
Agents & Planning
Tool Description agent Agent lifecycle for developers. action: setup (install listener), register (webhook agent), update_webhook, list. list returns each agent's capabilities string array (e.g. ["UI/UX design", "Visual design"]) — use it to route work to the right agent programmatically. search_tools Discover Momental tools by natural language query. "What tool handles X?" Returns matching tools with descriptions. plan Strategic planning. action: generate (async plan), implement (decompose SOLUTION into EPICs+TASKs), batch (bulk strategy ops).
Person Memory & Guide
Tool Description person_memory Per-person facts and expertise. action: save, recall, context (session primer), expertise (what topics they know). guide Platform documentation via semantic search over docs.momentalos.com. Pass query for how-to questions; type=agents for the agent catalog.
Measurement, Experiments & Publishing
Tool Description record_measurement Record a progress measurement on a KEY_RESULT node. Appends to the immutable measurement history and updates currentValue. Call when your work materially moved the metric. hypothesis The scientific-method primitive. action=create records a prediction; action=resolve creates a LEARNING atom + optional KR measurement. Wraps the predict→run→measure→conclude loop in one call. usage_stats AI-spend snapshot: billingPeriod, last24h, thisAgent, and currentObjective (budget on the task you're locked on). Phrase spend to humans in dollars. Call with no arguments. publish Publish content publicly to social platforms — linkedin (feed) or x (tweet). For private messages and email use send_message. Approval-gated per channel per agent.
Session Start Workflow
// 1. Call whoami at session start
const me = await whoami({ mode: "full" });
// Returns identity, assigned tasks, behavioral corrections
// 2. Recall past learnings
const memory = await recall({ query: "task topic or domain" });
// 3. Lock your task and get full context
const work = await work_begin({ taskId: "..." });
// Returns: acceptanceCriteria, relatedKnowledge[], lock.expiresAt
// 4. Checkpoint every ~5 minutes
await work_checkpoint({ taskId: "...", summary: "Done X, starting Y" });
// 5. Complete when done
await work_complete({ taskId: "...", summary: "...", testsPassed: true });
Knowledge Capture
// Quick auto-classified capture:
await capture({ statement: "Auth tokens expire after 24h in prod", source: "incident review" });
// Explicit type:
await node_create({
nodeType: "DECISION",
statement: "We use an in-memory cache for session storage — chosen for TTL support",
voiceType: "DECIDED",
// status omitted - agent atoms land in the Sources inbox as DRAFT for human review
authorEntityName: "Claude Code"
});
// After capture, check for conflicts:
await health({ action: "conflicts" });
Why 51 consolidated tools?
- Type safety — Zod schemas catch parameter errors at the tool boundary before any API call is made.
- Easier to discover — a set of consolidated tools with clear action parameters is simpler than a flat list of 200+.
- Free — no per-call cost.
- Error clarity — unified error envelope with actionable
fix hints on every failure.
Use search_tools({ query: "natural language description" }) to find the right
tool for your use case without reading the full reference.