Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Your why agent, the infra agent for your fleet. Your agents work from what you decided, and why.
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.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://api.unlimitless.ai/mcpRun this in your terminal
claude mcp add --transport http unl https://api.unlimitless.ai/mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"unl": {
"url": "https://api.unlimitless.ai/mcp"
}
}
}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": {
"unl": {
"type": "http",
"url": "https://api.unlimitless.ai/mcp"
}
}
}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.
ChatGPT connects only to servers on the internet:
https://api.unlimitless.ai/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
We have not read this server’s tool list yet; we check endpoints in rotation.
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 against the domain unlimitless.ai (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Not checked yet; we check endpoints in rotation
Not checked yet; we check endpoints in rotation
Not checked yet; we read the tool list when we check the endpoint
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 in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (0.2.3) reached the registry 25 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, Excaliself
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.
Find, read, create, edit, and organize Excalidraw drawings in your self-hosted Excaliself instance.
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.
Unl, your why agent. Your AI already knows how to reason. Unl gives it your reason.
See it work in two minutes, no account: node demo/changed-decision.mjs
You decide things while you work with AI: what to build, what to leave out, and why. Unl keeps those decisions with their reasons. When you or one of your agents is about to act, Unl hands over the ones that bear on the task, so Claude Code, Cursor, ChatGPT, Codex and the agents you build all start from the same why. You never re-brief them.
Open, in this repository, under MIT: everything that runs on your side. The unl command, the AI SDK package, the Cursor plugin, a working example for each agent framework, and the decision format with a conformance check you can run on your own code. Read them to see exactly what leaves your machine.
Also open: the status checks, which test Unl from outside its own infrastructure.
Hosted: Unl itself, the service that keeps your decisions with their reasons and chooses which ones bear on a task, runs at api.unlimitless.ai. Its code is not in this repository.
With the agent you already use, tell it:
Read unlimitless.ai/start.md, set up Unl, and show me the decisions you find.
In Claude Code or Cursor:
npm install -g unlimitless
unl # sign in once, then the Unl terminal opens unl init # in your project, for Claude Code (add --cursor for Cursor)
Then ask your agent what you are working on.
In any MCP client (ChatGPT, Claude, Codex, VS Code, Grok Bot, Lovable): add the server https://api.unlimitless.ai/mcp and sign in when it asks.
In an agent you build: make a key at unlimitless.ai/portal/keys, set it as UNL_KEY, and pick your framework below.
Every tool uses the same address, https://api.unlimitless.ai/mcp, and signs in with OAuth once. There is no key to paste: a personal key is only for the API, never for connecting a tool.
Claude and Claude Desktop. Open Settings, then Connectors, and choose Add custom connector. Name it Unl, paste https://api.unlimitless.ai/mcp, and add it.
Claude Code. In your project, unl init signs you in and wires the hook that brings Unl into every turn. To add only the server:
claude mcp add --transport http unl https://api.unlimitless.ai/mcp
then run /mcp, choose unl and pick Authenticate.
ChatGPT. In Settings, open Plugins and switch on Developer mode. Choose New Plugin, name it Unl, paste https://api.unlimitless.ai/mcp as the server URL, set authentication to OAuth and keep Dynamic Client Registration. Then open Advanced OAuth settings and untick OIDC enabled: left on, ChatGPT asks for a scope Unl does not register and the connection is refused.
Cursor. Add the URL to .cursor/mcp.json, no key and no header, or install the Cursor plugin in this repository:
{ "mcpServers": { "unl": { "url": "https://api.unlimitless.ai/mcp" } } }
Everything else (Codex, VS Code, Antigravity, Grok Bot, Lovable, Viktor and more): step-by-step for each, kept current, at unlimitless.ai/connect.
| Folder | What it is |
|---|---|
cli/ | The unl command. unl init adds Unl to a Claude Code or Cursor project, and unl on its own opens the Unl terminal: each turn, the decisions Unl handed your agent with their reasons, and the ones it held back. |
packages/ai-sdk/ | @unlimitless/ai-sdk. Wrap any Vercel AI SDK model with withUnl and every call carries the part of your decisions that bears on it. |
examples/ | One small working example per framework: Mastra, OpenAI Agents SDK, Google ADK, LangChain, Pydantic AI, LiteLLM, Cloudflare Agents, Netlify, TanStack AI, Composio, E2B, Browser Use and a GitHub Copilot custom agent. |
examples/vercel-ai-sdk-chat/ | A chat app on the AI SDK you can deploy to Vercel with Unl already added. |
.cursor-plugin/ and mcp.json | The Cursor plugin: Unl's MCP server, with sign-in discovered from the server. No key in the repository. |
decision-format/ | The open format for a kept decision: what it holds, how its address is computed and checked, a conformance check you can run on your own implementation, and reference code in Node and Python. MIT, and it runs without Unl. |
git clone https://github.com/Unlimitless-Inc/unl.git
cd unl/packages/ai-sdk npm install npm test
These tests use synthetic responses. They test the client contract without an account or a model call, and do not prove hosted retrieval or model performance. The planner and writer example is the next step for trying a real changed decision in your own test project.
For example, you first choose synchronous exports because the files are small. Later you choose a queue because larger files exceed the request timeout. The job is for a fresh writer to receive the new choice and its reason, then produce a change that follows it. Compare with an equally updated file as well as stale or absent context. A maintained file may work just as well.
Two ways in, and most examples show both:
Unl ships changes every day, and the changelog says in plain words what each one did. To follow along, star this repository.
Bug reports and small fixes are welcome: see CONTRIBUTING.md. To report a security problem, follow SECURITY.md and do not open a public issue.
MIT. See LICENSE.