SpecMgr

io.github.dfch/biz-dfch-specmgr

About SpecMgr

SpecMgr is an MCP server published by the GitHub account dfch. An artifact manager for system specifications.

It runs on your own machine: your AI client starts it from the PyPI package biz-dfch-specmgr at version 0.37.0.

It asks for no keys or passwords.

Version 0.37.0 was published on 22 October 2026, and the source code is public, so you can read it before installing.

Written from the registry entry. 9 automated checks on the registry entry and the package code: 6 pass, 1 warn, 0 fail, 2 info. How we check.

What it asks for

VariableRequiredSecretDescription
SPECMGR_MCP_TRANSPORTNoNoTransport mode for the MCP server.
SPECMGR_MCP_HOSTNoNoBind address, SSE/streamable-http mode only.
SPECMGR_MCP_PORTNoNoTCP port, SSE/streamable-http mode only.
SPECMGR_ADR_DIRNoNoBase directory scanned for Architecture Decision Record (.md) files.
SPECMGR_DOCS_DIRNoNoShared base directory root for the document-type domains that do not have their own dedicated directory environment variable (req, uc, tsk, qa, prb, gol, rsk, dec, sop, vcr, sysrs). Each domain's own subdirectory is appended automatically, e.g. docs/req.
SPECMGR_FEAT_DIRNoNoBase directory scanned for Feature folders (<base>/<id>/README.md).
SPECMGR_SIMILARITY_DISABLEDNoNoPresence-based opt-out for the semantic-similarity search feature (the find_related and find_similar_text tools): set to any value to disable the feature, so that every call returns a structured unavailable result and the embedding model is never loaded, and to skip the similarity phase of the unified server-startup warmup thread. Unset by default. Its resolved state is reported by the similarity section of the specmgr://config resource.
SPECMGR_FEAT_WARMUP_DISABLEDNoNoPresence-based opt-out for the feat domain's two background cache-warming phases (frontmatter and full-parse) of the unified server-startup warmup thread: set to any value to skip both phases; when set together with SPECMGR_SIMILARITY_DISABLED, no warmup thread is started at all. Unset by default. Its resolved state is reported by the feat_warmup_disabled field of the specmgr://config resource.
SPECMGR_PLANTUML_JARNoNoPath to a plantuml.jar, one of exactly three PlantUML validation-source selectors (the first one set, in JAR then BIN then URL order, is the only source used; no fall-through, no PATH discovery, no public default; all three unset is the offline structure-only floor). Unset by default. The selected source is reported by the plantuml section of the specmgr://config resource.
SPECMGR_PLANTUML_BINNoNoPath to an executable speaking the PlantUML CLI contract, one of exactly three PlantUML validation-source selectors (the first one set, in JAR then BIN then URL order, is the only source used; no fall-through, no PATH discovery, no public default; all three unset is the offline structure-only floor). Unset by default. The selected source is reported by the plantuml section of the specmgr://config resource.
SPECMGR_PLANTUML_URLNoNoPlantUML server base URL, one of exactly three PlantUML validation-source selectors (the first one set, in JAR then BIN then URL order, is the only source used; no fall-through, no PATH discovery, no public default; all three unset is the offline structure-only floor). Diagram content is only sent to a PlantUML server if this variable is set. Unset by default. The selected source is reported by the plantuml section of the specmgr://config resource.
SPECMGR_DIAGRAM_MAX_TITLENoNoMaximum length (in characters) of a resolved node's title label in the reference-graph diagrams (the get_reference_diagram / get_reference_diagram_all MCP tools and the specmgr diagram refs CLI): labels longer than the limit are cut at the last word boundary within the limit (a hard cut when there is none) with an ellipsis appended; the diagram title itself and unresolved node ids are never truncated. An integer; the default 40 applies when the variable is unset or set to an invalid value (empty, non-integer, or less than 1).
SPECMGR_TESTS_NO_DOTENVNoNoPresence-based test/CI sentinel: set to any value to skip the CLI's module-level default .env load entirely, so the process runs under the CI (source-less) condition whatever the local (gitignored) .env configures; this is what keeps the specmgr coverage-badge pre-commit hook's source-less re-run source-less end-to-end. Unset by default, never set outside test runs.
FASTEMBED_CACHE_PATHNoNoCache directory for the semantic-similarity feature's embedding model (the third-party fastembed backend's own variable, not a SPECMGR_* one): set to a directory to cache the model there; an unset or empty value falls back to the default <tempdir>/fastembed_cache, where <tempdir> is the process's temporary directory (e.g. /tmp on Linux). Unset by default. The resolved directory is reported by the similarity section of the specmgr://config resource.

Checks

CheckResultDetail
Source repository linkedPasshttps://github.com/dfch/biz.dfch.SpecMgr
Version pinnedPassEvery package has an explicit version
Secrets requestedInfoAsks for no secrets
Known package registryPassAll packages come from npm, PyPI, OCI, NuGet or MCPB
Namespace ownershipInfoName verified via GitHub account dfch
Registry text aimed at the AIPassDescription and settings contain no hidden characters or instructions to the AI
Install scriptsPassbiz-dfch-specmgr 0.37.0 has no setup.py; nothing runs at install
Code red flagsPassRead 631 files in biz-dfch-specmgr 0.37.0: no obfuscation, encoded execution, credential reads or data-collection endpoints found
Text aimed at the AIWarnTells the AI to hide something from the user (biz_dfch_specmgr-0.37.0/src/biz/dfch/specmgr/prb/data/prb_create_instructions.md: "…y fall through to standalone behavior without telling the user why. If they give a corrected id, rep…"). Read the context: a security tool may quote these on purpose.

Popularity & health: 54 / 100

Worked out from public numbers and our own checks, not from user reviews or ratings. It says how used and how looked-after a server is, not whether it is safe.

Popularity10 / 40

2 GitHub stars, 153 downloads last week, no Hacker News posts found. Best two of the three, each on a log scale.

Activity15 / 25

Last push 2026-10-28, last release 2026-10-22, 0 commits in 90 days.

Issue health12 / 15

101 closed of 125 issues.

Our checks16 / 20

1 warning, each costing a fifth.

0 forks, 108 merged pull requests. Sources: GitHub, npm, PyPI (pypistats.org) and Hacker News (Algolia), fetched 2026-10-31.

What people say

No Hacker News threads link to its source code.

Look further: search Reddit, search Hacker News, read its GitHub issues. These are not reviews we checked.

Facts

Registry nameio.github.dfch/biz-dfch-specmgr
PublisherGitHub account dfch
How the name is verifiedName verified via GitHub account dfch. The registry ties the name prefix to that account or domain; it does not check the code.
TypeLocal: runs on your machine from a package
Packagespypi biz-dfch-specmgr 0.37.0 (stdio)
Version0.37.0
Published
Last updated
Source repositoryhttps://github.com/dfch/biz.dfch.SpecMgr
Websitehttps://github.com/dfch/biz.dfch.SpecMgr#readme
CategoryOther (assigned by keyword rule, not by hand)

Related servers in Other