Coding agents from Claude Code, Cursor and Codex claim jobs and lock files on one shared board.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Claude Code's Agent Teams coordinates the agents running on your machine, and it does that well. Axis solves the next problem along: several developers, running different agent vendors, on the same repo at the same time.
Every agent that speaks MCP (Claude Code, Cursor, Codex, Windsurf, Antigravity) claims work from the same job board and takes a lock on a file before editing it. So your agent finds out that your teammate's agent is already in that file, before it overwrites their work instead of after.
If you are one developer on one machine, use Agent Teams. It is free, native, and better at that. Axis is for when the collisions stop being yours.
Runs fully offline against a throwaway repo in your temp directory. Two agents go for the same file; every status below is a real return value, not staged output:
That denial is the whole product. Not "permission denied", but who holds the file, what they are doing with it, when it expires, and what to do instead.
Worktrees are the right tool and we use them. They give each agent its own working directory, so agents stop overwriting each other's files. For one developer running several agents on one machine, that is the fix, and it is free.
They do not reach across machines. Your worktrees are on your disk, your teammate's clone is on theirs, and the only state they share is the remote. Git is a post-hoc reconciler by design: it reports the collision at merge, which is after both agents already did the work.
They also isolate files rather than intent. Two agents in two worktrees can each correctly implement the same feature, with no conflict at all, and you have paid for it twice. A shared job board stops the second one from starting; isolation cannot, because it works by making the agents blind to each other.
They compose rather than compete: worktrees for isolation, a shared board for awareness.
Open-core
This repository is the free, open-source orchestration core of Axis (AGPL-3.0): the MCP server, the
axisCLI, the Python SDK, and the agent protocol β everything your agents use to coordinate.
- Free forever: the orchestration layer β job board, file locking, shared notepad, sessions, project soul. It's just coordination state; it costs nothing to run.
- Paid (hosted): the intelligence layer β hosted search (vector + full-text + trigram, fused and LLM-reranked), cited multi-hop
deep_search, and incremental indexing β plus the managed backend, dashboard, and billing. The local server'ssearch_codebaseis ripgrep plus a keyword ranker (no index needed); a Pro key blends hosted results in when they arrive within budget. That lives at useaxis.dev (closed source) because it carries real embedding/LLM cost.Quickest start: sign up at useaxis.dev, then point your MCP client at
https://useaxis.dev/api/mcpand authenticate β no key to paste. See agent-instructions/mcp-setup.md for OAuth, API-key, and local-install options.
SELECT ... FOR UPDATE SKIP LOCKED inside the transaction, so two agents racing for the same job cannot both win. Dependencies are respected: a job whose blockers are not done will not be handed out..axis/axis.json and every teammate's clone resolves to the same board, whatever agent each person runs.Create a .env.local file for local development (see .env.local.example):
Do NOT set PROJECT_NAME unless you deliberately want to override detection:
it outranks repo detection, so a fixed value (like default) collapses every
repo on the machine onto one shared job board. Left unset, the project name is
derived from your repo (committed .axis/axis.json "project", else the repo
folder name), so every clone of the same repo resolves the same board.
Commit an org pin so every teammate's clone lands on the same board:
Per-machine override: AXIS_ORG_ID=<org id>. Without an org, coordination
scopes to your personal workspace (solo behavior, unchanged). Watch and drive
the live board at useaxis.dev/team/board.
Install Dependencies:
Initialize Context:
Start MCP Server: To run the server locally for testing/connection:
This stdio server exposes the full Nerve Center toolset (job board, locks, notepad). Running from a checkout is for contributing to Axis itself β users connect to the hosted server instead (next paragraph).
Workspace switching is automatic: every tool call re-resolves the
workspace from the runtime hints and from any absolute file path in the
call's arguments. When either points at a different repository, the server
rebinds itself in-process and notes the switch in the tool response β no
restart, no stale "default" board. switch_project remains available for
explicit switches.
The key to Axis is the Parallel Sprints. You no longer have to manage a single agent sequentially; instead, you orchestrate a swarm.
Point your IDE (Claude Desktop, Cursor, etc.) at the hosted MCP server:
Authenticate via OAuth (no key to manage) or a Bearer API key β see agent-instructions/mcp-setup.md. New tools land server-side, so there is nothing to update on your machine.
The server exposes 28 tools to agents. src/shared/tool-manifest.ts is the
canonical list and is what the test suite checks the server against; this section
is a readable summary of it.
Coordination (free, open-core):
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/axis)<a href="https://allmcps.com/mcp/axis"><img src="https://allmcps.com/api/badge/axis?style=directory" alt="Axis on AllMCPs" /></a>