spine_set_contextLABSCO SUMMARY
One entry point, and the controls are enforced in the proxy rather than requested in a prompt.
Rate limits, a path jail and confirmation prompts only mean something when a model cannot talk around them, and putting them in the transport is what makes that true. The startup design is worth knowing: it answers the handshake immediately and connects downstream servers in parallel, so a slow server delays its own tools rather than the whole session, with a listChanged notification when it catches up.
What it is
A local-first proxy that sits between your MCP client and the servers you already run. The client sees one entry, Spine holds the downstream connections, and every call passes through security policy, routing, schema minification and audit on the way through.
What you get
- Semantic routing: only the relevant tools are sent to the model, using local embeddings with no API calls;
spine_set_contextswitches context explicitly - Schema minification at four aggression levels — level 2 is reported at 61% token savings on tool schemas
- A token budget with a daily limit, a warn threshold and a warn-or-block action;
spine_budgetchecks usage mid-conversation - Human-in-the-loop: mark a tool
require_confirmationand Spine pauses, shows the arguments and waits, withspine_confirmandspine_denyrelaying your decision - Prompt-injection scanning of tool responses before they reach the model, with a log, strip or block action
- Security policy: secret scrubbing, per-tool and global rate limits, a symlink-aware path jail with deny patterns for .env, .key and .pem, and an HMAC-fingerprinted SQLite audit trail
spine_recallreads a ring buffer of recent tool results, so context is not lost when routing swaps tools between turns- A web dashboard on localhost:8777 with live stats, latency per server and a full request log
Requirements
The Python package mcp-spine, version 0.2.5, with the entry point mcp-spine. Install with pip install mcp-spine, or pip install mcp-spine[ml] to enable semantic routing. Run mcp-spine init for the setup wizard, mcp-spine doctor --config spine.toml to check it, then replace your individual client entries with one Spine entry pointing at spine.toml. Downstream servers, their commands and the audit database path require a restart to change; minifier level, rate limits, policies and budget hot-reload.
Setup effort
One command — pip install mcp-spine
USE CASES
Cutting the tokens spent on tool schemas
Turn on minification and let the proxy strip descriptions and defaults before the schemas reach the model.
Keeping a destructive tool from firing unattended
Mark it as requiring confirmation and approve each call after seeing the arguments.
Capping what a runaway agent can spend
Set a daily token limit with a warn threshold, and check usage mid-conversation.
Finding out what actually happened
Query the audit log by tool or by client session, or open the dashboard for latency and failures.
Working with more tools than fit in context
Let semantic routing surface the relevant ones, and set the context explicitly when it guesses wrong.
5 tools
Listed in project docs. Your client may show a different list.
spine_confirmspine_denyspine_recallspine_budgetBEFORE YOU INSTALL
What to know first
Tools you get
5 tools named in the project's documentation.
Requires
pip on PATH
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
pip install mcp-spineMCP Clients
Claude Desktop
{
"mcpServers": {
"spine": {
"command": "python",
"args": [
"-m",
"spine.cli",
"serve",
"--config",
"<YOUR_PATH_TO_SPINE>"
],
"cwd": "<YOUR_PATH_TO_MCP_SPINE>"
}
}
}