shubham0086

MCP Agent Toolkit

Community shubham0086
Updated

Production MCP server toolkit: shared blackboard, SCAR failure memory, LLM response cache. Node.js 22+, node:sqlite, 13 tests.

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.

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

Quick start

npm install
npm start

The server runs on stdio — standard MCP transport that works with Claude Desktop, Claude Code, and any MCP-compatible client.

Use with Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "agent-toolkit": {
      "command": "node",
      "args": ["/path/to/mcp-agent-toolkit/src/server.js"]
    }
  }
}

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

Related repos

MCP Server · Populars

MCP Server · New