@orkestrel/mcp 0.0.27 → 0.0.29

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,15 +1,12 @@
1
1
  # @orkestrel/mcp
2
2
 
3
- A typed [Model Context Protocol](https://modelcontextprotocol.io) client/server
4
- for the `@orkestrel` line, bridging the `@orkestrel/tool` registry to MCP with
5
- pluggable HTTP, WebSocket, and stdio transports. `createMCPServer` exposes a
6
- live `ToolManagerInterface`; `createMCPClient` drives a remote MCP server and
7
- surfaces its tools as local `ToolInterface`s. No agent runtime is required.
8
- The dispatch core is transport- and provider-agnostic
9
- (`src/core` — JSON-RPC 2.0, no HTTP, no `as`); every transport (Streamable
10
- HTTP over `@orkestrel/router` / `@orkestrel/server`, WebSocket over
11
- `@orkestrel/websocket`, and stdio over `@orkestrel/process`) lives one layer
12
- out (`src/server`), each mechanism, not policy. Part of the `@orkestrel` line.
3
+ > The Model Context Protocol layer: a typed JSON-RPC 2.0 client/server pair with pluggable
4
+ > HTTP, WebSocket, stdio, and browser transports.
5
+
6
+ Bridge the `@orkestrel/tool` registry to MCP: `createMCPServer` exposes a live
7
+ `ToolManagerInterface` to any MCP client, and `createMCPClient` drives a remote MCP server
8
+ and surfaces its tools as local `ToolInterface`s. No agent runtime is required. Part of the
9
+ `@orkestrel` line.
13
10
 
14
11
  ## Install
15
12
 
@@ -30,8 +27,6 @@ npm install @orkestrel/mcp
30
27
 
31
28
  ## Usage
32
29
 
33
- Expose a tool registry over MCP, mounted on the HTTP spine:
34
-
35
30
  ```ts
36
31
  import { createMCPLegacy, createMCPServer } from '@orkestrel/mcp'
37
32
  import { createMCPRoutes } from '@orkestrel/mcp/server'
@@ -46,6 +41,8 @@ const routes = createMCPRoutes(createMCPLegacy(mcp)) // answers `initialize` too
46
41
  router.add(routes)
47
42
  ```
48
43
 
44
+ This example exposes a tool registry over MCP, mounted on the HTTP spine.
45
+
49
46
  Drive a remote MCP server as a client, over the same transport-agnostic core:
50
47
 
51
48
  ```ts
@@ -57,10 +54,10 @@ const client = createMCPClient({
57
54
  })
58
55
  await client.connect()
59
56
  const tools = await client.tools()
60
- const value = await client.call('add', { x: 2, y: 5 })
57
+ const outcome = await client.call('add', { x: 2, y: 5 })
61
58
  ```
62
59
 
63
- The SAME `MCPClient` drives a `createWebSocketClientTransport` or
60
+ The same `MCPClient` drives a `createWebSocketClientTransport` or
64
61
  `createStdioClientTransport` instead — only the injected transport changes.
65
62
 
66
63
  ## Guide
@@ -96,7 +93,7 @@ The publication facts, each with its number. Full detail, plus every
96
93
  protocol-level gap and non-goal, is in
97
94
  [the MCP guide](https://github.com/orkestrel/mcp/blob/main/guides/mcp.md#declared-packaging-limits).
98
95
 
99
- - **No IDE evidence.** See above. The conformance number is about the wire
96
+ - **No IDE evidence.** See the [wire conformance evidence](https://github.com/orkestrel/mcp#proven). The conformance number is about the wire
100
97
  and does not transfer to a host application.
101
98
  - **No top-level `types` field.** Every `exports` subpath carries a `types`
102
99
  condition, so `node16`, `nodenext`, and `bundler` resolution find