axiom-mcp 3.9.4 → 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 +28 -5
- package/dist/bin/xcprof +0 -0
- package/dist/bundle-stats.json +9 -9
- package/dist/bundle.json +67571 -59958
- package/dist/index.js +6 -3
- package/dist/scripts/bundle.js +24 -1
- package/dist/tools/handler.d.ts +4 -3
- package/dist/tools/handler.js +8 -1
- package/dist/tools/xcprof.d.ts +38 -0
- package/dist/tools/xcprof.js +277 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
# Axiom MCP Server
|
|
2
2
|
|
|
3
|
-
Model Context Protocol (MCP) server for Axiom's
|
|
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
|
-
- **
|
|
8
|
-
- **
|
|
9
|
-
- **
|
|
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
|
|
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
|
package/dist/bin/xcprof
ADDED
|
Binary file
|
package/dist/bundle-stats.json
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
|
-
"totalBytes":
|
|
2
|
+
"totalBytes": 10942066,
|
|
3
3
|
"skills": {
|
|
4
|
-
"count":
|
|
5
|
-
"bytes":
|
|
4
|
+
"count": 272,
|
|
5
|
+
"bytes": 5977224
|
|
6
6
|
},
|
|
7
7
|
"commands": {
|
|
8
|
-
"count":
|
|
9
|
-
"bytes":
|
|
8
|
+
"count": 15,
|
|
9
|
+
"bytes": 37699
|
|
10
10
|
},
|
|
11
11
|
"agents": {
|
|
12
|
-
"count":
|
|
13
|
-
"bytes":
|
|
12
|
+
"count": 40,
|
|
13
|
+
"bytes": 591615
|
|
14
14
|
},
|
|
15
15
|
"searchIndex": {
|
|
16
|
-
"bytes":
|
|
16
|
+
"bytes": 4335528
|
|
17
17
|
},
|
|
18
|
-
"generatedAt": "2026-06-
|
|
18
|
+
"generatedAt": "2026-06-08T00:00:03.651Z"
|
|
19
19
|
}
|