@nodegx/mcp 0.2.6 → 0.2.8

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,9 +1,11 @@
1
1
  # @nodegx/mcp — NodeGX MCP Server
2
2
 
3
- A [Model Context Protocol](https://modelcontextprotocol.io) server that exposes
4
- NodeGX (OpenNoodl) **v2 project directories** to external AI agents: open,
5
- inspect, author and validate projects programmatically — no editor process, no
6
- whole-project context.
3
+ <!-- canon: What NodeGX is for -->
4
+ Your AI coder can already build you a whole app. NodeGX is about what happens around that.
5
+
6
+ This package is the [Model Context Protocol](https://modelcontextprotocol.io) server your AI coder builds NodeGX
7
+ apps with: it opens, reads, authors and validates a project's files (no editor process, no whole-project context)
8
+ and shows the person Studio and the part to decide inside the conversation.
7
9
 
8
10
  The design goal (Phase 13, Gate G1): *an agent can author a correct new page
9
11
  having read only that page's parent, the relevant slice of the node catalog,
@@ -11,8 +13,8 @@ and the validator's feedback — never the entire project.*
11
13
 
12
14
  ## Install
13
15
 
14
- The simplest start is `npm create nodegx my-apps`. It writes one file, `my-apps/.mcp.json`. That file tells Claude Code
15
- to start this server when you run `claude` in the folder.
16
+ The simplest start is `npm create nodegx my-apps`. It writes `my-apps/.mcp.json`, which tells Claude Code to start this
17
+ server when you run `claude` in the folder, beside short `CLAUDE.md` / `AGENTS.md` notes and the NodeGX skills.
16
18
 
17
19
  Any other MCP client can start the server itself over stdio:
18
20
 
@@ -78,13 +80,15 @@ Drop `--allow-writes` for a read-only server.
78
80
  claude mcp add --scope user nodegx-bootstrap -- node <path-to>/noodl-mcp.cjs --allow-writes
79
81
  ```
80
82
 
81
- Omit the project directory and the server starts anyway, advertising four tools:
83
+ Omit the project directory and the server starts anyway, advertising seven tools:
82
84
 
83
85
  | Tool | |
84
86
  |---|---|
85
87
  | `list_projects` | The NodeGX projects this machine has opened, read from the launcher's own recent-projects list and never written to. **Call this first** when the user talks about their app as something that already exists |
88
+ | `open_project` | Bind this server to a project `list_projects` reported; its tools arrive in the same conversation |
86
89
  | `create_project` | Scope an app in conversation, then write the project, its `docs/` and a build plan that is returned but not run |
87
90
  | `list_examples`, `get_example` | What a NodeGX graph actually looks like, without needing a project to read |
91
+ | `find_tools`, `call_tool` | Find a tool that is not advertised yet, or call one by name (for a client that does not refresh its tool list) |
88
92
 
89
93
  Everything else — reading components, authoring, validation, rendering, the backend — is **absent
90
94
  from `tools/list`**, not present-and-erroring, because a model calls what it is shown.
@@ -93,9 +97,9 @@ from `tools/list`**, not present-and-erroring, because a model calls what it is
93
97
  `create_project` is a write, and with no project there is nothing to read, so a read-only bootstrap
94
98
  server would start, appear connected, and be unable to do the one thing it exists for.
95
99
 
96
- ⚠️ **Creating a project does not repoint this server.** The project is written to disk and the
97
- server stays unbound; register a second server against the new directory to author in it. (BST-002
98
- is the task that makes the live server bind itself.)
100
+ **Creating or opening a project binds this server to it.** Its tools arrive in the same conversation
101
+ (`notifications/tools/list_changed`), with no second registration and no restart. A server binds once: a second
102
+ `create_project` or `open_project` leaves it on the first project, and says so.
99
103
 
100
104
  ### Where the bundle is
101
105
 
@@ -299,7 +303,8 @@ npm run build --workspace @nodegx/mcp # esbuild → dist/noodl-mcp.cjs
299
303
 
300
304
  - File-based only; no live sync with a running editor (a bridge is future work —
301
305
  the editor holds its own in-memory state and can overwrite MCP writes on save).
302
- - No project-level settings/styles/routes writes, asset upload, or model files in v1.
306
+ - No asset upload or model files. Project settings, tokens and element styles are written by `set_project_settings`,
307
+ `set_project_tokens` and `set_element_style`; a page is registered in the router when it is written.
303
308
  - Read-side supports v2 directories only; migrate legacy projects with the editor first.
304
309
  - `get_node_type` with several types can exceed an MCP host's tool-result cap
305
310
  (~126 KB for 7 types in the SUB-010 demo, and the host's "overflow saved to a