Skip to main content

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 at startup. 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. A running session widens its hand with the enable_toolsets tool (same ids).

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. The env var picks the initial hand only. Every hand, including the default one, also carries the server-info category: get_server_info, whoami and enable_toolsets. Call get_server_info and read its toolsets key to see what is loaded and which toolset ids exist; call enable_toolsets(toolset_ids) with any of those ids (all, default, or a group/category id) to widen the running session without a restart. Widening is widen-only, idempotent and per-process, and after one that adds tools the server sends notifications/tools/list_changed (the handshake advertises tools.listChanged: true). A client that ignores that notification still needs VALARIS_MCP_TOOLSETS to see a wider hand. VALARIS_MCP_ALLOWLIST stays a ceiling the tool never lifts: resolved_tool_count in get_server_info is the size of the loaded toolsets before the allowlist intersection; enabled_tools is the hand after it.

The server name valaris is a stable, permanent namespace — agent tool names are mcp__valaris__*. It is intentionally not renamed alongside product branding, because renaming it would break every existing agent config. The valaris-mcp console script remains as an alias of backplane-mcp.

Upgrading

Upgrading from 0.7.2

0.7.3 changes nothing in configs or tool signatures. It makes MCP_TRANSPORT=streamable-http actually start: MCP_HOST / MCP_PORT are now applied through the SDK's settings, where earlier releases crashed at startup with a TypeError before listening. stdio is unchanged.

Upgrading from 0.7.1

0.7.2 changes nothing in configs or tool signatures. It fixes execution tracking: rows now carry the real status, cards_affected and result summary (error payloads and raised calls are recorded failed), and streamable-http sessions no longer stack tracker wrappers.

Upgrading from 0.7.0

0.7.1 changes nothing in existing configs. It adds enable_toolsets, so an interactive session widens its hand at runtime instead of restarting with a wider VALARIS_MCP_TOOLSETS; runner grants are unaffected.

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.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for backplane-mcp 0.7.3
File Size Uploaded
backplane_mcp-0.7.3.tar.gz 246.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for backplane-mcp 0.7.3
File Interpreter ABI Platform
backplane_mcp-0.7.3-py3-none-any.whl Python 3 none any Details

Total release size: 364.7 kB

Release files / backplane_mcp-0.7.3.tar.gz

Download URL backplane_mcp-0.7.3.tar.gz
Size 246.0 kB
Tags Source
SHA-256 checksum
How to use checksums
597fbdae695a52c15ea79c3da10b450798419e45715af2aacfd40804a265339a
BLAKE2b-256 checksum
How to use checksums
c48ece2c7281385ec837863e087e8ec514be098384553e82d6c1800f0f95e389
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.3-py3-none-any.whl

Download URL backplane_mcp-0.7.3-py3-none-any.whl
Size 118.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7a3ffd5008ae36fe96c034c6f320f35af0c256d4c8ccd92d8c9df16f025abee6
BLAKE2b-256 checksum
How to use checksums
8bfda4d42da857f6d5c4afd5f2029d5f922d5d709263f5e09c6dc978155c000f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.11

Release history Release notifications | RSS feed

0.8.0

2 release files

This release

0.7.3 This release

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page