@procedures/mcp-dev-tools 0.47.1 → 0.48.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/CHANGELOG.md +39 -12
- package/README.md +1 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/config.d.ts +5 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +11 -1
- package/dist/config.js.map +1 -1
- package/package.json +7 -7
- package/src/config.ts +11 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,32 @@
|
|
|
1
1
|
# @procedures/mcp-dev-tools
|
|
2
2
|
|
|
3
|
+
## 0.48.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [17a18ec]
|
|
8
|
+
- Updated dependencies [06088f9]
|
|
9
|
+
- Updated dependencies [71f9c6e]
|
|
10
|
+
- Updated dependencies [c839add]
|
|
11
|
+
- @procedures/client@0.48.0
|
|
12
|
+
- @procedures/compiler@0.48.0
|
|
13
|
+
- @procedures/fs@0.48.0
|
|
14
|
+
- @procedures/mcp-server@0.48.0
|
|
15
|
+
- @procedures/bundle-mcp@0.48.0
|
|
16
|
+
|
|
17
|
+
## 0.47.2
|
|
18
|
+
|
|
19
|
+
### Patch Changes
|
|
20
|
+
|
|
21
|
+
- Updated dependencies [0650616]
|
|
22
|
+
- Updated dependencies [ae1e3fd]
|
|
23
|
+
- Updated dependencies [f1ece74]
|
|
24
|
+
- @procedures/client@0.47.2
|
|
25
|
+
- @procedures/bundle-mcp@0.47.2
|
|
26
|
+
- @procedures/fs@0.47.2
|
|
27
|
+
- @procedures/mcp-server@0.47.2
|
|
28
|
+
- @procedures/compiler@0.47.2
|
|
29
|
+
|
|
3
30
|
## 0.47.1
|
|
4
31
|
|
|
5
32
|
### Patch Changes
|
|
@@ -444,13 +471,13 @@
|
|
|
444
471
|
- A face of your own that gives `mcpFace()` a handler of its own: give the handler `admission: (credentials) => server.admission(credentials)`.
|
|
445
472
|
- An MCP client that a request hook refuses gets 401 at `initialize`. Give it valid credentials for each HTTP request.
|
|
446
473
|
- The site: no change. It has no MCP host, and it used no function of `peer/security.ts`.
|
|
447
|
-
-
|
|
448
|
-
-
|
|
449
|
-
-
|
|
450
|
-
-
|
|
451
|
-
-
|
|
452
|
-
-
|
|
453
|
-
-
|
|
474
|
+
- An app: no change. Its dev host has only the HTTP and WebSocket faces of `createProcedureHost()`. Each request of these faces had one check before.
|
|
475
|
+
- An app: its `mcpFace()` on the procedures host uses a session hook for each HTTP request. In the accounts mode, a request without a session gets `ANONYMOUS`. Thus an MCP client without a session gets no 401 at `initialize`.
|
|
476
|
+
- An app: in the mode `on` (`AUTH_MODE=on`), a request without a tenant token gets 401 at `initialize`. Before, the client opened a session and listed the tools, and each tool call got `UNAUTHORIZED`.
|
|
477
|
+
- An app: accounts that are not ready (the error `UNAVAILABLE` of the hook) give 401 at `initialize`, with `WWW-Authenticate: Bearer`. Before, `initialize` passed, and each tool call got `UNAUTHORIZED`. An MCP client can start its OAuth discovery on this 401.
|
|
478
|
+
- An app: outside the accounts mode, the policy has `allowedOrigins: "*"`. The MCP face takes it, as the HTTP face does. A request with a cookie still needs a named origin. With the default `ambientCredentials: "always"` of its request hook, `"*"` permits no other origin.
|
|
479
|
+
- An app: to keep only the own origin on the MCP face, give `mcpFace({ allowedOrigins: [] })`. Its MCP host over stdio has no change.
|
|
480
|
+
- An app: no change. Its procedures host has only the HTTP face, and its MCP host has only stdio and SDK faces.
|
|
454
481
|
- `mark mcp --http --token` and `@procedures/mcp-dev-tools`: no change for a client. The token is the token of the server, and the server checks each HTTP request one time.
|
|
455
482
|
|
|
456
483
|
### Patch Changes
|
|
@@ -575,9 +602,9 @@
|
|
|
575
602
|
|
|
576
603
|
- A host with more than 256 clients at one time: give a larger `maxSessions`, or `maxSessions: Infinity` for no limit. Give it in `faces.http` of `createMcpHost()`, in `mcpFace()`, or with `mark mcp --http <port> --max-sessions <n>`.
|
|
577
604
|
- A host that keeps more than 1000 tasks: give a larger `maxStored`, or `maxStored: Infinity`, in `tasks` of the host or in `new McpTaskStore()`.
|
|
578
|
-
- The site and
|
|
579
|
-
-
|
|
580
|
-
-
|
|
605
|
+
- The site and an app: no change. They have no MCP host.
|
|
606
|
+
- An app: no change. Its `mcpFace()` on the procedures host gets the limit of 256 sessions, and its MCP host over stdio has no HTTP face. To keep no limit, give `mcpFace({ maxSessions: Infinity })`.
|
|
607
|
+
- An app: no change. Its MCP host has only stdio and SDK faces, and it has no tasks.
|
|
581
608
|
- polite-crawler-mcp: no change for the sessions, because it sets `maxSessions: 32`. Its `McpTaskStore` gets the limit of 1000 stored tasks. Before, 32 sessions of 100 tasks bounded the store at 3200 tasks. To keep that bound, give `new McpTaskStore({ maxStored: 3200 })`.
|
|
582
609
|
- polite-crawler-mcp also gives the deprecated option `mount: true`, which has no effect. Remove it when it moves to the new range.
|
|
583
610
|
|
|
@@ -708,7 +735,7 @@
|
|
|
708
735
|
|
|
709
736
|
- A host with `faces.http: { port, host }`: give `faces.http: {}`. Mount `host.handleHttp` on a listener, for example an `httpTransport` of `@mark1russell7/service/http`, and declare the listener and the host on a service (`host.declare(svc)`). The README of `@procedures/mcp-server` has the example.
|
|
710
737
|
- A caller of `startDevToolsServer()`: call `runDevToolsServer(config)`.
|
|
711
|
-
-
|
|
738
|
+
- Apps: no change. One app mounts `mcpFace()` on its procedures host, and its stdio MCP host and the host of another app use stdio and SDK faces.
|
|
712
739
|
|
|
713
740
|
### Patch Changes
|
|
714
741
|
|
|
@@ -772,7 +799,7 @@
|
|
|
772
799
|
- The listener of the Streamable HTTP face: the options `port`, `host` and `server` of `HttpTransportOptions`, and `McpHttpTransport.listen()`. Give `mount: true`, and mount `McpHost.handleHttp` on a listener of the service.
|
|
773
800
|
- `startDevToolsServer()` of `@procedures/mcp-dev-tools`. Use `runDevToolsServer()`.
|
|
774
801
|
|
|
775
|
-
Migration for the next MINOR: the site uses none of them.
|
|
802
|
+
Migration for the next MINOR: the site uses none of them. One app uses none of them. Another app mounts `mcpFace()` on its host, and its stdio host keeps `createMcpHost()` with `stdio`: no change. A third app uses `createMcpHost()` with stdio and SDK faces: no change. A host with `faces.http: { port }` moves to `faces.http: { mount: true }` and a listener of the service.
|
|
776
803
|
- Updated dependencies [85999c1]
|
|
777
804
|
- Updated dependencies [fc968f6]
|
|
778
805
|
- Updated dependencies [dc7a462]
|
package/README.md
CHANGED
|
@@ -45,7 +45,7 @@ When the client closes the input of stdio, the server stops: the calls in flight
|
|
|
45
45
|
| `MCP_DEBUG` | `false` | With `true`, the server writes debug lines to stderr |
|
|
46
46
|
| `MCP_TOOL_TIMEOUT_MS` | `600000` | The time limit of a tool call, in milliseconds. `0` turns the limit off. |
|
|
47
47
|
| `MCP_READ_ONLY` | `false` | With `true`, the tools are only the procedures that change nothing |
|
|
48
|
-
| `MCP_HTTP_PORT`, `MCP_HTTP_HOST`, `MCP_HTTP_TOKEN` | not set | The server uses Streamable HTTP on this port, not stdio. The host is `127.0.0.1` by default. |
|
|
48
|
+
| `MCP_HTTP_PORT`, `MCP_HTTP_HOST`, `MCP_HTTP_TOKEN` | not set | The server uses Streamable HTTP on this port, not stdio. The host is `127.0.0.1` by default. A set and empty `MCP_HTTP_TOKEN` is an error at the start. |
|
|
49
49
|
| `MCP_HTTP_MAX_SESSIONS` | `256` | The most sessions of the Streamable HTTP face at one time (CLI-51). `Infinity` turns the limit off. |
|
|
50
50
|
| `MCP_PROGRAM_CHECK` | `true` | With `false`, a program starts without the check before the run |
|
|
51
51
|
| `MCP_FS_ROOT` | not set | The root of the files: each tool keeps its paths in this folder, or the host refuses it. Refer to "The root of the files". |
|