Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Self-hosted code intelligence: cross-repo Q&A, dependency audits and PR review, over MCP
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"celmis": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/celmis-labs/celmis-api:v0.1.30"
]
}
}
}在终端中运行这条命令
claude mcp add celmis -- docker run -i --rm ghcr.io/celmis-labs/celmis-api:v0.1.30粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"celmis": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/celmis-labs/celmis-api:v0.1.30"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"celmis": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/celmis-labs/celmis-api:v0.1.30"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
发布者(constantinemakoid)不是仓库所有者(Celmis-labs);可能是其他人代为上架的
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 0 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.1.30)于2个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Docker。
同一分类中有:Spec Driven Development, Remote Desktop Commander, EmbeddedCI BenchPod
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
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.
Drive a BenchPod hardware-in-the-loop bench: power, flash, UART, I2C, CAN, analog and logic.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Understand, review, secure and fix your code, in one self-hosted place. One machine. Your model, your network. The code never leaves the company.
Website · Documentation · Quick start · What's new · Results
Celmis puts everything an engineering team needs to work with its code in one place. It indexes all of your repositories once, into a symbol graph built without a model, and every tool reads that same index:
file:line citations, in the app or from a coding agent (Claude Code, Cursor, Codex) over MCP, plus the team's own skills and checklists for the task at hand;It is built for the team that ships the code and answers for it in production. Instead of a separate tool for each of those jobs, each with its own access rules and its own copy of your code, one installation holds them all. The aim is a small team that can run several products and the integrations between them.
What "beyond its own repository" means today. Before a merge, the review checks the other repositories for values the change removes that they still hardcode, for deploy files that point at the changed repository, and for code that calls a changed function by the same name, quoting both sides. These are checks, not a call graph between repositories; that graph is not built yet.
| Ask the code | Questions across several repositories, answered with file:line citations on both sides of a call. Ask the code |
| Codebase and MCP | 51 tools over MCP, a compact /mcp/dev profile for editors, a Claude Code plugin, and versioned knowledge packs of the skills your team already explains out loud. MCP · Packs |
| Pull-request review | Agents read the diff and, where the graph exists, who else calls what changed, across repositories. Talk to it with @celmis, teach it with remember, and it stays quiet when there is nothing to say. Review |
| Evidence | Dependency audit, CycloneDX SBOM and an evidence pack whose manifest a third party recomputes. SBOM and evidence |
| Fix from here | An alert or a dependency finding becomes an embedded session, then a branch, then a pull request. A human reviews and merges; Celmis never merges. Fix from here · Alerts |
| Access you can defend | Repositories are closed by default, MCP tokens are issued per person, every call is audited, secrets are withheld at the source, and a repository can be shared with another workspace for a fixed time. Who can see what · Sharing |
git clone https://github.com/Celmis-labs/Celmis.git celmis && cd celmis
./scripts/init-env.sh # writes .env and fills every secret docker compose --env-file .env up -d
Then open http://localhost and paste one model provider key under Settings → LLM Setup.
197 seconds from clone to six healthy services on a clean server. Postgres and Qdrant are bundled; about 4 GB of RAM. Details in Quick start. An installation without a licence admits up to five people; see Licensing.
@celmis commands and questions in the thread, remember rules, learning from what the team dismisses, incremental review of each push, Jira acceptance criteria checked in the summary (2.3).brief and skills; celmis-pack publishes them (3.0).Every release is in the changelog.
Celmis does not watch your services; Grafana or whatever you already run does that. The application ingests no logs of its own and starts from the alert. The repository ships an optional observability overlay (Prometheus, Loki, Promtail, Grafana) that does collect them, platform-wide rather than Celmis-only:
docker compose -f docker-compose.yml -f docker-compose.observability.yml up -d
Every port binds to 127.0.0.1 and is reached over an SSH tunnel, because Loki has no authentication. GRAFANA_ADMIN_PASSWORD is required.
Ask a question that spans two repositories, and the answer quotes both, as in the screenshot at the top of this page. That is not a search result. The gateway and the payments service are separate repositories with no shared code, and the answer traces the call chain between them — then notices, unprompted, that the Kafka topic name is hardcoded in both and that changing one silently breaks the other.
A reviewer that reads only the diff structurally cannot say that. It never had the other repository open.
| You are a PM, a delivery lead or the client and want to know what state a group of projects is in, or how something actually works | Ask it. From any device, anywhere, without booking time from an engineer and without a meeting whose only output is a paragraph → Ask the code |
| A new engineer has a question a senior would have to answer | Every one of those pulls someone experienced out of flow, at the moment they are already covering. The codebase answers instead, with file:line citations → Ask the code |
| Two teams share an integration and neither can read the other's repository | Load it, grant the right to ask, and deny the paths that must stay private. They get answers; the credentials are refused at the source → Who can see what |
| A customer or an auditor asks for your SBOM | One button, CycloneDX, plus an evidence pack whose manifest they recompute themselves — against a hash you publish where the pack is not → Dependencies, SBOM and the evidence pack |
| A vulnerability lands in a dependency | *Fix from here* hands an embedded session the repository, the package and the finding. It edits, the runner pushes a branch and opens a PR → Fix from here |
| A pull request needs reviewing | Agents read the diff — and, where the graph is built, who else calls what is being changed, including from another repository → Pull-request review |
| Forty services need the same thing done to them | Write the sentence. Celmis shows which repositories it resolves to and waits for a second press, rather than finding them among forty and pressing a button forty times → Ask for work across repositories |
| An alert fires at 02:00 and you are not at a desk | It lands in Celmis and goes out to the workspace's chat channel, and *Fix from here* opens a session already holding the alert. The runner opens the pull request → Alerts, and fixing from a phone |
| Your own agent or editor needs to understand the codebase | Point it at /mcp/. Fifty-one tools over the same index, thirty-five of them read-only, under the same access rules — no second copy of your code anywhere → Connect Claude Code and other MCP clients |
The first three are the ones a code-review tool does not do at all, and they are the reason this is a platform rather than a reviewer: index once, then read that index from whichever side of the work you are standing on.
| 197 seconds | from git clone to six healthy services, measured on a clean server |
| $0.118 | per pull request reviewed, on the model this ships with |
| 17th of 50 | on the Martian Code Review Bench offline set, under all three judges |
That last one is deliberately unflattering, and it stays. It measures one of the surfaces below — pull-request review on isolated single-repository PRs — and that set has no sibling service for a symbol to have consumers in, so the thing this product is built around is not in the number at all. The table, the audit of every finding it scored false, and the command that reproduces both are in Results.
| Docker | 24+ with Compose v2 | Docker Desktop on macOS/Windows, the native engine on Linux |
| A model API key | one of | Google Gemini, Anthropic, OpenAI, OpenRouter, Groq or Mistral. A free Gemini key is enough to evaluate: https://aistudio.google.com/app/apikey |
| RAM | ~4 GB free | Measured on a real indexing run: 1.1 GB peak across all five containers, 565 MB at rest |
Postgres and Qdrant are **bundled
只显示了开头部分;其余内容请在仓库中阅读