crosspad-mcp-server 6.0.0 → 8.1.1
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 +109 -44
- package/dist/config.d.ts +2 -2
- package/dist/config.js +42 -8
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +14 -1
- package/dist/index.js +956 -312
- package/dist/index.js.map +1 -1
- package/dist/tools/app-manager.d.ts +13 -5
- package/dist/tools/app-manager.js +69 -46
- package/dist/tools/app-manager.js.map +1 -1
- package/dist/tools/architecture.js +13 -4
- package/dist/tools/architecture.js.map +1 -1
- package/dist/tools/build-check.d.ts +1 -1
- package/dist/tools/build-check.js +19 -9
- package/dist/tools/build-check.js.map +1 -1
- package/dist/tools/build.d.ts +95 -4
- package/dist/tools/build.js +312 -15
- package/dist/tools/build.js.map +1 -1
- package/dist/tools/diff-core.d.ts +5 -1
- package/dist/tools/diff-core.js +11 -6
- package/dist/tools/diff-core.js.map +1 -1
- package/dist/tools/idf-build.d.ts +1 -1
- package/dist/tools/idf-build.js +5 -5
- package/dist/tools/idf-build.js.map +1 -1
- package/dist/tools/idf-flash.d.ts +2 -2
- package/dist/tools/idf-flash.js +12 -11
- package/dist/tools/idf-flash.js.map +1 -1
- package/dist/tools/idf-monitor.d.ts +1 -1
- package/dist/tools/idf-monitor.js +57 -3
- package/dist/tools/idf-monitor.js.map +1 -1
- package/dist/tools/log.d.ts +2 -2
- package/dist/tools/log.js +6 -5
- package/dist/tools/log.js.map +1 -1
- package/dist/tools/repo-actions.js +88 -75
- package/dist/tools/repo-actions.js.map +1 -1
- package/dist/tools/repos.js +14 -10
- package/dist/tools/repos.js.map +1 -1
- package/dist/tools/screenshot.js +42 -7
- package/dist/tools/screenshot.js.map +1 -1
- package/dist/tools/settings.js +11 -1
- package/dist/tools/settings.js.map +1 -1
- package/dist/tools/symbols.js +13 -8
- package/dist/tools/symbols.js.map +1 -1
- package/dist/tools/test.d.ts +1 -9
- package/dist/tools/test.js +11 -92
- package/dist/tools/test.js.map +1 -1
- package/dist/utils/exec.d.ts +17 -5
- package/dist/utils/exec.js +73 -27
- package/dist/utils/exec.js.map +1 -1
- package/dist/utils/git.d.ts +9 -0
- package/dist/utils/git.js +61 -1
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/remote-client.js +32 -14
- package/dist/utils/remote-client.js.map +1 -1
- package/package.json +4 -1
- package/dist/tools/scaffold.d.ts +0 -15
- package/dist/tools/scaffold.js +0 -192
- package/dist/tools/scaffold.js.map +0 -1
package/README.md
CHANGED
|
@@ -57,62 +57,110 @@ Edit `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) o
|
|
|
57
57
|
}
|
|
58
58
|
```
|
|
59
59
|
|
|
60
|
-
## Tools (
|
|
60
|
+
## Tools (28) + resources
|
|
61
61
|
|
|
62
|
-
|
|
62
|
+
> v8 unifies platform-axis tools: build/run/kill/check/flash now take `platform` (or `transport`) as an arg instead of being split per-platform. Migration table at the bottom of this file.
|
|
63
63
|
|
|
64
|
-
|
|
65
|
-
|--------|-------------|
|
|
66
|
-
| `pc` | Build PC simulator (incremental/clean/reconfigure) |
|
|
67
|
-
| `pc_run` | Launch simulator, return PID |
|
|
68
|
-
| `pc_check` | Health check: stale exe, new sources, submodule drift |
|
|
69
|
-
| `pc_log` | Run exe, capture stdout for N seconds, kill |
|
|
70
|
-
| `idf` | Build ESP-IDF firmware (build/fullclean/clean) |
|
|
64
|
+
Each tool is focused on a single action. Strict schema validation (ranges on MIDI/pad values, enums on platforms/repos) catches bad inputs before execution.
|
|
71
65
|
|
|
72
|
-
###
|
|
66
|
+
### Build & flash
|
|
73
67
|
|
|
74
|
-
|
|
|
75
|
-
|
|
76
|
-
| `
|
|
77
|
-
| `
|
|
68
|
+
| Tool | Purpose |
|
|
69
|
+
|------|---------|
|
|
70
|
+
| `crosspad_build` | Build for `platform: pc\|idf` (`mode`: incremental/clean/reconfigure for PC, incremental/clean/fullclean for IDF; `build_type` for PC) |
|
|
71
|
+
| `crosspad_run` | Launch built simulator (`platform: pc`), return PID + post-spawn TCP readiness probe |
|
|
72
|
+
| `crosspad_kill` | Stop running simulator (`platform: pc`, SIGTERM by exe name match) |
|
|
73
|
+
| `crosspad_check` | Health check (`platform: pc`): stale exe, new sources, submodule drift |
|
|
74
|
+
| `crosspad_flash` | Flash firmware to device (`transport: uart\|ota`, `port?`, `firmware_path?` ota-only) |
|
|
75
|
+
| `crosspad_log` | Capture logs (`target`: pc=spawn binary / idf=read serial) |
|
|
76
|
+
| `crosspad_devices` | List USB serial devices, flag CrossPads |
|
|
78
77
|
|
|
79
|
-
###
|
|
78
|
+
### Tests
|
|
80
79
|
|
|
81
|
-
|
|
|
82
|
-
|
|
83
|
-
| `
|
|
84
|
-
| `input` | Press pads, rotate encoder, click, send keys |
|
|
85
|
-
| `stats` | Pad state, capabilities, heap, registered apps |
|
|
86
|
-
| `settings_get` | Read settings by category |
|
|
87
|
-
| `settings_set` | Write individual setting key |
|
|
80
|
+
| Tool | Purpose |
|
|
81
|
+
|------|---------|
|
|
82
|
+
| `crosspad_test_run` | Build + run Catch2 suite (`filter`, `list_only`) |
|
|
88
83
|
|
|
89
|
-
###
|
|
84
|
+
### Simulator interaction
|
|
90
85
|
|
|
91
|
-
|
|
|
92
|
-
|
|
93
|
-
| `
|
|
94
|
-
| `
|
|
86
|
+
| Tool | Purpose |
|
|
87
|
+
|------|---------|
|
|
88
|
+
| `crosspad_screenshot` | PNG screenshot (file_path by default; `return_inline` for base64) |
|
|
89
|
+
| `crosspad_input` | All input events: pad_press/release, encoder_*, click, key (`action` field) |
|
|
90
|
+
| `crosspad_midi` | All MIDI events: note_on/off, cc, program_change (`type` field) |
|
|
91
|
+
| `crosspad_stats` | Runtime state: pads, capabilities, heap, apps |
|
|
92
|
+
| `crosspad_settings_get` / `crosspad_settings_set` | Read/write settings |
|
|
95
93
|
|
|
96
|
-
###
|
|
94
|
+
### Git / repos
|
|
97
95
|
|
|
98
|
-
|
|
|
99
|
-
|
|
100
|
-
| `
|
|
101
|
-
| `
|
|
102
|
-
| `
|
|
103
|
-
| `
|
|
96
|
+
| Tool | Purpose |
|
|
97
|
+
|------|---------|
|
|
98
|
+
| `crosspad_repo_status` | Status across all detected repos |
|
|
99
|
+
| `crosspad_repo_diff` | Submodule drift in crosspad-pc / platform-idf |
|
|
100
|
+
| `crosspad_submodule_update` | Update submodule to `origin/<branch>` and stage |
|
|
101
|
+
| `crosspad_commit` | Commit staged changes (refuses on conflicts; never pushes) |
|
|
104
102
|
|
|
105
|
-
###
|
|
103
|
+
### Code search & scaffolding
|
|
106
104
|
|
|
107
|
-
|
|
|
108
|
-
|
|
109
|
-
| `
|
|
110
|
-
| `
|
|
111
|
-
| `
|
|
112
|
-
| `
|
|
113
|
-
| `
|
|
105
|
+
| Tool | Purpose |
|
|
106
|
+
|------|---------|
|
|
107
|
+
| `crosspad_search_symbols` | Find class/function/macro/enum/typedef definitions |
|
|
108
|
+
| `crosspad_list_interfaces` | List crosspad-core interfaces |
|
|
109
|
+
| `crosspad_interface_implementations` | Find implementations of a given interface |
|
|
110
|
+
| `crosspad_capabilities` | Capability flags + per-platform sets |
|
|
111
|
+
| `crosspad_list_apps_source` | Apps registered via `REGISTER_APP()` macro |
|
|
114
112
|
|
|
115
|
-
|
|
113
|
+
### App package manager (crosspad-apps registry)
|
|
114
|
+
|
|
115
|
+
| Tool | Purpose |
|
|
116
|
+
|------|---------|
|
|
117
|
+
| `crosspad_apps_list` | Apps from registry + where installed (no Python needed) |
|
|
118
|
+
| `crosspad_apps_install` | Install app as submodule (`platform`, `app_name`, `ref`, `force`) |
|
|
119
|
+
| `crosspad_apps_remove` | Remove installed app submodule |
|
|
120
|
+
| `crosspad_apps_update` | Update one (`app_name`) or all (`update_all`) apps |
|
|
121
|
+
| `crosspad_apps_sync` | Rebuild manifest from disk state |
|
|
122
|
+
|
|
123
|
+
### Resources
|
|
124
|
+
|
|
125
|
+
| URI | Purpose |
|
|
126
|
+
|-----|---------|
|
|
127
|
+
| `crosspad://workspace` | JSON snapshot: detected repos, branches, HEADs, dirty counts, PC simulator running status. Loadable without a tool call — clients (e.g. Claude Code) can pin it as session context. |
|
|
128
|
+
| `crosspad://apps/registry/<platform>` | Raw `app-registry.json` per detected platform (pc / idf / esp32-s3). |
|
|
129
|
+
| `crosspad://apps/installed/<platform>` | Raw `apps.json` (installed manifest) per detected platform. |
|
|
130
|
+
| `crosspad://symbols/{repo}/{symbol}` | Resource template — resolves a single symbol's definitions in `<repo>` (or `all`). MCP-native alternative to `crosspad_search_symbols` for known symbol+repo pairs. |
|
|
131
|
+
|
|
132
|
+
### Migration: v7 → v8
|
|
133
|
+
|
|
134
|
+
Platform/transport now flows as an arg, not as part of the tool name. Net: 30 → 28 tools.
|
|
135
|
+
|
|
136
|
+
| Old (v7) | New (v8) |
|
|
137
|
+
|---|---|
|
|
138
|
+
| `crosspad_build_pc` | `crosspad_build` with `platform: pc` |
|
|
139
|
+
| `crosspad_build_idf` | `crosspad_build` with `platform: idf` |
|
|
140
|
+
| `crosspad_run_pc` | `crosspad_run` with `platform: pc` |
|
|
141
|
+
| `crosspad_kill_pc` | `crosspad_kill` with `platform: pc` |
|
|
142
|
+
| `crosspad_check_pc` | `crosspad_check` with `platform: pc` |
|
|
143
|
+
| `crosspad_flash_uart` | `crosspad_flash` with `transport: uart` |
|
|
144
|
+
| `crosspad_flash_ota` | `crosspad_flash` with `transport: ota` |
|
|
145
|
+
|
|
146
|
+
Run/kill/check are PC-only today (the `platform` arg is reserved for future symmetry — IDF firmware doesn't run on the host). Build modes are validated per-platform: `reconfigure` is PC-only; `fullclean` is IDF-only.
|
|
147
|
+
|
|
148
|
+
### Migration: v6 → v7
|
|
149
|
+
|
|
150
|
+
Tools removed (logic moved to docs): `crosspad_scaffold_app`, `crosspad_test_scaffold`.
|
|
151
|
+
Tools consolidated:
|
|
152
|
+
|
|
153
|
+
| Old (v6) | New (v7) |
|
|
154
|
+
|---|---|
|
|
155
|
+
| `crosspad_pad_press`, `crosspad_pad_release`, `crosspad_encoder_rotate`, `crosspad_encoder_press`, `crosspad_encoder_release`, `crosspad_click`, `crosspad_key` | `crosspad_input` with `action` field |
|
|
156
|
+
| `crosspad_midi_note_on`, `crosspad_midi_note_off`, `crosspad_midi_cc`, `crosspad_midi_program_change` | `crosspad_midi` with `type` field |
|
|
157
|
+
| `crosspad_log_pc`, `crosspad_log_idf` | `crosspad_log` with `target` field |
|
|
158
|
+
|
|
159
|
+
Net: 42 tools → 30 tools + 1 resource (v7). Subsequent unification in v8 → 28 tools (see above).
|
|
160
|
+
|
|
161
|
+
All tools return a uniform envelope: `{ "success": boolean, ...data, "error"?: string }`. On failure the result also has the MCP-protocol `isError: true` flag set so clients can route errors distinctly from successful calls.
|
|
162
|
+
|
|
163
|
+
Each tool carries [MCP annotations](https://modelcontextprotocol.io/specification) (`readOnlyHint`, `destructiveHint`, `openWorldHint`) — clients use these for confirmation prompts. Read-only tools (status, search, list) skip the prompt; destructive tools (commit, flash, build_idf clean, apps_install) trigger one.
|
|
116
164
|
|
|
117
165
|
## Configuration
|
|
118
166
|
|
|
@@ -129,9 +177,26 @@ Each repo path is individually configurable via env vars. If not set, falls back
|
|
|
129
177
|
| `IDF_PATH` | auto-detected (`~/esp/esp-idf`) | ESP-IDF SDK path |
|
|
130
178
|
| `VCPKG_ROOT` | `~/vcpkg` (Linux) / `C:/vcpkg` (Win) | vcpkg installation |
|
|
131
179
|
| `VCVARSALL` | VS2022 default | MSVC vcvarsall.bat (Windows only) |
|
|
180
|
+
| `CROSSPAD_REMOTE_PORT` | `19840` | TCP port for simulator remote control |
|
|
181
|
+
| `CROSSPAD_REMOTE_HOST` | `127.0.0.1` | TCP host for simulator remote control |
|
|
132
182
|
|
|
133
183
|
Repos are discovered dynamically — only repos that exist on disk appear in tool results. No flat directory structure is assumed when env vars are set.
|
|
134
184
|
|
|
185
|
+
## Transport
|
|
186
|
+
|
|
187
|
+
**stdio (default)** — `npx crosspad-mcp-server`. Standard MCP transport for Claude Code / Claude Desktop / IDE plugins.
|
|
188
|
+
|
|
189
|
+
**HTTP (`--http <port>`)** — `npx crosspad-mcp-server --http 3000`. Exposes a Streamable HTTP endpoint at `http://localhost:<port>/mcp` for remote dev boxes or browser-based MCP clients. Stateful sessions (`Mcp-Session-Id` header echoed after `initialize`). One transport, multi-session multiplexed internally.
|
|
190
|
+
|
|
191
|
+
```bash
|
|
192
|
+
# Minimal HTTP smoke test:
|
|
193
|
+
npx crosspad-mcp-server --http 3000
|
|
194
|
+
curl -X POST http://localhost:3000/mcp \
|
|
195
|
+
-H "Content-Type: application/json" \
|
|
196
|
+
-H "Accept: application/json, text/event-stream" \
|
|
197
|
+
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"x","version":"0"}}}'
|
|
198
|
+
```
|
|
199
|
+
|
|
135
200
|
## How it works
|
|
136
201
|
|
|
137
202
|
**Static tools** (build, repos, code, apps) work without the simulator — they operate on the filesystem, git, and Python package manager.
|
|
@@ -156,7 +221,7 @@ npm run test:watch # tests in watch mode
|
|
|
156
221
|
|
|
157
222
|
```
|
|
158
223
|
src/
|
|
159
|
-
index.ts —
|
|
224
|
+
index.ts — 41 focused tool registrations (one tool per action)
|
|
160
225
|
config.ts — per-repo env vars, dynamic discovery, IDF/MSVC paths
|
|
161
226
|
config.test.ts — config unit tests (fs mocking)
|
|
162
227
|
utils/
|
package/dist/config.d.ts
CHANGED
|
@@ -13,8 +13,8 @@ export declare const REPOS: Record<string, string>;
|
|
|
13
13
|
/**
|
|
14
14
|
* Resolve the crosspad-core path. Checks:
|
|
15
15
|
* 1. Standalone repo ($CROSSPAD_CORE_ROOT or $GIT_DIR/crosspad-core)
|
|
16
|
-
* 2. Submodule inside
|
|
17
|
-
* 3.
|
|
16
|
+
* 2. Submodule inside any parent repo (path resolved from .gitmodules)
|
|
17
|
+
* 3. Common conventional fallback paths.
|
|
18
18
|
* Returns null if not found anywhere.
|
|
19
19
|
*/
|
|
20
20
|
export declare function resolveCrosspadCore(): string | null;
|
package/dist/config.js
CHANGED
|
@@ -47,7 +47,7 @@ export const VCPKG_TOOLCHAIN = path.join(vcpkgRoot, "scripts", "buildsystems", "
|
|
|
47
47
|
// ═══════════════════════════════════════════════════════════════════════
|
|
48
48
|
export const BUILD_DIR = path.join(CROSSPAD_PC_ROOT, "build");
|
|
49
49
|
const EXE_EXT = IS_WINDOWS ? ".exe" : "";
|
|
50
|
-
export const BIN_EXE = path.join(CROSSPAD_PC_ROOT, "bin", `
|
|
50
|
+
export const BIN_EXE = path.join(CROSSPAD_PC_ROOT, "bin", `CrossPad${EXE_EXT}`);
|
|
51
51
|
// ═══════════════════════════════════════════════════════════════════════
|
|
52
52
|
// REPOS — dynamic discovery from per-repo paths, cached
|
|
53
53
|
// ═══════════════════════════════════════════════════════════════════════
|
|
@@ -79,21 +79,55 @@ export const REPOS = REPO_CANDIDATES;
|
|
|
79
79
|
// CROSSPAD-CORE RESOLUTION — finds crosspad-core wherever it lives
|
|
80
80
|
// ═══════════════════════════════════════════════════════════════════════
|
|
81
81
|
let cachedCrosspadCorePath = undefined;
|
|
82
|
+
function readSubmodulePathsFromGitmodules(parentRoot) {
|
|
83
|
+
const gitmodules = path.join(parentRoot, ".gitmodules");
|
|
84
|
+
if (!fs.existsSync(gitmodules))
|
|
85
|
+
return {};
|
|
86
|
+
const out = {};
|
|
87
|
+
try {
|
|
88
|
+
const content = fs.readFileSync(gitmodules, "utf-8");
|
|
89
|
+
const blocks = content.split(/\[submodule\s+"([^"]+)"\]/);
|
|
90
|
+
for (let i = 1; i < blocks.length; i += 2) {
|
|
91
|
+
const name = blocks[i];
|
|
92
|
+
const body = blocks[i + 1] ?? "";
|
|
93
|
+
const pathMatch = body.match(/^\s*path\s*=\s*(.+)$/m);
|
|
94
|
+
if (pathMatch)
|
|
95
|
+
out[name] = pathMatch[1].trim();
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
// ignore
|
|
100
|
+
}
|
|
101
|
+
return out;
|
|
102
|
+
}
|
|
82
103
|
/**
|
|
83
104
|
* Resolve the crosspad-core path. Checks:
|
|
84
105
|
* 1. Standalone repo ($CROSSPAD_CORE_ROOT or $GIT_DIR/crosspad-core)
|
|
85
|
-
* 2. Submodule inside
|
|
86
|
-
* 3.
|
|
106
|
+
* 2. Submodule inside any parent repo (path resolved from .gitmodules)
|
|
107
|
+
* 3. Common conventional fallback paths.
|
|
87
108
|
* Returns null if not found anywhere.
|
|
88
109
|
*/
|
|
89
110
|
export function resolveCrosspadCore() {
|
|
90
111
|
if (cachedCrosspadCorePath !== undefined)
|
|
91
112
|
return cachedCrosspadCorePath;
|
|
92
|
-
const candidates = [
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
path
|
|
96
|
-
|
|
113
|
+
const candidates = [CROSSPAD_CORE_ROOT];
|
|
114
|
+
for (const parentRoot of [CROSSPAD_IDF_ROOT, CROSSPAD_PC_ROOT, CROSSPAD_ARDUINO_ROOT]) {
|
|
115
|
+
const subs = readSubmodulePathsFromGitmodules(parentRoot);
|
|
116
|
+
// Match by exact name first, then by path basename (handles
|
|
117
|
+
// [submodule "components/crosspad-core"] in platform-idf).
|
|
118
|
+
const direct = subs["crosspad-core"];
|
|
119
|
+
if (direct) {
|
|
120
|
+
candidates.push(path.join(parentRoot, direct));
|
|
121
|
+
continue;
|
|
122
|
+
}
|
|
123
|
+
for (const [, p] of Object.entries(subs)) {
|
|
124
|
+
if (path.basename(p) === "crosspad-core") {
|
|
125
|
+
candidates.push(path.join(parentRoot, p));
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
// Conventional fallbacks
|
|
130
|
+
candidates.push(path.join(CROSSPAD_IDF_ROOT, "components", "crosspad-core"), path.join(CROSSPAD_PC_ROOT, "lib", "crosspad-core"), path.join(CROSSPAD_PC_ROOT, "crosspad-core"), path.join(CROSSPAD_ARDUINO_ROOT, "lib", "crosspad-core"));
|
|
97
131
|
for (const p of candidates) {
|
|
98
132
|
if (fs.existsSync(path.join(p, "include", "crosspad"))) {
|
|
99
133
|
cachedCrosspadCorePath = p;
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,15 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
2
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
export declare const server: McpServer;
|
|
5
|
+
export declare const O_Build: {
|
|
6
|
+
error: z.ZodOptional<z.ZodString>;
|
|
7
|
+
success: z.ZodBoolean;
|
|
8
|
+
duration_seconds: z.ZodOptional<z.ZodNumber>;
|
|
9
|
+
errors: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
10
|
+
warnings_count: z.ZodOptional<z.ZodNumber>;
|
|
11
|
+
output_path: z.ZodOptional<z.ZodString>;
|
|
12
|
+
warnings: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
13
|
+
tail: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
14
|
+
auto_reconfigured: z.ZodOptional<z.ZodBoolean>;
|
|
15
|
+
};
|