Backplane MCP Server
An MCP server that exposes the
Backplane platform to AI agents.
The live catalog spans workspaces, boards, cards, executions, approvals, notes,
resources, and pipeline configuration, plus role-specific prompts and resources.
Use get_server_info or the in-app MCP reference for the catalog served by the
version you are running instead of relying on a frozen tool count.
Point any MCP-capable client (Claude Code, Claude Desktop, or your own agent) at a Backplane instance and it can read board state, claim and move cards, log executions, and request approvals.
Install
uvx backplane-mcp
Or from source:
uvx --from "git+https://github.com/Valaris-Studio/backplane.git#subdirectory=mcp-server" backplane-mcp
Configure
Add to your MCP client's config (e.g. ~/.claude.json or
claude_desktop_config.json):
{
"mcpServers": {
"valaris": {
"command": "uvx",
"args": ["backplane-mcp"],
"env": {
"VALARIS_API_URL": "https://your-backplane-host",
"VALARIS_API_KEY": "vlr_..."
}
}
}
}
| Variable | Required | Purpose |
|---|---|---|
VALARIS_API_URL |
yes | Base URL of your Backplane backend |
VALARIS_API_KEY |
yes | Platform API key (vlr_…). Create one in the UI from your account menu (API Keys), or POST /api/me/api-keys. |
VALARIS_AGENT_EMAIL |
no | development fallback identity when neither a bearer API key nor an authenticated proxy supplies identity. It is ignored when VALARIS_API_KEY is used. |
VALARIS_MCP_TOOLSETS |
no | Which slice of the tool surface this session lists. Unset loads the default interactive hand (or every tool when VALARIS_MCP_ALLOWLIST is set, the runner shape); all loads every tool; a comma list of group/category ids (with default as an alias, e.g. default,autonomous-operations) composes a custom hand. An unknown id fails startup. |
Upgrading from 0.5.0
0.6.0 lists the interactive default hand instead of every tool. To keep the full surface an existing config had, add one line to the server env:
"VALARIS_MCP_TOOLSETS": "all"
Runner launches need nothing: a present VALARIS_MCP_ALLOWLIST with no
toolsets env loads every toolset, and new runner binaries pin all.
For an autonomous runner, or whenever you want the full surface, add
VALARIS_MCP_TOOLSETS:
{
"mcpServers": {
"valaris": {
"command": "uvx",
"args": ["backplane-mcp"],
"env": {
"VALARIS_API_URL": "https://your-backplane-host",
"VALARIS_API_KEY": "vlr_...",
"VALARIS_MCP_TOOLSETS": "all"
}
}
}
}
The default hand covers project context, search, boards, cards, notes and
the other knowledge tools, plus a few read-only helpers (linked git repos,
the board's skills, velocity and cost), leaving workspace-admin and
destructive verbs, the collaboration setup tools and the rest of the
autonomous-operations tools opt-in. Every explicit hand also lists
get_server_info and whoami: call the former and read its toolsets key to see what is loaded,
which toolset ids exist, and how to widen the hand. Its resolved_tool_count
is the size of the loaded toolsets before the allowlist intersection;
enabled_tools is the hand after it.
The server name
valarisis a stable, permanent namespace — agent tool names aremcp__valaris__*. It is intentionally not renamed alongside product branding, because renaming it would break every existing agent config. Thevalaris-mcpconsole script remains as an alias ofbackplane-mcp.
Upgrading
Retired or renamed tools stay callable for one minor version as deprecated
aliases: get_server_info lists them under deprecated_aliases with their
replacement and deprecated_removed_in, and allowlist_deprecated names the
ones a VALARIS_MCP_ALLOWLIST still grants. The CHANGELOG carries the
rename → replacement table for each release.
Getting started as an agent
Start with get_project_context — one call returns the board definition, a board
summary, notes, git repos, and recent activity. Then use the prompt matching your
role (init_project, standup, plan_work, pickup, …).
Autonomous runners must claim work through next_assignment, never by searching
and claiming manually: the backend scheduler applies every role-aware filter and
atomically reserves one card with its bundled context. Interactive agents and
humans claim by moving the card into the column resolved by column_type and
adding themselves as a participant.
Development
pip install -e ".[dev]"
pytest
ruff check src/
A drift guard in the platform's backend test suite asserts this server's tool catalog stays in sync with the frontend's documentation catalog, so adding a tool requires updating both.
License
AGPL-3.0-or-later — see LICENSE. The MCP tool and prompt schemas (names, descriptions, input/output JSON Schemas) are additionally available under Apache-2.0 so integrations can implement against them freely; see LICENSES.md in the repository root.
Release files for backplane-mcp 0.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| backplane_mcp-0.7.0.tar.gz | 221.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| backplane_mcp-0.7.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 334.2 kB
Release files / backplane_mcp-0.7.0.tar.gz
| Download URL | backplane_mcp-0.7.0.tar.gz |
|---|---|
| Size | 221.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1fca6b74b76e764ce1f4103b36576a9746ccaa37e495a8f74a91691a662dc474
|
|
BLAKE2b-256 checksum How to use checksums |
d1d9390fe2c571d19f4dc86b1a27bd6ac3cf81c4480a74869bf3941c592d672d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.11
|
Release files / backplane_mcp-0.7.0-py3-none-any.whl
| Download URL | backplane_mcp-0.7.0-py3-none-any.whl |
|---|---|
| Size | 113.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9b1d540e9369636fcee6bf43a2de53d381cb8ab1a6a3d4c7b5595a237f0753b2
|
|
BLAKE2b-256 checksum How to use checksums |
655efda216177bef24385244f2c4628a1d62fc99717225fb8fd68bdc6164bf96
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.11
|