axiom-mcp 3.9.3 → 3.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,12 +1,13 @@
1
1
  # Axiom MCP Server
2
2
 
3
- Model Context Protocol (MCP) server for Axiom's iOS development skills, agents, and commands. Enables cross-platform access to Axiom's battle-tested guidance in any MCP-compatible AI coding tool.
3
+ Model Context Protocol (MCP) server for Axiom's Apple-platform development skills, agents, commands, and bundled CLI tools. Enables cross-platform access to Axiom's battle-tested guidance in any MCP-compatible AI coding tool.
4
4
 
5
5
  ## Features
6
6
 
7
- - **133 Skills** — iOS development expertise as MCP Resources (on-demand loading)
8
- - **10 Commands** — Structured prompts as MCP Prompts
9
- - **31 Agents** — Autonomous tools as MCP Tools
7
+ - **Skills** — Apple-platform (iOS, iPadOS, macOS, watchOS, tvOS) development expertise as MCP Resources (on-demand loading)
8
+ - **Commands** — Structured prompts as MCP Prompts
9
+ - **Agents** — Autonomous auditors, retrievable as MCP Tools
10
+ - **Profiling tools** — the bundled `xcprof` CLI exposed as MCP Tools (macOS + Xcode)
10
11
  - **Dual Distribution** — Works standalone or bundled with Claude Code plugin
11
12
  - **Hybrid Runtime** — Development mode (live files) or production mode (bundled)
12
13
 
@@ -106,6 +107,8 @@ args = ["-y", "axiom-mcp"]
106
107
  | `AXIOM_MCP_MODE` | `development`, `production` | `production` | Runtime mode |
107
108
  | `AXIOM_DEV_PATH` | File path | — | Plugin directory for dev mode |
108
109
  | `AXIOM_LOG_LEVEL` | `debug`, `info`, `warn`, `error` | `info` | Logging verbosity |
110
+ | `AXIOM_XCPROF_PATH` | File path | bundled binary | Override the `xcprof` binary the profiling tools invoke |
111
+ | `AXIOM_XCPROF_TIMEOUT` | Seconds | `300` | Per-invocation ceiling for `xcprof` calls (raise for long recordings) |
109
112
 
110
113
  ### Modes
111
114
 
@@ -128,7 +131,7 @@ npx axiom-mcp
128
131
  ```
129
132
 
130
133
  - Reads pre-bundled snapshot from `dist/bundle.json`
131
- - Bundle contains all 133 skills, 10 commands, 31 agents
134
+ - Bundle contains the full Axiom skill, command, and agent set
132
135
  - No file system access after initialization
133
136
  - Self-contained, distributed via npm
134
137
 
@@ -183,6 +186,26 @@ Examples:
183
186
  }
184
187
  ```
185
188
 
189
+ ## MCP Tools
190
+
191
+ Beyond the read-only skill-lookup tools (`axiom_get_catalog`, `axiom_search_skills`, `axiom_read_skill`, `axiom_get_agent`), the server wraps the bundled **`xcprof`** profiler so non-Claude-Code clients get the same Instruments workflow. These tools shell out to a macOS universal binary shipped inside the package (`dist/bin/xcprof`).
192
+
193
+ **Requires macOS with Xcode installed.** `xcprof` drives `xctrace`, which is macOS-only — on other platforms the tools return an explanatory message instead of running.
194
+
195
+ | Tool | What it does | Read-only |
196
+ |------|--------------|-----------|
197
+ | `axiom_xcprof_doctor` | Verify `xctrace`; count Instruments templates + devices | yes |
198
+ | `axiom_xcprof_analyze` | Analyze an existing `.trace` → structured CPU/hang/network JSON | yes |
199
+ | `axiom_xcprof_compare` | Diff two traces (baseline vs current) for regression detection | yes |
200
+ | `axiom_xcprof_record` | Capture a new `.trace` by attaching to, launching, or system-wide profiling | **no** |
201
+
202
+ **`record` is the only side-effecting tool.** It defaults to attaching to a process and always runs non-interactively (`--no-prompt`). Its higher-risk modes stay gated, mirroring the CLI's ADR-002 security gates:
203
+
204
+ - Launching a process (`launch`) requires `allowLaunch: true`.
205
+ - System-wide capture (`allProcesses`) requires `allowAllProcesses: true`.
206
+
207
+ Without those explicit flags the binary refuses the operation. Recordings are always duration-bounded.
208
+
186
209
  ## Development
187
210
 
188
211
  ### Project Structure
Binary file
@@ -1,19 +1,19 @@
1
1
  {
2
- "totalBytes": 10694679,
2
+ "totalBytes": 10942066,
3
3
  "skills": {
4
- "count": 264,
5
- "bytes": 5855898
4
+ "count": 272,
5
+ "bytes": 5977224
6
6
  },
7
7
  "commands": {
8
- "count": 13,
9
- "bytes": 32754
8
+ "count": 15,
9
+ "bytes": 37699
10
10
  },
11
11
  "agents": {
12
- "count": 39,
13
- "bytes": 582760
12
+ "count": 40,
13
+ "bytes": 591615
14
14
  },
15
15
  "searchIndex": {
16
- "bytes": 4223267
16
+ "bytes": 4335528
17
17
  },
18
- "generatedAt": "2026-06-01T21:32:10.101Z"
18
+ "generatedAt": "2026-06-08T00:00:03.651Z"
19
19
  }