Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Agent eXoskeleton Framework control plane for workspace-native agent capabilities over MCP.
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.
AXF_PROJECT_ROOT, AXF_EXECUTION_ROOT, AXF_WORKSPACE, AXF_REGISTRY_WORKSPACE, AXF_EXECUTION_WORKSPACEYou 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": {
"axf": {
"command": "npx",
"args": [
"-y",
"@smartergpt/axf",
"mcp"
],
"env": {
"AXF_PROJECT_ROOT": "your-value",
"AXF_EXECUTION_ROOT": "your-value",
"AXF_WORKSPACE": "your-value",
"AXF_REGISTRY_WORKSPACE": "your-value",
"AXF_EXECUTION_WORKSPACE": "your-value"
}
}
}
}Run this in your terminal
claude mcp add axf --env AXF_PROJECT_ROOT=your-value --env AXF_EXECUTION_ROOT=your-value --env AXF_WORKSPACE=your-value --env AXF_REGISTRY_WORKSPACE=your-value --env AXF_EXECUTION_WORKSPACE=your-value -- npx -y @smartergpt/axf mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"axf": {
"command": "npx",
"args": [
"-y",
"@smartergpt/axf",
"mcp"
],
"env": {
"AXF_PROJECT_ROOT": "your-value",
"AXF_EXECUTION_ROOT": "your-value",
"AXF_WORKSPACE": "your-value",
"AXF_REGISTRY_WORKSPACE": "your-value",
"AXF_EXECUTION_WORKSPACE": "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": {
"axf": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@smartergpt/axf",
"mcp"
],
"env": {
"AXF_PROJECT_ROOT": "your-value",
"AXF_EXECUTION_ROOT": "your-value",
"AXF_WORKSPACE": "your-value",
"AXF_REGISTRY_WORKSPACE": "your-value",
"AXF_EXECUTION_WORKSPACE": "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.
AXF_PROJECT_ROOT envAXF_EXECUTION_ROOT envAXF_WORKSPACE envAXF_REGISTRY_WORKSPACE envAXF_EXECUTION_WORKSPACE 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 against the domain smartergpt.dev (the registry checks domain ownership)
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 (2.1.4) reached the registry 18 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, Foliosio
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.
Read your support inbox, tag conversations and save draft replies from your AI agent. Never sends.
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.
Fit the repository once. Let every agent follow the same paved path.
An agent can read your code. It still has to rediscover how this repository wants to be built, tested, searched, diagnosed, and operated. The clues are usually scattered across scripts, package tasks, prose, CI, and human memory.
AXF (Agent eXoskeleton Framework) turns that repeated local ceremony into small, self-describing capabilities. Fit the exoskeleton deliberately once; later agents can discover the right route, inspect its contract, and run it without rebuilding the procedure from scratch.
recurring repository ceremony
↓ fit once inspectable AXF capabilities ↓ reuse agent discovers → inspects → runs
AXF is a traffic cop, not a replacement vocabulary. It preserves a provider's existing command family by default, then projects or normalizes only the parts that need a clearer agent-facing contract. The goal is not to automate judgment. It is to spend less judgment on reconstructing the same route.
You do not need the framework vocabulary to use a fitted repository:
echo module or a repository-owned validation pack.The smallest proof of life is:
npm install --global @smartergpt/axf
axf doctor axf list --compact axf inspect echo say axf run echo say --message hello
AXF 2.1.5 is published under Apache-2.0; earlier npm releases retain their published terms. Outside a fitted workspace, with no root override, this example discovers the bundled manifests in the installed package. doctor reports that project root separately from the current execution directory. An explicit AXF_PROJECT_ROOT overrides discovery; an empty directory without an axf.workspace.json marker has no capabilities. A fitted repository normally adds its own capabilities; echo.say only proves that the registry, resolver, adapter, and executor are connected.
Before AXF, a new agent searches multiple instruction files, reverse-engineers package scripts, guesses the safe validation subset, and repeats that work in the next session.
After a deliberate fit, the repository can expose stable entries such as context, check, and handoff. A caller starts with axf guide, inspects the selected capability, and runs the repository-owned route. AXF makes the route visible; the repository still owns it.
AXF helps when:
AXF is probably not a fit when one obvious command already covers the work, the ceremony is unlikely to recur, or the provider surface changes faster than the team can maintain a capability contract.
The adoption question is:
Does this repository have repeated local operating ceremony that is worth
fitting once into stable, inspectable agent capabilities?
For a bounded, strictly read-only assessment, give an agent this prompt:
Evaluate whether this repository is a fit for AXF by following
docs/agent-evaluation.md. Do not install AXF, edit files, scaffold or promote capabilities, invoke MCP tools, or run repository code. Inspect only the existing scripts, package tasks, documentation, agent instructions, CI and platform/runtime constraints. Identify repeated mistakes and existing overlap, then return exactly one verdict: adopt, pilot, defer, or not a fit. Include the evidence, expected fitting cost, ongoing drift cost, authority boundaries, and the smallest reversible pilot. Do not perform the pilot without separate approval.
See Agent fit evaluation for the evidence checklist, verdict definitions, and response template.
| You are... | Start here | Your job |
|---|---|---|
| A caller or coding agent | Caller guide | Discover, inspect, and run capabilities someone else fitted. |
| An integration author | Integration author guide | Fit existing repository or provider ceremony into stable capabilities. |
| An AXF framework author | Framework author guide | Change loaders, resolution, adapters, policy, MCP, or other AXF internals. |
Stop at the caller guide unless you are responsible for fitting a provider or changing AXF itself. The complete audience map is in Documentation layers.
Status: alpha. The core loop is in place: scout, inspect, execute,
scaffold, and promote capabilities through one contract. Manifest version
axf/v0is the current alpha contract.
AXF is not a universal command catalog, a source of authorization, a replacement for provider identity, a substitute for review, or an MCP-only product. MCP is one agent-facing surface over the same registry and execution path.
AXF is licensed under the Apache License, Version 2.0, including commercial and organizational use under its terms. Preserve the applicable notices. Earlier releases retain their applicable terms.
SmarterGPT was founded by Joseph Gustavson (Guffawaffle). See stewardship, contributing, and project identity. Code licensing does not grant runtime authority.
The npm package name is @smartergpt/axf. It installs two bins:
axf — the CLI entrypoint, including the stdio MCP launch subcommand axf mcpaxf-mcp — the stdio MCP server entrypointMCP clients may launch axf-mcp directly. For registry-driven or package-driven launch, prefer axf mcp so the package can stay centered on the base axf command surface. Both entrypoints start the same stdio MCP server. The server exposes exactly one MCP tool named axf, and that tool routes into AXF's existing capability surface for the bound workspace.
npm install --global @smartergpt/axf
Then use either bin directly:
axf doctor
axf mcp axf-mcp
Audit a Codex MCP package pin before assuming the configured server matches the installed CLI:
axf integrate codex --check
axf integrate codex --write axf integrate codex --check --smoke
Writes are scoped to the AXF package spec in Codex config.toml; restart or reopen Codex afterward. For one-call AXF + Lex bootstrap, including the explicit off | shadow KnowledgeFrame provider rollout, see the packaged templates/session-context workspace recipe and docs/13-repo-onboarding.md.
From a local clone, run the bins directly with Node:
node /path/to/axf/bin/axf.js doctor
node /path/to/axf/bin/axf.js mcp node /path/to/axf/bin/axf-mcp.js
A repo-local MCP configuration can either call the direct MCP bin or the CLI subcommand. Prefer the CLI subcommand when the client supports command arguments cleanly:
{
"mcpServers": { "axf": { "command": "node", "args": ["/path/to/axf/bin/axf.js", "mcp"], "cwd": "/path/to/project", "env": { "AXF_PROJECT_ROOT": "/path/to/project", "AXF_EXECUTION_ROOT": "/path/to/project" } } } }
Direct-bin configs remain valid:
{
"mcpServers": { "axf": { "command": "node", "args": ["/path/to/axf/bin/axf-mcp.js"], "cwd": "/path/to/project", "env": { "AXF_PROJECT_ROOT": "/path/to/project", "AXF_EXECUTION_ROOT": "/path/to/project" } } } }
Published-package smoke tests must run from a clean directory such as /tmp, not from the AXF repo root. Running from the repo root can let npx or npm exec pick up a repo-local or globally installed axf binary instead of the package-installed one.
The registry-friendly launch shape is axf mcp, but the direct MCP bin remains valid for manual configurations. These equivalent package-driven forms use the published npm package:
npx -y --package @smartergpt/axf axf doctor
npx -y --package @smartergpt/axf axf mcp npx -y --package @smartergpt/axf axf-mcp
npm exec --yes --package @smartergpt/axf -- axf doctor npm exec --yes --package @smartergpt/axf -- axf mcp npm exec --yes --package @smartergpt/axf -- axf-mcp
For registry-style Windows MCP configs, prefer the base axf.cmd launcher with mcp as an argument:
{
"mcpServers": { "axf": { "command": "axf.cmd", "args": ["mcp"], "cwd": "C:\\src\\my-project", "env": { "AXF_PROJECT_ROOT": "C:\\src\\my-project", "AXF_EXECUTION_ROOT": "C:\\src\\my-project" } } } }
Direct-bin .cmd configs are still valid:
{
"mcpServers": { "axf": { "command": "axf-mcp.cmd", "args": [], "cwd": "C:\\src\\my-project", "env": { "AXF_PROJECT_ROOT": "C:\\src\\my-project", "AXF_EXECUTION_ROOT": "C:\\src\\my-project" } } } }
For registry-style WSL/Linux MCP configs, prefer the base axf command with mcp as the first argument:
{
"mcpServers": { "axf": { "command": "axf", "args": ["mcp"], "cwd": "/home/user/src/my-project", "env": { "AXF_PROJECT_ROOT": "/home/user/src/my-project", "AXF_EXECUTION_ROOT": "/home/user/src/my-project" } } } }
Direct-bin configs remain valid:
{
"mcpServers": { "axf": { "command": "axf-mcp", "args": [], "cwd": "/home/user/src/my-project", "env": { "AXF_PROJECT_ROOT": "/home/user/src/my-project", "AXF_EXECUTION_ROOT": "/home/user/src/my-project" } } } }
WSL users should use a native WSL AXF install on PATH, not Windows npm shims or npm's _npx cache. Optional shared packs that launch native CLIs should follow the same rule: prefer Linux-native tools earlier on PATH and avoid crossing into Windows shims from WSL.
axf, axf mcp, and axf-mcp resolve the active project root and execution root in this order:
--project-root and --execution-rootAXF_PROJECT_ROOT and AXF_EXECUTION_ROOT--workspace, --registry-workspace, --execution-workspaceAXF_WORKSPACE, AXF_REGISTRY_WORKSPACE, AXF_EXECUTION_WORKSPACEaxf.workspace.json from cwdaxf.workspace.json from the installed script locationcwd fallbackFor axf run, unprefixed root flags are global only before the subcommand; after run they are capability-owned. Non-run commands retain their legacy placement because they have no downstream argument owner. The --axf-project-root, --axf-execution-root, and --axf-workspace spellings are accepted later in the AXF-controlled portion of a command. After an axf run ... -- boundary, root-like names belong to the capability.
AXF reserves the --axf-* namespace for framework controls and leaves natural public argument names to capabilities. Use an explicit boundary when the ownership should be visible in the command itself:
axOnly the beginning is shown; read the rest in the repo