The Axis local server is a stdio MCP server that runs on your machine and exposes the full coordination toolset: job board, file locks, live notepad, project soul, and local search. It is published to npm asDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/virsanghavi/axis/llms.txt
Use this file to discover all available pages before exploring further.
@virsanghavi/axis-server and can be run with a single npx command — no global install needed.
Running from a checkout is for contributing to Axis itself. Users should connect to the hosted MCP server — zero install, and new tools land server-side without needing an update.
Who Needs the Local Server
| Use case | Recommended path |
|---|---|
| Using Axis with Claude Code, Cursor, Codex, Windsurf | Connect to the hosted endpoint — no installation |
| MCP client that only supports stdio (not HTTP) | Run npx @virsanghavi/axis-server as a bridge |
| Offline / air-gapped environments | Local server with no API key (local-only mode) |
| Contributing to Axis, testing changes | Run from source checkout |
Running via npx
The fastest way to use the local server. No installation step — npx downloads and runs the latest published version:Running from Source
For contributors who have cloned the Axis repository:src/local/mcp-server.ts directly. Changes you make to the source are reflected immediately on the next server restart.
Pointing Your MCP Client at the Local Server
Configure your MCP client to use stdio transport and invoke the local server via npx:env key in your MCP config — this is the correct production path. See Configuration for the full variable reference.
Required Environment Variables
Only one variable is required:| Variable | Description |
|---|---|
AXIS_API_KEY | Bearer token for the hosted API. Also accepted as SHARED_CONTEXT_API_SECRET. When set, the server defaults the API URL to https://useaxis.dev/api/v1. |
history/nerve-center-state.json. Coordination tools work fully; the intelligence layer (hosted search, deep_search) is unavailable.
Configuration Resolution Order
The local MCP server resolves configuration in this order:MCP client environment (mcp.json)
Environment variables passed by the MCP client from its config file. This is the correct path for customer deployments.
.env.local walk
If no API key or URL is found from the client, the server walks upward from the working directory looking for a
.env.local file to load. This is the local development fallback only — do not rely on it in production.Local-Only vs Hosted-Only Tools
Not every tool is available on both surfaces. The local server includes tools that only make sense locally, and the hosted surface includes tools that require server-side infrastructure. Local server only:| Tool | Why local-only |
|---|---|
guarded_write | Writes to the local filesystem through the server process |
switch_project | Rebinds the in-process session to a new workspace |
read_context | Reads from local .axis/instructions/ files |
update_context | Writes to local .axis/instructions/ files |
get_project_soul | Reads the local project soul |
update_project_soul | Writes the local project soul |
index_file | Indexes a single local file |
search_docs | Searches local documentation |
| Tool | Why hosted-only |
|---|---|
deep_search | Requires server-side LLM multi-hop reasoning and embedding infrastructure |
Circuit Breaker
When the local server is configured with an API key, it proxies coordination calls to the hosted API. If the hosted API becomes unavailable, the server does not stack timeouts or fail hard. The HTTP client wraps every hosted call in a circuit breaker:- Threshold: 5 consecutive
5xxor network failures open the circuit - Cooldown: Circuit stays open for 60 seconds
- Fallback: While open, calls fail fast with
CircuitOpenErrorand the server falls back to the local JSON state inhistory/nerve-center-state.json - Recovery: After the cooldown, one half-open probe is sent through; a success resets the failure counter