Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Personalize AI coding assistants by analyzing local conversation history. Runs on your machine.
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.
VARDOGER_MCP_PLATFORMYou 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": {
"vardoger": {
"command": "uvx",
"args": [
"vardoger",
"mcp"
],
"env": {
"VARDOGER_MCP_PLATFORM": "your-value"
}
}
}
}Run this in your terminal
claude mcp add vardoger --env VARDOGER_MCP_PLATFORM=your-value -- uvx vardoger mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"vardoger": {
"command": "uvx",
"args": [
"vardoger",
"mcp"
],
"env": {
"VARDOGER_MCP_PLATFORM": "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": {
"vardoger": {
"type": "stdio",
"command": "uvx",
"args": [
"vardoger",
"mcp"
],
"env": {
"VARDOGER_MCP_PLATFORM": "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.
VARDOGER_MCP_PLATFORM 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 7, 2026
The registry name was verified with the GitHub account dstrupl, 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.
The registry does not list a required key, though some servers ask you to sign in on first use.
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 40 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, FactLot
Servers in the same category from other makers, sorted by stars.
Reading a card:★ 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.
Cited CRE facts and deterministic calculators for agents: rent, CAM, debt sizing, IRR, parcel IDs.
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.
A cross-platform plugin for AI coding assistants (Cursor, Claude Code, OpenAI Codex, OpenClaw, GitHub Copilot CLI, Devin Local, legacy Windsurf, and Cline) that reads supported local conversation-history formats, extracts behavioral patterns, and generates personalized system prompt additions — making the assistant progressively better suited to how you work. Current format limitations are called out per platform below rather than silently reading undocumented stores.
History discovery, parsing, checkpoints, and generated rules stay on your machine. Analysis is performed by the host assistant you invoke, so selected conversation excerpts follow that assistant and model provider's data policy. Vardoger operates no backend and sends no telemetry.
| Platform | Command |
|---|---|
| macOS | brew install python@3.13 (install Homebrew) or python.org/downloads/macos |
| Debian / Ubuntu | sudo apt install python3 |
| Fedora | sudo dnf install python3 |
| Windows | winget install Python.Python.3.13 or python.org/downloads/windows |
Recommended for installing vardoger as an isolated CLI tool. Full instructions at pipx.pypa.io/stable/installation.
| Platform | Command |
|---|---|
| macOS | brew install pipx && pipx ensurepath |
| Debian / Ubuntu | sudo apt install pipx && pipx ensurepath |
| Fedora | sudo dnf install pipx && pipx ensurepath |
| Windows | scoop install pipx or pip install --user pipx && pipx ensurepath |
pipx install vardoger
vardoger setup cursor # or claude-code, codex, openclaw, copilot, devin, windsurf, cline
Then tell your assistant: "Personalize my assistant."
Looking for the in-app plugin listings? Track review status for each
marketplace (PyPI, Cursor, Claude Code, Codex, Copilot CLI, Devin Desktop,
Cline,
ClawHub) in
MARKETPLACE_STATUS.md.
Vardoger is currently live on PyPI, the Claude Code community catalog,
self-hosted Codex and Copilot marketplaces, McpMux, and the Official MCP
Registry. The former Cursor listing is currently unavailable. ClawHub has
regressed to 0.3.1 and is intentionally frozen because its mandatory MIT-0
terms conflict with this Apache-2.0 project. Current OpenClaw history has a
live-accepted, opt-in full-read Gateway CLI path through the direct install.
Previous pre-releases.
pipx install vardogernow resolves to the stable
0.4.0release. The beta install paths below stay here for anyone still pinning
an earlier release; new installs should not need them.
`bash
# opt into future pre-releases (0.2.0bN, etc.):
pipx install --pip-args="--pre" vardoger
# or pin an older pre-release:
pipx install vardoger==0.1.0b3
# or run without installing:
uvx vardoger --help
`
| Command | Purpose | |
|---|---|---|
vardoger setup | Register vardoger with a platform (cursor, claude-code, codex, openclaw, copilot, devin, windsurf, cline). | |
vardoger status [--platform X] [--json] | Report whether each personalization is fresh or stale. | |
vardoger prepare --platform X [--batch N] [--synthesize] | Produce the batched prompts used by the AI-driven skill pipeline. | |
vardoger write --platform X | Read synthesized personalization from stdin and write it to the platform's rules file (supports YAML-frontmatter confidence metadata). | |
| `vardoger feedback accept\ | reject --platform X [--reason TEXT]` | Record whether you kept or rejected the last generation. reject auto-reverts to the prior generation. |
| `vardoger compare --platform X \ | --all [--window DAYS] [--json]` | Compare heuristic conversation-quality metrics before vs. after the latest personalization. |
vardoger profile sources [--platform X] [--json] | List saved generations and their stable one-based selection IDs. | |
vardoger profile preview --source X:N [--source Y:latest] | Compile explicitly selected generations into a normalized cross-host profile and show the portable AGENTS.md diff without writing. | |
vardoger profile write --source X:N --target ./AGENTS.md [--apply] | Show the same diff; update only Vardoger's fenced block when the user explicitly adds --apply. |
.cursor/rules/, .claude/rules/, AGENTS.md, etc.)First run vs. incremental runs. By default vardoger does not apply a
time window — the first run reads your full local history (that is when the
signal is richest and a windowed default would silently drop older sessions
you never get a second chance to feed in). After that, a per-conversation
checkpoint store at
~/.vardoger/state.jsonensures every subsequent run
only reprocesses new or changed conversations, so refreshes stay fast.
If you have very large local history and want to cap the first-run cost,
pass
--since DAYS(e.g.vardoger prepare --platform cursor --since 90);
use
--fullto force a full re-crawl that bypasses the checkpoint.
The profile compiler combines only existing Vardoger generations that you select; it does not silently reopen raw transcripts. Generation indexes are one-based, while latest resolves to the newest saved generation for that platform:
# Discover the reviewed generations available for selection.
vardoger profile sources
vardoger profile preview \ --source claude-code:latest \ --source codex:2 \ --target ./AGENTS.md
vardoger profile preview \ --source codex:latest \ --min-confidence medium \ --max-age 180 \ --redact '@example\.com' \ --target ./AGENTS.md
vardoger profile write \ --source claude-code:latest \ --source codex:2 \ --target ./AGENTS.md \ --apply
The normalized JSON audit is available with profile preview --json. It records source platform, generation, output hash/path, observation time, recency, confidence, conflicts, supersession, and exclusions. Opposing rules such as “Prefer tabs” and “Avoid tabs” are withheld from active instructions until reviewed. Writes preserve everything outside and .
| Platform | History Source | Prompt Delivery | Integration |
|---|---|---|---|
| Cursor | Agent transcript JSONL | .cursor/rules/vardoger.mdc | Marketplace plugin + MCP |
| Claude Code | Session JSONL | .claude/rules/vardoger.md | Community/custom plugin |
| OpenAI Codex | Session rollout JSONL | ~/.codex/AGENTS.md | Repository marketplace plugin |
| OpenClaw | Legacy JSONL or opt-in full read through official Gateway CLI; private SQLite is never queried | ~/.openclaw/skills/vardoger-personalization/SKILL.md | Analyzer + Gateway compatibility status |
| GitHub Copilot CLI | ~/.copilot/session-state/ /events.jsonl plus legacy flat JSONL | ~/.copilot/copilot-instructions.md (global) or /.github/copilot-instructions.md (project) — managed inside a fenced section | Custom plugin + published skill |
| Devin Local | User-enabled Devin CLI --export ATIF JSON under ~/.vardoger/imports/devin/ | ~/.config/devin/AGENTS.md (global, fenced section) or /.devin/rules/vardoger.md | ATIF + skill + rules integration |
| Legacy Windsurf / Cascade | ~/.codeium/windsurf/**/*.jsonl | ~/.codeium/windsurf/memories/global_rules.md (global, fenced section) or /.windsurf/rules/vardoger.md (project, dedicated file) | Legacy Cascade skill + CLI + MCP |
| Cline | VS Code globalStorage/.../tasks/*/api_conversation_history.json | ~/Documents/Cline/Rules/vardoger.md (global) or the existing .clinerules project layouts | CLI + MCP |
Requires uv (Python package manager):
git clone https://github.com/dstrupl/vardoger.git
cd vardoger uv sync .venv/bin/vardoger --help
src/vardoger/ # shared core — history reading, analysis, prompt generation
.agents/plugins/ # repository-level Codex marketplace catalog plugins/_shared/ # shared analysis/personalization skill authored once plugins/cursor/ # Cursor MCP server config, install script plugins/claude-code/ # Claude Code plugin manifest, skills plugins/codex/ # Codex plugin manifest, skills plugins/openclaw/ # OpenClaw skill plugins/copilot/ # GitHub Copilot CLI plugin manifest, skills plugins/devin/ # Devin Local ATIF export, skill, and rules integration plugins/windsurf/ # Legacy Cascade install snippet and rules delivery plugins/cline/ # Cline integration and marketplace install guidance tests/ # all tests, mirroring src/ structure
src/vardoger/.plugins/ /.tests/, mirroring the source tree.See AGENTS.md for full coding standards and quality checks.
CI enforces a combined quality bar on every push and pull request:
ruff check / ruff format --check — lint (incl. complexity, pylint, return, pathlib, tryceratops rules) and formatting.mypy src/ — strict type checking.pytest --cov=vardoger --cov-fail-under=80 — tests across Python 3.11–3.13 with a combined 80% coverage floor.bandit -r src/ and pip-audit --skip-editable to catch common code smells and dependency CVEs.Run the full bundle locally before pushing:
uv run ruff check . && uv run ruff format --check . && uv run mypy src/ && uv run pytest --cov=vardoger --cov-fail-under=80
Contributions are welcome. Short version:
dstrupl/vardoger on GitHub and clone your fork.uv sync and create a topic branch.main.CI (test on Python 3.11/3.12/3.13 plus a security job) will run automatically on the PR. First-time contributors may need a maintainer to click Approve and run before the first workflow execution.
See CONTRIBUTING.md for the full walkthrough and AGENTS.md for coding standards and commit-message conventions.
CI runs automatically on every push and PR (lint, type check, tests across Python 3.11–3.13). To publish a new version:
CHANGELOG.md.main, then wait for all required checks.vX.Y.Z tag and publish the matching [GitHub release](https://github.com/dstruOnly the beginning is shown; read the rest in the repo