An artifact manager for system specifications.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
An artifact manager for system specifications.
This project is an MCP server that you can use to manage different specification artifacts.
At this time, we have these artifact types:
See MCP Server and docs/MCP.md for details.
The MCP server (and the management CLI) are optional. You install them as "extras" (see Installation).
As a library only (no CLI, no MCP server):
With the CLI:
With the MCP server:
Or with uv:
With the CLI you can generate schema and documentation. We use these commands
in pre-commit hooks and ci.yml.
No domain document-management commands (create/update/status/etc.) exist
in the CLI yet β those are currently MCP-only, see
MCP Server. The CLI covers version, mcp (below), and a
handful of cross-cutting/doc-generation commands (specmgr --help for the
full list).
Requires the mcp extra. The server exposes resources, tools, and prompts
for document management, plus cross-cutting utilities (e.g. markdown
formatting).
The full, up-to-date list of every resource, resource template, tool, and
prompt β with parameters, MIME types, and descriptions β lives in
docs/MCP.md. That document generated from the live server
registration by specmgr mcp-docs and kept in sync by a pre-commit hook and
a CI check.
Every document type stores its .md files in a base directory on disk β
the file is always the source of truth, re-read and re-parsed on every
tool call, so hand-editing a file between calls is safe.
docs/adr, configurable via the
SPECMGR_ADR_DIR environment variable. This is ADR-specific and not
shared with other document types.SPECMGR_DOCS_DIR environment variable (default
docs), with each type's own subdirectory appended automatically (e.g.
docs/req for requirements)..specmgr/feat, configurable
via the SPECMGR_FEAT_DIR environment variable. This is FEAT-specific,
like ADRs above, and not shared via SPECMGR_DOCS_DIR.confluence_fetch tool (renamed from webfetch; bearer-authenticated,
URL-filtered HTTP GET, intended primarily for Confluence instances using
PAT authentication) requires two environment variables:
SPECMGR_CONFLUENCE_BASE_URL (the base URL requested URLs must
case-insensitively start with) and SPECMGR_CONFLUENCE_BEARER (the
bearer token sent as the Authorization header). Both must be set or the
tool raises an error; there are no defaults.All of the base directories above are resolved relative to the MCP server
process's own current working directory unless overridden by their env var
(or, for the shared SPECMGR_DOCS_DIR root, unless the server was started
with --directory/uv run --directory targeting your project). If that
CWD is not what you expect β e.g. after adding specmgr to an MCP host
per Add to OpenCode below β read the specmgr://config
resource to see every domain's actually-resolved absolute base directory
and whether its env var is explicitly set, without needing shell access to
the server's host.
Start the server with the mcp command:
By default it runs over stdio, for MCP hosts that launch it as a
subprocess (see Add to OpenCode below). It can also
run over SSE/network:
Or over the spec-current streamable-http transport, which replaces the
legacy/deprecated sse transport for HTTP deployments:
| Option | Env var | Default | Description |
|---|---|---|---|
--transport / -t | SPECMGR_MCP_TRANSPORT | stdio | Transport mode: stdio, sse, or streamable-http |
--host / -h | SPECMGR_MCP_HOST | localhost | Bind address (SSE/streamable-http mode only) |
--port / -p | SPECMGR_MCP_PORT | 8000 | TCP port (SSE/streamable-http mode only) |
To add the specmgr MCP server to your OpenCode configuration:
Open your OpenCode config file (typically ~/.config/opencode/opencode.json or ~/.config/opencode/opencode.jsonc)
Add a configuration to the mcp section (and use it via stdio).
A bare uvx --from biz-dfch-specmgr[mcp] specmgr mcp command with no
--directory and no SPECMGR_*_DIR env vars is unsafe: the server
resolves every base directory (docs, docs/adr, .specmgr/feat, ...)
relative to its own process's current working directory, which an MCP
host is free to launch from anywhere β not necessarily your project
root. Pick one of the two options below instead of the plain form:
Option A β pin the working directory with --directory (a global
uv/uvx flag, so it must come before --from):
Option B β set the directory env vars explicitly instead of (or in
addition to) --directory:
Either option (or both together) makes the resolved base directories
independent of wherever the MCP host happens to launch the server
from. Whichever you choose, you can confirm it worked by reading the
specmgr://config resource, which reports the actually-resolved
absolute base directory for every domain and whether its env var is
explicitly set.
Save the file and restart OpenCode
uv sync only installs Python dependencies into the venv β it never
registers the hooks from .pre-commit-config.yaml with git, so run
this once per clone before your first commit.
You can exercise the MCP server directly with the MCP Inspector, in either its CLI (scriptable) or TUI (interactive terminal) client.
mcp extra installed (see Installation), so
.venv/bin/specmgr exists.npx (ships with Node.js,
version 22.19.0 or newer) β no separate Inspector install is required, it
runs on demand via npx @modelcontextprotocol/inspector.Point the Inspector at the venv's specmgr binary directly (rather than at
uv run specmgr mcp) so none of uv run's own flags (e.g. --frozen) are
mistaken for Inspector flags:
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/specmgr)<a href="https://allmcps.com/mcp/specmgr"><img src="https://allmcps.com/api/badge/specmgr?style=directory" alt="SpecMgr on AllMCPs" /></a>