Skip to main content
Glama

MCP Agent Toolkit

An MCP (Model Context Protocol) server that exposes production agent-kernel tools — blackboard shared state, SCAR failure memory, and LLM response cache — as standard MCP tools any Claude or GPT agent can call.

For project walkthroughs, architecture flowcharts, and system context, visit the live landing page: my-portfolio-github-io-beta-five.vercel.app/projects/mcp-agent-toolkit.html

What it does

Connects the three core reliability patterns from 18 months of building production multi-agent systems into a single MCP server:

Tool Group

Tools

What it solves

Blackboard

blackboard_write, blackboard_read, blackboard_list

Shared agent state without direct coupling

SCAR Memory

scar_lookup, scar_record

Repeated failure prevention — find the known fix before retrying

Response Cache

cache_get, cache_set

Stop paying twice for identical LLM requests

Related MCP server: memhippo

Part of The Machine OS

This repo is a spoke of The Machine OS: it backs the ~~scar-memory and ~~blackboard connectors that supercharge the /debug, /incident-response, and /agent-design skills.

Prerequisite: Node.js 22.5+ (node:sqlite is built in from 22.5; on recent versions it runs without a flag and just prints an experimental warning to stderr, which does not affect the stdio protocol).

/plugin marketplace add shubham0086/the-machine-os
/plugin install ai-engineering-tools@machine-os
/reload-plugins

This launches the server for you (as the agent-memory MCP server) — no manual config.

Option B — point any MCP client at it directly

Works in Claude Desktop, Cursor, Windsurf, Cline, Zed, or any mcp.json client. No clone needed; npx fetches and runs it:

{
  "mcpServers": {
    "agent-memory": {
      "command": "npx",
      "args": ["-y", "github:shubham0086/mcp-agent-toolkit"],
      "env": { "MCP_AGENT_TOOLKIT_DATA_DIR": "/abs/path/to/persist" }
    }
  }
}

MCP_AGENT_TOOLKIT_DATA_DIR is optional but recommended under npx: it points the SQLite store at a stable path so blackboard state and SCAR memory survive across runs (the npx package dir is ephemeral). Omit it and storage falls back to the package's own data/ dir.

Local dev

npm install
npm start    # runs the stdio server from this checkout

Tool reference

Blackboard

blackboard_write(run_id, agent, key, value)  — persist an artifact
blackboard_read(run_id, agent, key)          — read latest artifact
blackboard_list(run_id, agent)               — list all keys for an agent

Agents communicate through the blackboard, never directly. The Coder writes code. The Auditor reads code. If either fails and retries, the other's work is still in SQLite.

SCAR Memory

scar_lookup(agent, error_type, context?)  — retrieve known resolution
scar_record(agent, error_type, resolution, context?)  — store a new resolution

When an agent hits JSONDecodeError and you fixed it with json_repair(), record it. Next time any agent hits the same error in the same context, scar_lookup returns the fix before the retry loop starts.

Response Cache

cache_get(messages, model)                    — check cache before calling LLM
cache_set(messages, model, response, provider)  — store response after call

SHA-256 hashes the messages + model into a cache key. Identical requests never hit the API twice.

Tests

npm test

13 tests covering blackboard isolation, SCAR round-trips, and cache hit/miss behavior.

Stack

  • MCP SDK (@modelcontextprotocol/sdk) — the official Anthropic MCP server library

  • node:sqlite — Node.js 22 built-in synchronous SQLite, zero native compilation

  • stdio transport — standard MCP pattern, works with any client

Available Tools

7 tools
blackboard_listA

List all artifact keys written by a specific agent in a run.

Inputs: run_id (required), agent (required).

blackboard_readC

Read the latest artifact from the blackboard for a given run, agent, and key.

Inputs: run_id (required), agent (required), key (required).

blackboard_writeB

Write an agent artifact to the shared blackboard. Use this to persist any agent output so downstream agents can read it.

Inputs: run_id (required), agent (required), key (required), value (required).

cache_getA

Check if an identical LLM request was already executed and cached. Returns the cached response or null.

Inputs: messages (required), model (required).

cache_setA

Store an LLM response in the cache. Call this after receiving a response to avoid re-paying for identical future requests.

Inputs: messages (required), model (required), response (required), provider.

scar_lookupA

Look up whether a failure pattern has been seen and resolved before. Returns the resolution if found, null otherwise.

Inputs: agent (required), error_type (required), context.

scar_recordC

Record a new failure resolution in SCAR memory so it can be retrieved next time.

Inputs: agent (required), error_type (required), resolution (required), context.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.6/5.0

    Scored across 7 tools

    Disambiguation5/5

    Each tool has a distinct purpose within clear subsystems (blackboard, cache, scar). There is no overlap between the three groups, and within each group, operations are differentiated by action (list/read/write, get/set, lookup/record).

    Naming Consistency5/5

    All tool names follow a consistent pattern: a lowercase prefix (blackboard_, cache_, scar_) followed by a verb in snake_case. This makes it easy to infer the domain and action for each tool.

    Tool Count5/5

    With 7 tools, the set is well-scoped for an agent coordination toolkit. Each tool serves a distinct, necessary function, and the count is neither too sparse nor overwhelming.

    Completeness4/5

    The toolkit covers the core operations for each subsystem: read/write/list for blackboard, get/set for cache, lookup/record for scar. Minor gaps exist, such as missing delete operations, but the essential lifecycle for agent coordination is present.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      C
      quality
      B
      maintenance
      Gives AI agents persistent memory, handoffs, and shared context across sessions, enabling seamless continuity and multi-agent collaboration.
      29
      89 npm
      71
      -
    • A
      license
      Not graded
      quality
      A
      maintenance
      Provides persistent, shared memory for AI agents by capturing conversations verbatim, distilling facts and summaries, and enabling retrieval through search, timeline, details, and explicit remember tools.
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Enables AI agents to maintain long-term, cross-session memory by extracting facts, reconciling state conflicts, and retrieving relevant memories via vector search.
      4
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Enables AI agents to persistently recall, apply, and reinforce solutions to previously solved problems across different models and tools, so mistakes are not repeated.
      14
      202 npm
      1
      MIT