Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Change control for what AI agents learn: humans promote, releases are signed, rules can be recalled
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
BREVET_HOME, BREVET_AUTO_CAPTUREYou need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"brevet": {
"command": "uvx",
"args": [
"brevet",
"mcp"
],
"env": {
"BREVET_HOME": "your-value",
"BREVET_AUTO_CAPTURE": "your-value"
}
}
}
}Run this in your terminal
claude mcp add brevet --env BREVET_HOME=your-value --env BREVET_AUTO_CAPTURE=your-value -- uvx brevet mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"brevet": {
"command": "uvx",
"args": [
"brevet",
"mcp"
],
"env": {
"BREVET_HOME": "your-value",
"BREVET_AUTO_CAPTURE": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"brevet": {
"type": "stdio",
"command": "uvx",
"args": [
"brevet",
"mcp"
],
"env": {
"BREVET_HOME": "your-value",
"BREVET_AUTO_CAPTURE": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
BREVET_AUTO_CAPTURE envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account BrightbeamAI, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: BREVET_HOME
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.4.0) reached the registry 32 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, Thalovant MCP
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Connect MCP clients to Thalovant control-plane and hub runtime APIs over stdio or Streamable HTTP.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Website · Documentation · Paper · PyPI · CHAP
AI agents now change their own behaviour while they work. They save memories, write themselves new skills and edit their own instructions. Many of these changes help. Yet none of them passes through the steps an organisation expects when a person changes how work is done. Nobody writes the change down, nobody approves it, and when it turns out to be wrong there is no earlier version to go back to.
Brevet adds those steps. It is a local-first Python runtime that wraps the agent you already have and runs its learning as a governed evolution loop. When an expert corrects the agent's draft, Brevet records the correction and its reason as an override. Offline, in the dream cycle, overrides that keep recurring become candidate capabilities: proposed rules and other learned behaviour, with no authority. At the dawn gate, a named human or mission group (the accountable review board) decides which candidates to promote. The overrides then replay as evals, and the conservative gate stops a release that makes either half of them worse. Promoted capabilities ship in a signed release, listed in capabilities.lock, and a capability that proves wrong can be recalled, with every release that shipped it flagged. Every step is recorded on a hash-linked evidence chain.
Agents propose deltas; evidence tests them; humans promote them;
the runtime only ever executes signed versions.
| Question | How Brevet answers it |
|---|---|
| What has the agent learned? | Every release carries capabilities.lock, its bill of materials: each learned capability, where it came from and the hash of its exact content, plus the harness the release runs with (prompts, skills, tools, settings and libraries). |
| Who approved it? | Each capability records the human or mission group that promoted it at the dawn gate, with the overrides that justified it, signed by their registered key once the workspace requires it. |
| How do we take it back? | Recall it, or roll back to an earlier release. Brevet flags every release that shipped it, withholds it from running agents and records each agent's acknowledgement. |
A quality reviewer at a pharmaceutical plant checks an agent's severity rating for each equipment problem. The agent rates pump vibration during cleaning as *minor*. She overrides it to *major* every time, because that vibration is an early sign of seal wear. After four overrides, the dream cycle proposes a candidate rule. At dawn her mission group promotes it, and release 0.2.0 ships with the rule in its capabilities.lock. Months later, engineers trace the vibration to a faulty sensor, so the mission group recalls the rule and Brevet flags release 0.2.0.
The same story in code
The agent here is a plain Python function; with a real framework you pass your agent object instead.
import brevet
agent = brevet.wrap(triage_agent) # wrap the agent you already have
result = agent.run("Pump P-301: vibration high during cleaning", task_family="equipment_triage") agent.record_final(result.task_id, "severity: major", participant="human:qa.reviewer@example.com", rationale="Vibration during cleaning is an early sign of seal wear.", tags=["vibration-during-cleaning"])
agent.dream() candidates = agent.dawn() # the dawn queue rule = next(c for c in candidates if c.kind == "prompt_rule")
for cap in candidates: agent.dawn(decide=(cap.capability_id, "promote"), approver="mission_group:quality_team")
before = agent.evaluate(baseline=True)
after = agent.evaluate()
agent.release(to_version="0.2.0", channel="trial", approver="mission_group:quality_team", evals=(before, after))
agent.recall(rule.capability_id, reason="The vibration came from a faulty sensor.", issued_by="mission_group:quality_team") agent.verify()
The full script is examples/pump_vibration.py, and ABOUT.md shows what it prints.
pip install brevet
brevet demo # the whole loop as one command brevet playground # step through the loop in your browser
Everything runs on your own machine, with no model or network connection. To run the example above, install Brevet, clone the repository and run python examples/pump_vibration.py. For a guided, clickable tour, open docs/demo.html from your clone in a browser.
brevet.wrap() recognises agents built with LangGraph, the Claude Agent SDK, DeepAgents, AutoGen, LlamaIndex, Pydantic AI, the Google Agent Development Kit, CrewAI and the OpenAI Agents SDK, and it accepts any Python function. Your framework keeps running the agent; Brevet serves it its governed rules with each task and, wherever the framework exposes its tools, checks each tool call against the tiers its release declares. uvx brevet mcp offers capture, review, release and recall to any MCP client (ABOUT.md shows the setup), and examples/claude-cowork uses it to govern what Claude itself learns.
Every decision can require the signatures of approvers whose keys are checked against your allowed-signers file or GitHub. Releases are bound to the eval runs behind their numbers, and any release can be rolled back. A recalled rule is withheld from running agents, which confirm it on the record. A tool broker checks the agent's tool calls against the tiers the manifest grants, and the evidence chain is anchored outside the workspace, so even a rewritten chain is caught. ABOUT.md shows how to switch each one on: see Signed approvals and Running in production.
brevet benchmark scores a workspace on its four axes.If you use Brevet in research, please cite it as CITATION.cff describes. The accompanying paper is *Brevet: Change Control for What Self-Evolving AI Agents Learn* (Shahid, Suttie and Black, 2026).
Apache-2.0. See LICENSE. Brevet is a Brightbeam project.