Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
A personal work twin for every AI agent: your confirmed guidance and explicit grants, enforced.
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.
TWINMEUP_HOMEYou 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": {
"twin-me-up": {
"command": "uvx",
"args": [
"twin-me-up"
],
"env": {
"TWINMEUP_HOME": "your-value"
}
}
}
}Run this in your terminal
claude mcp add twin-me-up --env TWINMEUP_HOME=your-value -- uvx twin-me-upFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"twin-me-up": {
"command": "uvx",
"args": [
"twin-me-up"
],
"env": {
"TWINMEUP_HOME": "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": {
"twin-me-up": {
"type": "stdio",
"command": "uvx",
"args": [
"twin-me-up"
],
"env": {
"TWINMEUP_HOME": "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.
TWINMEUP_HOME 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 GitDakky, 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.2.1) reached the registry 23 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, Date Math
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.
Exact date/time math for agents: business days, holidays, time zones, cron, RRULE, SLA. x402 paid.
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.
Teach it once. Every agent you use works the way you would, and asks before it acts.
Quick start · One-prompt install · How it works · Works with · The research · Safety
You probably use more than one AI agent. Each one starts from zero. It does not know what you care about, which corners you never cut, or which decisions you always want to make yourself. So you repeat yourself, correct the same mistakes, and hope nothing consequential happens before you look.
Twin Me Up is a small, local, open-source service that gives every agent the same answers to three questions:
ask. Optional hooks enforce that outside the model.It is not a chatbot of you, a personality clone or an autonomous replacement for you. The evidence does not support those claims, and the research explains why.
| Learning you ratify | Agents propose lessons. Only you confirm, revise, reject or retire them. Every lesson keeps its origin, sources and history. |
| Authority you grant | Agents act on explicit grants for a workflow and named actions, optionally expiring. Actions in the reserved twin. namespace can never be granted to anyone. |
| Enforcement outside the model | Pre-action hooks for Hermes, Claude Code and pi block or escalate ungranted tool calls. They fail closed. |
| Evidence, not vibes | Freeze held-out decisions, then test the twin against a generic assistant and a rules-only baseline. Results come with sample-size warnings. |
| One twin, every agent | One MCP server, a native pi extension, a CLI bridge and function-calling schemas. Thirteen agent systems and frameworks documented, ten verified live. |
| Yours | Local SQLite with owner-only files, a tamper-evident audit log, portable export, and erasure that removes everything derived from a record. No telemetry. |
| A rules file or system prompt | Built-in agent memory | Twin Me Up | |
|---|---|---|---|
| Works across every agent you use | Copied into each one | Within one product | One twin, over MCP |
| Learns from your corrections | No | Often, automatically | Yes, as proposals |
| You approve what it learns | You write all of it | Usually after the fact | Always, before it counts |
| Stops actions you have not allowed | No | No | Yes: grants, ask and hooks |
| Shows whether it actually helps | No | No | Held-out tests against baselines |
| Where your data lives | Your files | The vendor | Your machine |
You need Python 3.11 or later and uv (or pipx). macOS and Linux are tested. Windows should work but is untested.
uv tool install twin-me-up # or: pipx install twin-me-up
twinmeup init # your name and a passphrase, in your own terminal twinmeup connect --list # every supported agent system twinmeup connect claude-code # the exact steps for one of them, with your paths twinmeup doctor # check everything, including a live MCP handshake
twinmeup init asks for your name and a passphrase. The passphrase guards everything only you should do: confirming lessons, granting authority, exporting and erasing. Agents are never given it, and those commands refuse to run without it.
Only need the MCP server? After twinmeup init, any MCP client can start it with uvx twin-me-up. Prefer the latest code? uv tool install git+https://github.com/GitDakky/twin-me-up.
Upgrading? Run uv tool upgrade twin-me-up (or pipx upgrade twin-me-up), then twinmeup doctor. The FAQ explains what an upgrade changes for your twin.
Using Claude Desktop? After twinmeup init, download the .mcpb desktop extension from the latest release and open it. One bundle works on macOS, Windows and Linux.
Already working inside an agent? Paste this into it.
Copy-paste install prompt
Install Twin Me Up for me and connect it to yourself. Twin Me Up is a local, open-source
work twin: it learns how I make decisions, briefs you at the start of work and tells you when you need my approval. Repository: https://github.com/GitDakky/twin-me-up
Work step by step and show me each command you run.
twinmeup init myself, in my own terminal, and wait until I say it is done. It sets my name and a passphrase that only I know. Do not run it for me, do not ask me for the passphrase, and never type a passphrase anywhere.twinmeup connect --list, pick the entry that matches you (or generic), then run twinmeup connect and carry out the steps it prints to register the MCP server and install the skill. If it offers optional enforcement hooks, show me the action map and the hook configuration first, and install them only if I agree.twinmeup doctor and report the result.While you work with my twin:
The agent installs the package, connects itself and checks the result. The two steps that matter stay with you: choosing the passphrase, and approving any enforcement hooks. The prompt is also in docs/install-prompt.md.
flowchart LR
you([You]) twin[("Your twin local store")] agent["Any agent"] hook{{"Pre-action hook"}} you -- "confirm lessons grant and approve" --> twin twin -- "candidate lessons to review" --> you agent -- "twin_brief twin_authorise request approval" --> twin agent -- "record decisions and corrections" --> twin agent -. "every governed tool call" .-> hook hook -- "ungranted: block or ask" --> agent hook -- "checks grants" --> twin
twin_brief. It gets your confirmed guidance for the workflow, with boundaries and escalation rules always included, and a list of what it is authorised to do.twin_authorise. The answer is allow only when a live grant covers the action. Otherwise it is ask: the agent prepares a draft, requests your approval and waits for your decision.| Tool | What it does |
|---|---|
twin_brief | Your confirmed guidance and current authority for a workflow. Call it at the start of work. |
twin_authorise | May I do this now? Returns allow with the covering grant, or ask. |
twin_request_approval | Ask you to approve one action. You decide in your own terminal. |
twin_approval_status | Has the request been approved, declined or not yet decided? |
twin_search | Find confirmed guidance relevant to a question. |
twin_review_queue | Unconfirmed lessons to show you for review. |
twin_track_record | Evidence and stage for a workflow: learning, corrections, evaluations and grants. |
twin_next_questions | The most valuable unanswered questions about a recorded decision. |
twin_record_decision | Capture a real decision: situation, options, choice, reasons. |
twin_amend_decision | Merge your answers to follow-up questions into a recorded decision. |
twin_record_correction | Record when you edit, override or reject the agent's work. |
twin_propose_lesson | Propose a lesson. It has no authority until you confirm it. |
These commands need your passphrase, so agents cannot run them.
| Command | Purpose |
|---|---|
twinmeup init | Set your name and passphrase |
twinmeup lesson confirm, reject, revise, retire | Decide what your twin has learned |
twinmeup grant add, revoke | Give or withdraw authority |
twinmeup approvals approve, decline | Decide what agents have asked to do |
twinmeup eval create, add-case, from-episode, freeze | Build held-out evaluation sets |
twinmeup export | Write a portable bundle of your twin |
twinmeup erase episode | Erase a decision and everything derived from it |
An agent that needs an action it has not been granted asks for it, then waits:
twin_authorise says ask. The agent prepares a draft and calls twin_request_approval with a one-line summary of what anOnly the beginning is shown; read the rest in the repo