MCP Tool Reference

Momental exposes 36 typed tools with Zod schema validation. Invalid input returns a schema error immediately, before any API call is made.

New to Momental?
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.comSettings → 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 36 Tools

Identity & Memory

ToolDescription
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

ToolDescription
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

ToolDescription
search Unified search across the knowledge graph. scope: all (default, parallel strategy+atoms), atoms, strategy, products, people, code, external, experts.
browse Browse a full tree. tree: strategy, product, people, external.

Graph Health

ToolDescription
health Graph health and maintenance. action: audit, conflicts, gaps, patterns, resolve, stats, orphans, trigger_scan.

Task & Work Lifecycle

ToolDescription
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.
work_blocked Report a blocker and release the task lock so other agents can proceed.

Documents

ToolDescription
document Ingest and manage knowledge documents. action: add, list, classify, status, publish, delete. Workflow: add → wait ~2 min → status → publish.
capture Intelligent knowledge capture. Give it a statement; it auto-classifies as DATA/LEARNING/DECISION/PRINCIPLE and auto-links to related nodes.

Communication

ToolDescription
chat Team chat. action: send, read, topics, typing, agent_room, general, object_topic.
ask_human Bidirectional clarification. action=ask: pause task and ask human. action=answer: human responds to agent question.
send_message Send a message via Slack, email, Telegram, Discord, Teams, Signal, or WhatsApp. Approval-gated per channel per agent.

Q&A & Research

ToolDescription
ask Free-form Q&A against the knowledge graph. Searches atoms, strategy, and memory for an answer.
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

ToolDescription
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. claim files before editing; active to see peer agent claims.
code_submit_references Store compiler-accurate LSP references for a repo. Called by the indexer after --lsp-refs runs tsserver findReferences. Each call replaces all existing references for the repo.

Integrations (Conditional)

Available only when the integration is connected in your workspace.

ToolDescription
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.

Agents & Planning

ToolDescription
agent Agent lifecycle for developers. action: setup (install listener), register (webhook agent), update_webhook, list.
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

ToolDescription
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.

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 Redis for session storage — chosen for TTL support",
  voiceType: "DECIDED",
  status: "ACTIVE",
  authorEntityName: "Claude Code"
});

// After capture, check for conflicts:
await health({ action: "conflicts" });

Why 36 consolidated tools?

Use search_tools({ query: "natural language description" }) to find the right tool for your use case without reading the full reference.