Axiom

Apple-platform development skills, agent guides and Xcode diagnostics tools over MCP

By Charles Wiltgen (individual) TypeScript Local · stdio Developer toolsDevOps and monitoring

58 popularity score ★ 1.3k ↓ 1.3k/wk

Connect your client

Local (npm)

Add in one click

Opens the app, which asks before it adds the server.

Or add it by command or config

Claude CodeTerminal
claude mcp add axiom -- npx -y axiom-mcp
Claude Desktopclaude_desktop_config.json
{
  "mcpServers": {
    "axiom": {
      "command": "npx",
      "args": [
        "-y",
        "axiom-mcp"
      ]
    }
  }
}
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "axiom": {
      "command": "npx",
      "args": [
        "-y",
        "axiom-mcp"
      ]
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "axiom": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "axiom-mcp"
      ]
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.axiom]
command = "npx"
args = ["-y", "axiom-mcp"]
Gemini CLITerminal
gemini mcp add --scope user axiom npx -- -y axiom-mcp

Settings 8

AXIOM_APPLE_DOCS Optional: Set to false to leave Xcode's bundled Apple documentation out of the catalog.
AXIOM_XCODE_PATH Optional: Xcode app whose documentation and version are read; defaults to the xcode-select one.
AXIOM_LOG_LEVEL Optional: debug, info, warn or error; info by default, logs go to stderr.
AXIOM_MCP_MODE Optional: production (bundled skills, default) or development (reads a plugin checkout).
AXIOM_DEV_PATH Optional: Plugin directory read in development mode.
AXIOM_XCLOG_TIMEOUT Optional: Seconds per xclog call, 120 by default; AXIOM_XCSYM_TIMEOUT (120) and AXIOM_XCPROF_TIMEOUT (300) work the same way.
AXIOM_XCLOG_PATH Optional: Use another xclog binary; AXIOM_XCSYM_PATH and AXIOM_XCPROF_PATH do the same for the others.
AXIOM_FULL_READ_LIMIT Optional: Characters above which a skill read returns its section index; 20000 by default.

What it does

Axiom is a large collection of written guidance for iOS, macOS and other Apple-platform work (SwiftUI, builds, concurrency, design and more), maintained by Charles Wiltgen. Its MCP server, the axiom-mcp package, makes that collection available to any client that speaks MCP, such as VS Code with Copilot, Cursor, Gemini CLI, OpenCode or the Claude desktop app. The docs count 280 skills, 42 agents and 17 commands at version 27.5.0.

Skills are served as MCP resources under axiom://skill/ and can also be browsed, searched and read through four lookup tools; agents are instruction sets the assistant fetches and then follows; commands appear as MCP prompts. When Xcode is installed, the guides and diagnostics bundled inside it are indexed alongside the skills.

The other fifteen tools wrap three macOS command-line programs shipped inside the package: xclog for capturing an app's console output in the simulator, xcsym for symbolicating and triaging crash reports, and xcprof for recording and analysing CPU-profiling traces. In all the server registers 19 tools.

From the source at v27.5.0 (tools/handler.ts): skill search returns 10 results by default and at most 50 with limit, one read call accepts up to 10 skills, and a skill longer than 20,000 characters comes back as a section index unless full is set; that threshold can be changed with AXIOM_FULL_READ_LIMIT, a setting the docs do not list.

What it needs

RuntimeNode.js 18+

Node.js 18 or newer (the launch command uses npx). The lookup tools work on any operating system. The xclog, xcsym and xcprof tools need an Apple Silicon Mac with Xcode installed; Apple's bundled documentation is only searchable when Xcode is present. No account or key is needed.

Limits

The xclog, xcsym and xcprof tools run macOS arm64 binaries; on other platforms they return a message instead of running. Each call to them times out after 120, 120 and 300 seconds by default (AXIOM_XCLOG_TIMEOUT, AXIOM_XCSYM_TIMEOUT, AXIOM_XCPROF_TIMEOUT). In the default production mode it serves the skill snapshot bundled with the installed version, so newer skills need a package update. The xcproject command the package installs has no MCP tool.

Who it suits

Suits developers building for Apple platforms who use an editor or assistant without a native Axiom plugin and want its guidance on demand, plus crash and profiling helpers on an Apple Silicon Mac. Claude Code and the Claude app users can use the Axiom plugin instead, which carries skills, agents and hooks natively but does not start this server. Developers on Linux or Windows get the guidance but not the diagnostic tools. It is a community project, not published by Apple.

Tools 19

axiom_get_catalog
Lists the skill catalog grouped by category, optionally with short descriptions
axiom_search_skills
Searches skills by text and returns ranked matches
axiom_read_skill
Returns the content of one or more skills, or a section index for long ones
axiom_get_agent
Fetches an agent's instructions for the assistant to follow
axiom_xclog_list
Lists simulator apps or processes available for console capture
axiom_xclog_launch
Relaunches an app in the simulator and captures its console output
axiom_xclog_attach
Attaches to a running app and captures its console output
axiom_xclog_show
Shows captured console output
axiom_xcsym_crash
Symbolicates a crash report
axiom_xcsym_verify
Checks that the debug symbols match a crash report
axiom_xcsym_resolve
Resolves individual addresses to symbols
axiom_xcsym_find_dsym
Finds the dSYM for a given build
axiom_xcsym_list_dsyms
Lists dSYM files found on the machine
axiom_xcsym_triage
Summarises and categorises a crash
axiom_xcsym_anonymize
Strips identifying details from a crash report
axiom_xcprof_doctor
Checks the profiling setup
axiom_xcprof_analyze
Analyses a CPU-profiling trace
axiom_xcprof_compare
Compares two profiling traces
axiom_xcprof_record
Records a new time-bounded CPU-profiling trace

Similar servers