@putervision/state-memory-mcp
Deterministic, persistent graph server for tracking workflow state, decisions, and blockers.
npm · fingerprint fa534c8fe739c258410e995a · repository · RSS
13tools
2recorded versions
45dtracked
unchanged 12d
What changed
Changed between 4 September 2026 and 5 October 2026 (first seen 2026-10-05 14:14 UTC)
13 descriptions rewritten.
--- pinned/get_analytics +++ observed/get_analytics { "annotations": { "destructiveHint": false, + "idempotentHint": true, "openWorldHint": false, "readOnlyHint": true }, - "description": "Compute workflow metrics, velocity, burndown, cognitive load, decision lineages, and contradiction audits. Supported actions: summary (project overview), velocity (throughput and duration), burndown (time-series remaining tasks chart), value_metrics (token savings and ROI), cognitive_load (ICL and ECL context complexity), critical_path (longest unfinished task chain), context_snapshot (consolidated overview), decision_trail (trace decision lineage), find_related_decisions (find decisions related to an artifact), contradictions (audit for conflicting decisions or broken states).", - "execution": { - "taskSupport": "forbidden" - }, + "description": "Compute workflow metrics, velocity, burndown, cognitive load, decision lineages, and contradiction audits (actions: summary, velocity, burndown, value_metrics, cognitive_load, critical_path, context_snapshot, active_context, decision_trail, find_related_decisions, contradictions). Use get_analytics instead of query_graph when calculating high-level progress statistics, ROI metrics, or auditing decision conflicts.\n\nReturns summary dashboard, velocity charts, burndown series, cognitive load metrics, critical path DAG, or contradiction reports.", "inputSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "additionalProperties": true, "properties": { "action": { - "description": "The analytics or decision analysis action to execute.", + "description": "The analytics or decision analysis action to execute: summary, velocity, burndown, value_metrics, cognitive_load, critical_path, context_snapshot, active_context, decision_trail, find_related_decisions, contradictions.", + "enum": [ + "summary", + "velocity", + "burndown", + "value_metrics", + "cognitive_load", + "critical_path", + "context_snapshot", + "active_context", + "decision_trail", + "find_related_decisions", + "contradictions" + ], "type": "string" }, "artifact_id": { + "required": [ + "action" + ], "type": "object" }, - "name": "get_analytics", - "title": "Get Analytics" + "name": "get_analytics" }
--- pinned/get_events +++ observed/get_events { "annotations": { "destructiveHint": false, + "idempotentHint": true, "openWorldHint": false, "readOnlyHint": true }, - "description": "Inspect the append-only event audit ledger, query structured changesets, and generate session post-mortems. Supported actions: log (query event ledger with filters), changelog (get structured graph diff since timestamp or session), post_mortem (analyze a session and produce a structured markdown report).", - "execution": { - "taskSupport": "forbidden" - }, + "description": "Inspect the append-only event audit ledger, query structured changesets, and generate session post-mortems (actions: log, changelog, post_mortem). Use get_events instead of manage_snapshots when examining the granular chronological sequence of mutations rather than restoring state checkpoints.\n\nReturns chronological event array, structured changeset diff, or session post-mortem markdown report.", "inputSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "additionalProperties": true, "properties": { "action": { - "description": "The event query action to execute.", + "description": "The event query action to execute: log, changelog, post_mortem.", + "enum": [ + "log", + "changelog", + "post_mortem" + ], "type": "string" }, "git_branch": { + "required": [ + "action" + ], "type": "object" }, - "name": "get_events", - "title": "Get Events" + "name": "get_events" }
--- pinned/manage_data +++ observed/manage_data { "annotations": { - "destructiveHint": false, + "destructiveHint": true, + "idempotentHint": false, "openWorldHint": false, "readOnlyHint": false }, - "description": "Export and import graph structures, issue tracker items, fine-tuning trajectories, and multimodal synergy metrics. Supported actions: export_graph (export to JSON/DOT/Mermaid/HTML), export_issues (export to GitHub/Jira JSON), export_trajectories (export JSONL fine-tuning data), export_joint_trajectories (export interleaved state + vision data), export_synergy_metrics (compute dual-memory metrics), import_graph (bulk import nodes & edges), import_issues (import GitHub/Jira issues), import_spec (import PRD/Gherkin spec).", - "execution": { - "taskSupport": "forbidden" - }, + "description": "Export and import graph structures, issue tracker items, fine-tuning trajectories, and multimodal synergy metrics (actions: export_graph, export_issues, export_trajectories, export_joint_trajectories, export_synergy_metrics, from_tick, import_graph, import_issues, import_spec). Use manage_data instead of query_graph when bulk-transferring graph data or generating AI training datasets.\n\nReturns serialized graph payload, trajectory dataset, synergy metrics, or import statistics.", "inputSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "additionalProperties": true, "properties": { "action": { - "description": "The data export or import action to execute.", + "description": "The data export or import action to execute: export_graph, export_issues, export_trajectories, export_joint_trajectories, export_synergy_metrics, from_tick, import_graph, import_issues, import_spec.", + "enum": [ + "export_graph", + "export_issues", + "export_trajectories", + "export_joint_trajectories", + "export_synergy_metrics", + "from_tick", + "import_graph", + "import_issues", + "import_spec" + ], "type": "string" }, "edges": { - "additionalProperties": {}, "type": "object" }, "type": "array" - "additionalProperties": {}, "type": "object" }, "type": "array" - "additionalProperties": {}, "type": "object" }, "type": "array" + "required": [ + "action" + ], "type": "object" }, - "name": "manage_data", - "title": "Manage Data" + "name": "manage_data" }
--- pinned/manage_database +++ observed/manage_database { "annotations": { - "destructiveHint": false, + "destructiveHint": true, + "idempotentHint": false, "openWorldHint": false, "readOnlyHint": false }, - "description": "Physical SQLite database maintenance, backups, integrity checks, and Git VCS state sync. Supported actions: backup (online SQLite backup), restore (destructive restore from backup), audit (foreign keys and physical integrity check), merge (merge external SQLite state DB), branch_diff (diff state nodes across git branches), branch_merge (resolve graph conflicts during branch merge).", - "execution": { - "taskSupport": "forbidden" - }, + "description": "Physical SQLite database maintenance, backups, integrity checks, and Git VCS state sync (actions: backup, restore, audit, merge, branch_diff, branch_merge). Use manage_database instead of manage_snapshots when managing physical SQLite files, cross-branch merges, or database corruption audits.\n\nReturns database backup path, foreign key integrity report, branch merge conflict report, or diff.", "inputSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "additionalProperties": true, "properties": { "action": { - "description": "The database administration or VCS sync action to execute.", + "description": "The database administration or VCS sync action to execute: backup, restore, audit, merge, branch_diff, branch_merge.", + "enum": [ + "backup", + "restore", + "audit", + "merge", + "branch_diff", + "branch_merge" + ], "type": "string" }, "backupPath": { + "required": [ + "action" + ], "type": "object" }, - "name": "manage_database", - "title": "Manage Database" + "name": "manage_database" }
--- pinned/manage_edges +++ observed/manage_edges { "annotations": { - "destructiveHint": false, + "destructiveHint": true, + "idempotentHint": false, "openWorldHint": false, "readOnlyHint": false }, - "description": "Manage typed graph relationships between nodes. Supported actions: add (create typed relationship), remove (delete relationship), batch_add (create multiple relationships atomically), link_visual (link task or artifact to visual memory state).", - "execution": { - "taskSupport": "forbidden" - }, + "description": "Manage typed graph relationships between nodes (actions: add, remove, batch_add, link_visual). Use manage_edges instead of manage_nodes when creating or modifying relationships between existing entities rather than entity data itself.\n\nReturns created edge record, batch count, or visual link confirmation.", "inputSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "additionalProperties": true, "properties": { "action": { - "description": "The edge management action to execute.", + "description": "The edge management action to execute: add, remove, batch_add, link_visual.", + "enum": [ + "add", + "remove", + "batch_add", + "link_visual" + ], "type": "string" }, "edges": { - "additionalProperties": {}, "type": "object" }, "type": "array" - "additionalProperties": {}, "description": "Optional metadata for link_visual.", "type": "object" }, - "additionalProperties": {}, "description": "Optional metadata properties for the edge.", "type": "object" }, + "required": [ + "action" + ], "type": "object" }, - "name": "manage_edges", - "title": "Manage Edges" + "name": "manage_edges" }
--- pinned/manage_nodes +++ observed/manage_nodes { "annotations": { - "destructiveHint": false, + "destructiveHint": true, + "idempotentHint": false, "openWorldHint": false, "readOnlyHint": false }, - "description": "Manage graph nodes in the state graph. Supported actions: create (add single node), update (modify node properties), get (fetch node with edges), remove (delete node and cascade edges), list (filter nodes), search (FTS5 or TF-IDF search), batch_create (create multiple nodes atomically), batch_update (update multiple nodes atomically), add_note (log observation node with optional context link).", - "execution": { - "taskSupport": "forbidden" - }, + "description": "Manage graph nodes in the state graph (actions: create, update, get, remove, list, search, batch_create, batch_update, add_note). Use manage_nodes instead of manage_tasks when operating on general node types (decisions, artifacts, plans, milestones, blockers) rather than runnable task workflow states.\n\nReturns node object, edge connections, batch results, or search matches.", "inputSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "additionalProperties": true, "properties": { "action": { - "description": "The node management action to execute.", + "description": "The node management action to execute: create, update, get, remove, list, search, batch_create, batch_update, add_note.", + "enum": [ + "create", + "update", + "get", + "remove", + "list", + "search", + "batch_create", + "batch_update", + "add_note" + ], "type": "string" }, "algorithm": { - "additionalProperties": {}, "description": "Arbitrary structured key-value metadata.", "type": "object" }, - "additionalProperties": {}, "type": "object" }, "type": "array" + "required": [ + "action" + ], "type": "object" }, - "name": "manage_nodes", - "title": "Manage Nodes" + "name": "manage_nodes" }
--- pinned/manage_sessions +++ observed/manage_sessions { "annotations": { "destructiveHint": false, + "idempotentHint": false, "openWorldHint": false, "readOnlyHint": false }, - "description": "Manage agent tracking sessions and multi-turn workflow attribution. Supported actions: start (begin tracked session), end (conclude session), list (view active/historical sessions), bootstrap (single-turn start + context snapshot + next tasks).", - "execution": { - "taskSupport": "forbidden" - }, + "description": "Manage agent tracking sessions and multi-turn workflow attribution (actions: start, end, list, bootstrap). Use manage_sessions instead of manage_tasks when establishing agent session boundaries and tracking multi-turn workflows rather than individual work items.\n\nReturns session record, bootstrap context snapshot, or active session listing.", "inputSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "additionalProperties": true, "properties": { "action": { - "description": "The session management action to execute.", + "description": "The session management action to execute: start, end, list, bootstrap.", + "enum": [ + "start", + "end", + "list", + "bootstrap" + ], "type": "string" }, "active_only": { - "additionalProperties": {}, "description": "Arbitrary session metadata.", "type": "object" }, + "required": [ + "action" + ], "type": "object" }, - "name": "manage_sessions", - "title": "Manage Sessions" + "name": "manage_sessions" }
--- pinned/manage_snapshots +++ observed/manage_snapshots { "annotations": { - "destructiveHint": false, + "destructiveHint": true, + "idempotentHint": false, "openWorldHint": false, "readOnlyHint": false }, - "description": "State checkpointing, time travel, diffing, and undo operations. Supported actions: save (create named checkpoint), list (list checkpoints), diff (compare two snapshots), get_state (reconstruct graph state at historical timestamp), revert (rollback graph to historical timestamp), undo (revert last mutation on a node), get_history (chronological audit log for a node).", - "execution": { - "taskSupport": "forbidden" - }, + "description": "State checkpointing, time travel, diffing, and undo operations (actions: save, list, diff, get_state, revert, undo, get_history). Use manage_snapshots instead of manage_database when reverting state graph mutations or comparing checkpoints rather than physical database file maintenance.\n\nReturns snapshot record, state graph diff, historical graph state, or node audit history.", "inputSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "additionalProperties": true, "properties": { "action": { - "description": "The snapshot management action to execute.", + "description": "The snapshot management action to execute: save, list, diff, get_state, revert, undo, get_history.", + "enum": [ + "save", + "list", + "diff", + "get_state", + "revert", + "undo", + "get_history" + ], "type": "string" }, "force": { + "required": [ + "action" + ], "type": "object" }, - "name": "manage_snapshots", - "title": "Manage Snapshots" + "name": "manage_snapshots" }
--- pinned/manage_specs +++ observed/manage_specs { "annotations": { "destructiveHint": false, + "idempotentHint": false, "openWorldHint": false, "readOnlyHint": false }, - "description": "Spec-Driven Development (SDD) lifecycle and workflow template generation. Supported actions: scaffold (generate spec template in .specs/), ingest (parse PRD/Gherkin into graph nodes), export (export spec node back to Markdown/Gherkin), compliance (calculate requirement coverage matrix), verify (mark acceptance criterion verified/failing), decompose_feature (decompose feature into plan/milestones/subtasks), template (scaffold FDD or RFC template).", - "execution": { - "taskSupport": "forbidden" - }, + "description": "Spec-Driven Development (SDD) lifecycle and workflow template generation (actions: scaffold, ingest, export, compliance, verify, decompose_feature, template). Use manage_specs instead of manage_nodes when authoring, ingesting, or verifying formal SDD specifications against acceptance criteria.\n\nReturns specification AST, compliance matrix, verification verdict, or decomposed feature plan.", "inputSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "additionalProperties": true, "properties": { "action": { - "description": "The specification or template action to execute.", + "description": "The specification or template action to execute: scaffold, ingest, export, compliance, verify, decompose_feature, template.", + "enum": [ + "scaffold", + "ingest", + "export", + "compliance", + "verify", + "decompose_feature", + "template" + ], "type": "string" }, "criterion_id": { + "required": [ + "action" + ], "type": "object" }, - "name": "manage_specs", - "title": "Manage Specs" + "name": "manage_specs" }
--- pinned/manage_tasks +++ observed/manage_tasks { "annotations": { "destructiveHint": false, + "idempotentHint": false, "openWorldHint": false, "readOnlyHint": false }, - "description": "Task prioritization, workflow execution, blockers, and stale task management. Supported actions: next (query prioritized unblocked tasks), complete (mark done and optionally create artifact), find_blocked (find tasks blocked by a decision), find_stale (find idle/untouched tasks), find_blockers (find active blockers), find_similar_blockers (TF-IDF search for previously resolved blockers), auto_prune (cancel stale in-progress tasks).", - "execution": { - "taskSupport": "forbidden" - }, + "description": "Task prioritization, workflow execution, blockers, and stale task management (actions: next, complete, find_blocked, find_stale, find_blockers, find_similar_blockers, auto_prune). Use manage_tasks instead of query_graph when querying runnable tasks by priority order or resolving execution blockers.\n\nReturns prioritized runnable tasks, blocker hierarchy, similar resolved blockers, or completion confirmation.", "inputSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "additionalProperties": true, "properties": { "action": { - "description": "The task management action to execute.", + "description": "The task management action to execute: next, complete, find_blocked, find_stale, find_blockers, find_similar_blockers, auto_prune.", + "enum": [ + "next", + "complete", + "find_blocked", + "find_stale", + "find_blockers", + "find_similar_blockers", + "auto_prune" + ], "type": "string" }, "artifact_file_path": { - "additionalProperties": {}, "description": "Optional metadata for produced artifact.", "type": "object" }, + "required": [ + "action" + ], "type": "object" }, - "name": "manage_tasks", - "title": "Manage Tasks" + "name": "manage_tasks" }
--- pinned/query_graph +++ observed/query_graph { "annotations": { "destructiveHint": false, + "idempotentHint": true, "openWorldHint": false, "readOnlyHint": true }, - "description": "Query graph topology, neighborhoods, dependency paths, and safe read-only SQL queries. Supported actions: subgraph (fetch N-hop neighborhood around root node), trace (trace dependency chain upstream or downstream with cycle detection), raw (execute safe read-only SELECT query against SQLite), natural_language (translate natural language query into graph operations).", - "execution": { - "taskSupport": "forbidden" - }, + "description": "Query graph topology, neighborhoods, dependency paths, safe read-only SQL queries, and compact System One task slices (actions: subgraph, trace, raw, natural_language, compact_slice). Use query_graph instead of get_analytics when exploring graph topology and path traversals rather than aggregated numerical metrics.\n\nReturns subgraph nodes and edges, upstream/downstream trace path, raw SQL rows, or compact task slice.", "inputSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "additionalProperties": true, "properties": { "action": { - "description": "The graph query action to execute.", + "description": "The graph query action to execute: subgraph, trace, raw, natural_language, compact_slice.", + "enum": [ + "subgraph", + "trace", + "raw", + "natural_language", + "compact_slice" + ], "type": "string" }, "depth": { + "required": [ + "action" + ], "type": "object" }, - "name": "query_graph", - "title": "Query Graph" + "name": "query_graph" }
--- pinned/run_diagnostics +++ observed/run_diagnostics { "annotations": { - "destructiveHint": false, + "destructiveHint": true, + "idempotentHint": false, "openWorldHint": false, "readOnlyHint": false }, - "description": "Run graph sanity checks, health diagnostics, reference validation, audit chain verification, and storage maintenance. Supported actions: validate (check cycles, orphans, dangling edges), doctor (database WAL mode, schema version, storage health), check_refs (validate file paths and AST symbols with auto-heal), audit_chain (verify SHA-256 event hash integrity), compact (reclaim SQLite storage), archive (archive old completed tasks), prune_events (permanently prune events - admin mode required), version (retrieve package version info), dedupe (detect and merge duplicate nodes).", - "execution": { - "taskSupport": "forbidden" - }, + "description": "Run graph sanity checks, health diagnostics, reference validation, audit chain verification, and storage maintenance (actions: validate, doctor, check_refs, audit_chain, compact, archive, prune_events, version, dedupe). Use run_diagnostics instead of get_analytics when performing database repair, AST reference auto-healing, or verifying SHA-256 event hash chains.\n\nReturns validation diagnostics, health report, broken reference repair log, Merkle chain audit, or maintenance stats.", "inputSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "additionalProperties": true, "properties": { "action": { - "description": "The diagnostic or maintenance action to execute.", + "description": "The diagnostic or maintenance action to execute: validate, doctor, check_refs, audit_chain, compact, archive, prune_events, version, dedupe.", + "enum": [ + "validate", + "doctor", + "check_refs", + "audit_chain", + "compact", + "archive", + "prune_events", + "version", + "dedupe" + ], "type": "string" }, "apply": { + "required": [ + "action" + ], "type": "object" }, - "name": "run_diagnostics", - "title": "Run Diagnostics" + "name": "run_diagnostics" }
--- pinned/use_blackboard +++ observed/use_blackboard { "annotations": { - "destructiveHint": false, + "destructiveHint": true, + "idempotentHint": false, "openWorldHint": false, "readOnlyHint": false }, - "description": "Multi-agent shared blackboard for asynchronous agent coordination. Supported actions: post (publish ephemeral notice with topic, content, and TTL expiration), read (read active non-expired blackboard notices).", - "execution": { - "taskSupport": "forbidden" - }, + "description": "Multi-agent shared blackboard for asynchronous coordination and mutex leases (actions: get, set, delete, lease, list, post, read). Use use_blackboard instead of manage_nodes when exchanging transient inter-agent messages or mutex resource leases rather than recording persistent graph knowledge.\n\nReturns blackboard message payload, lease acquisition status, active topic list, or deletion confirmation.", "inputSchema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "additionalProperties": true, "properties": { "action": { - "description": "The blackboard action to execute.", + "description": "The blackboard action to execute: get, set, delete, lease, list, post, read.", + "enum": [ + "get", + "set", + "delete", + "lease", + "list", + "post", + "read" + ], "type": "string" }, "agent_id": { - "description": "Sender agent identifier.", + "description": "Sender or claiming agent identifier.", "type": "string" }, "agent_role": { - "description": "Message payload to post.", + "description": "Message payload to post/set.", "type": "string" }, + "duration_seconds": { + "description": "Lease hold duration in seconds (default: 60).", + "type": "number" + }, + "id": { + "description": "Blackboard entry identifier for get or delete.", + "type": "string" + }, + "limit": { + "description": "Maximum number of items or topics to return.", + "type": "number" + }, + "mode": { + "description": "Lease action mode: acquire or release (default: acquire).", + "enum": [ + "acquire", + "release" + ], + "type": "string" + }, "project": { "description": "Target project name or slug.", "type": "string" + "resource_id": { + "description": "Resource identifier to lease or release.", + "type": "string" + }, "topic": { "description": "Blackboard topic or channel name.", "type": "string" + "topic_prefix": { + "description": "Prefix filter for listing topics.", + "type": "string" + }, "ttl_seconds": { "description": "Time-to-live in seconds (default: 3600).", "type": "number" + "required": [ + "action" + ], "type": "object" }, - "name": "use_blackboard", - "title": "Use Blackboard" + "name": "use_blackboard" }
Current tools
Show all 13 tool fingerprints
get_analytics
get_events
manage_data
manage_database
manage_edges
manage_nodes
manage_sessions
manage_snapshots
manage_specs
manage_tasks
query_graph
run_diagnostics
use_blackboard
Watch this server yourself
If you run this server, put the proxy in front of it. It pins these exact fingerprints on first connect and stops the session if they move.
npx -y mcp-pin@0.2.3 -- <your @putervision/state-memory-mcp command>
Or subscribe to this page's RSS feed to be told when it changes.
Badge
The badge states one fact about time and nothing else. It never claims a server is safe.
[](https://mcp-pin.gautamkhosla.com/servers/d2c285604334835e.html)