@procedures/mcp-server 0.1.0 → 0.2.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/CHANGELOG.md +29 -0
- package/README.md +1 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/module.d.ts +7 -1
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +9 -1
- package/dist/module.js.map +1 -1
- package/dist/procedures/mcp/list-tools.d.ts.map +1 -1
- package/dist/procedures/mcp/list-tools.js +2 -1
- package/dist/procedures/mcp/list-tools.js.map +1 -1
- package/dist/procedures/mcp/serve.d.ts.map +1 -1
- package/dist/procedures/mcp/serve.js +2 -0
- package/dist/procedures/mcp/serve.js.map +1 -1
- package/dist/register.d.ts +3 -7
- package/dist/register.d.ts.map +1 -1
- package/dist/register.js +4 -16
- package/dist/register.js.map +1 -1
- package/package.json +4 -5
- package/src/index.ts +1 -2
- package/src/module.ts +10 -1
- package/src/procedures/mcp/list-tools.ts +2 -1
- package/src/procedures/mcp/serve.ts +2 -0
- package/src/register.ts +4 -17
package/dist/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* @packageDocumentation
|
|
9
9
|
*/
|
|
10
|
-
|
|
10
|
+
export * from "./module.js";
|
|
11
11
|
export { McpServerTransport } from "./transport/mcp-transport.js";
|
|
12
12
|
export { createStdioTransport } from "./transport/stdio.js";
|
|
13
13
|
export { createSseTransport } from "./transport/sse.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,cAAc,aAAa,CAAC;AAG5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAGxD,YAAY,EACV,yBAAyB,EACzB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAClG,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC/F,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAGvE,YAAY,EACV,OAAO,EACP,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,UAAU,EACV,UAAU,GACX,MAAM,iBAAiB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -7,8 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* @packageDocumentation
|
|
9
9
|
*/
|
|
10
|
-
|
|
11
|
-
import "./register.js";
|
|
10
|
+
export * from "./module.js";
|
|
12
11
|
// Transport
|
|
13
12
|
export { McpServerTransport } from "./transport/mcp-transport.js";
|
|
14
13
|
export { createStdioTransport } from "./transport/stdio.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,cAAc,aAAa,CAAC;AAE5B,YAAY;AACZ,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AASxD,aAAa;AACb,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAElG,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE/F,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAWvE,8BAA8B;AAC9B,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,UAAU,EACV,UAAU,GACX,MAAM,iBAAiB,CAAC"}
|
package/dist/module.d.ts
CHANGED
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Module (no side effects): the MCP procedures as data, for `createRegistry()`.
|
|
3
3
|
*/
|
|
4
|
-
import { type ProcedureModule } from "@procedures/client";
|
|
4
|
+
import { type ProcedureModule, type ProcedureRegistry } from "@procedures/client";
|
|
5
5
|
/**
|
|
6
6
|
* The module of this package, for `createRegistry()`: its procedures as data. Importing this
|
|
7
7
|
* file registers nothing. (`register.ts` registers the same procedures in the global registry.)
|
|
8
8
|
*/
|
|
9
9
|
export declare const mcpModule: ProcedureModule;
|
|
10
10
|
export default mcpModule;
|
|
11
|
+
/**
|
|
12
|
+
* This function registers the procedures of @procedures/mcp-server, and of the modules that it requires, in
|
|
13
|
+
* a registry. The default is the global registry. Importing this file registers nothing: the
|
|
14
|
+
* `./register` entry starts this function (ARCHITECTURE-PROPOSALS-2026-10, P9).
|
|
15
|
+
*/
|
|
16
|
+
export declare function registerMcpProcedures(registry?: ProcedureRegistry): void;
|
|
11
17
|
//# sourceMappingURL=module.d.ts.map
|
package/dist/module.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAmC,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAmC,KAAK,eAAe,EAAuC,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAIxJ;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,eAGtB,CAAC;eAEY,SAAS;AAExB;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,GAAE,iBAAsC,GAAG,IAAI,CAE5F"}
|
package/dist/module.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Module (no side effects): the MCP procedures as data, for `createRegistry()`.
|
|
3
3
|
*/
|
|
4
|
-
import { defineModule } from "@procedures/client";
|
|
4
|
+
import { defineModule, PROCEDURE_REGISTRY, registerModules } from "@procedures/client";
|
|
5
5
|
import { mcpServeProcedure } from "./procedures/mcp/serve.js";
|
|
6
6
|
import { mcpListToolsProcedure } from "./procedures/mcp/list-tools.js";
|
|
7
7
|
/**
|
|
@@ -13,4 +13,12 @@ export const mcpModule = defineModule("@procedures/mcp-server", [
|
|
|
13
13
|
mcpListToolsProcedure,
|
|
14
14
|
]);
|
|
15
15
|
export default mcpModule;
|
|
16
|
+
/**
|
|
17
|
+
* This function registers the procedures of @procedures/mcp-server, and of the modules that it requires, in
|
|
18
|
+
* a registry. The default is the global registry. Importing this file registers nothing: the
|
|
19
|
+
* `./register` entry starts this function (ARCHITECTURE-PROPOSALS-2026-10, P9).
|
|
20
|
+
*/
|
|
21
|
+
export function registerMcpProcedures(registry = PROCEDURE_REGISTRY) {
|
|
22
|
+
registerModules(registry, [mcpModule]);
|
|
23
|
+
}
|
|
16
24
|
//# sourceMappingURL=module.js.map
|
package/dist/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAA2C,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAA2C,kBAAkB,EAAE,eAAe,EAA0B,MAAM,oBAAoB,CAAC;AACxJ,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAEvE;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAoB,YAAY,CAAC,wBAAwB,EAAE;IAC/E,iBAAiC;IACjC,qBAAqC;CACtC,CAAC,CAAC;AAEH,eAAe,SAAS,CAAC;AAEzB;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAQ,GAAsB,kBAAkB;IACpF,eAAe,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-tools.d.ts","sourceRoot":"","sources":["../../../src/procedures/mcp/list-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,
|
|
1
|
+
{"version":3,"file":"list-tools.d.ts","sourceRoot":"","sources":["../../../src/procedures/mcp/list-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAA8D,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAqCnH,eAAO,MAAM,qBAAqB,EAAE,YAwClC,CAAC"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* List available MCP tools from the procedure registry.
|
|
5
5
|
*/
|
|
6
6
|
import { z } from "zod";
|
|
7
|
-
import { defineProcedure, PROCEDURE_REGISTRY } from "@procedures/client";
|
|
7
|
+
import { defineProcedure, PROCEDURE_REGISTRY, REGISTRY_READ_EFFECTS } from "@procedures/client";
|
|
8
8
|
import { proceduresToMcpTools } from "@procedures/mcp";
|
|
9
9
|
const McpListToolsInputSchema = z.object({
|
|
10
10
|
/** Only include procedures with these tags */
|
|
@@ -27,6 +27,7 @@ export const mcpListToolsProcedure = defineProcedure({
|
|
|
27
27
|
metadata: {
|
|
28
28
|
description: "List available MCP tools from the procedure registry",
|
|
29
29
|
tags: ["mcp", "introspection"],
|
|
30
|
+
effects: REGISTRY_READ_EFFECTS,
|
|
30
31
|
},
|
|
31
32
|
handler: async (input) => {
|
|
32
33
|
// Build filter, only adding defined values
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-tools.js","sourceRoot":"","sources":["../../../src/procedures/mcp/list-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAqB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"list-tools.js","sourceRoot":"","sources":["../../../src/procedures/mcp/list-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,qBAAqB,EAAqB,MAAM,oBAAoB,CAAC;AACnH,OAAO,EAAE,oBAAoB,EAAsB,MAAM,iBAAiB,CAAC;AAE3E,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,8CAA8C;IAC9C,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IAC/F,yCAAyC;IACzC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IAC1F,kDAAkD;IAClD,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IAClG,qDAAqD;IACrD,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;CACtG,CAAC,CAAC;AAiBH,MAAM,wBAAwB,GAG1B;IACF,KAAK,EAAE,CAAC,IAAa,EAAE,EAAE,CAAC,IAA0B;IACpD,SAAS,EAAE,CAAC,IAAa,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAa,EAAE,IAAI,EAAE,IAA0B,EAAE,CAAC;CAC7F,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAiB,eAAe,CAAC;IACjE,IAAI,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC;IAC3B,KAAK,EAAE,uBAAuB;IAC9B,MAAM,EAAE,wBAAwB;IAChC,QAAQ,EAAE;QACR,WAAW,EAAE,sDAAsD;QACnE,IAAI,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC;QAC9B,OAAO,EAAE,qBAAqB;KAC/B;IACD,OAAO,EAAE,KAAK,EAAE,KAAwB,EAA+B,EAAE;QACvE,2CAA2C;QAC3C,MAAM,MAAM,GAAkB;YAC5B,eAAe,EAAE,KAAK,CAAC,eAAe;SACvC,CAAC;QACF,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACzC,CAAC;QACD,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACzC,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACvC,CAAC;QAED,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAE1D,MAAM,KAAK,GAAkB,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACnD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,IAAI,EAAE,IAAI,CAAC,aAAa;YACxB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC,CAAC;QAEJ,OAAO;YACL,KAAK;YACL,KAAK,EAAE,KAAK,CAAC,MAAM;SACpB,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../../src/procedures/mcp/serve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAEL,eAAe,EAGf,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAC;AAK5B,8CAA8C;AAC9C,eAAO,MAAM,oBAAoB,2BAA2B,CAAC;AA+C7D,mFAAmF;AACnF,MAAM,WAAW,YAAY;IAC3B,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAC3C,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACxC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACxC,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED,8DAA8D;AAC9D,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,OAAO,CAAC;IACzC,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,GAAE,MAAsB,GAAG,OAAO,CAAC,UAAU,CAAC,CA6BzG;AAED,eAAO,MAAM,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../../src/procedures/mcp/serve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAEL,eAAe,EAGf,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAC;AAK5B,8CAA8C;AAC9C,eAAO,MAAM,oBAAoB,2BAA2B,CAAC;AA+C7D,mFAAmF;AACnF,MAAM,WAAW,YAAY;IAC3B,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAC3C,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACxC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACxC,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED,8DAA8D;AAC9D,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,OAAO,CAAC;IACzC,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,GAAE,MAAsB,GAAG,OAAO,CAAC,UAAU,CAAC,CA6BzG;AAED,eAAO,MAAM,iBAAiB,EAAE,YA4C9B,CAAC"}
|
|
@@ -88,6 +88,8 @@ export const mcpServeProcedure = defineProcedure({
|
|
|
88
88
|
metadata: {
|
|
89
89
|
description: "Start MCP server to expose procedures as tools",
|
|
90
90
|
tags: ["mcp", "server"],
|
|
91
|
+
// It imports the bundles of the project, which register their procedures, and serves on stdio
|
|
92
|
+
effects: { reads: ["fs", "registry"], writes: ["process", "registry", "server"] },
|
|
91
93
|
},
|
|
92
94
|
handler: async (input) => {
|
|
93
95
|
const serverName = input.name ?? "procedure-server";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../src/procedures/mcp/serve.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../src/procedures/mcp/serve.ts"],"names":[],"mappings":"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"}
|
package/dist/register.d.ts
CHANGED
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Importing this file registers the
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* Importing this file registers the procedures of @procedures/mcp-server, and of the modules that it
|
|
3
|
+
* requires, in the global registry: `import "@procedures/mcp-server/register"`. The package root and the
|
|
4
|
+
* `./module` entry register nothing (ARCHITECTURE-PROPOSALS-2026-10, P9).
|
|
5
5
|
*/
|
|
6
6
|
export * from "./module.js";
|
|
7
|
-
/**
|
|
8
|
-
* Register all MCP procedures.
|
|
9
|
-
*/
|
|
10
|
-
export declare function registerMcpProcedures(): void;
|
|
11
7
|
//# sourceMappingURL=register.d.ts.map
|
package/dist/register.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,cAAc,aAAa,CAAC"}
|
package/dist/register.js
CHANGED
|
@@ -1,21 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Importing this file registers the
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* Importing this file registers the procedures of @procedures/mcp-server, and of the modules that it
|
|
3
|
+
* requires, in the global registry: `import "@procedures/mcp-server/register"`. The package root and the
|
|
4
|
+
* `./module` entry register nothing (ARCHITECTURE-PROPOSALS-2026-10, P9).
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
7
|
-
import { mcpModule } from "./module.js";
|
|
6
|
+
import { registerMcpProcedures } from "./module.js";
|
|
8
7
|
export * from "./module.js";
|
|
9
|
-
/**
|
|
10
|
-
* Register all MCP procedures.
|
|
11
|
-
*/
|
|
12
|
-
export function registerMcpProcedures() {
|
|
13
|
-
for (const proc of mcpModule.procedures) {
|
|
14
|
-
if (!PROCEDURE_REGISTRY.has(proc.path)) {
|
|
15
|
-
PROCEDURE_REGISTRY.register(proc);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
// Auto-register when this module is imported
|
|
20
8
|
registerMcpProcedures();
|
|
21
9
|
//# sourceMappingURL=register.js.map
|
package/dist/register.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,cAAc,aAAa,CAAC;AAE5B,qBAAqB,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package",
|
|
3
3
|
"name": "@procedures/mcp-server",
|
|
4
|
-
"version": "0.1
|
|
4
|
+
"version": "0.2.1",
|
|
5
5
|
"description": "Model Context Protocol server transport: serve typed procedures as MCP tools to Claude and other MCP clients, with streaming progress, list_changed and an expose policy.",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"mcp",
|
|
@@ -49,7 +49,6 @@
|
|
|
49
49
|
"CHANGELOG.md"
|
|
50
50
|
],
|
|
51
51
|
"sideEffects": [
|
|
52
|
-
"./dist/index.js",
|
|
53
52
|
"./dist/register.js"
|
|
54
53
|
],
|
|
55
54
|
"engines": {
|
|
@@ -61,17 +60,17 @@
|
|
|
61
60
|
},
|
|
62
61
|
"dependencies": {
|
|
63
62
|
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
64
|
-
"@procedures/mcp": "0.1
|
|
63
|
+
"@procedures/mcp": "0.2.1"
|
|
65
64
|
},
|
|
66
65
|
"peerDependencies": {
|
|
67
|
-
"@procedures/client": "^0.1
|
|
66
|
+
"@procedures/client": "^0.2.1"
|
|
68
67
|
},
|
|
69
68
|
"devDependencies": {
|
|
70
69
|
"typescript": "^7.0.2",
|
|
71
70
|
"@types/node": "^22.0.0",
|
|
72
71
|
"@mark1russell7/cue": "^1.0.0",
|
|
73
72
|
"vitest": "^5.0.3",
|
|
74
|
-
"@procedures/client": "0.1
|
|
73
|
+
"@procedures/client": "0.2.1",
|
|
75
74
|
"zod": "^4.6.5"
|
|
76
75
|
},
|
|
77
76
|
"scripts": {
|
package/src/index.ts
CHANGED
|
@@ -8,8 +8,7 @@
|
|
|
8
8
|
* @packageDocumentation
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
import "./register.js";
|
|
11
|
+
export * from "./module.js";
|
|
13
12
|
|
|
14
13
|
// Transport
|
|
15
14
|
export { McpServerTransport } from "./transport/mcp-transport.js";
|
package/src/module.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Module (no side effects): the MCP procedures as data, for `createRegistry()`.
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import { defineModule, type AnyProcedure, type ProcedureModule } from "@procedures/client";
|
|
5
|
+
import { defineModule, type AnyProcedure, type ProcedureModule, PROCEDURE_REGISTRY, registerModules, type ProcedureRegistry } from "@procedures/client";
|
|
6
6
|
import { mcpServeProcedure } from "./procedures/mcp/serve.js";
|
|
7
7
|
import { mcpListToolsProcedure } from "./procedures/mcp/list-tools.js";
|
|
8
8
|
|
|
@@ -16,3 +16,12 @@ export const mcpModule: ProcedureModule = defineModule("@procedures/mcp-server",
|
|
|
16
16
|
]);
|
|
17
17
|
|
|
18
18
|
export default mcpModule;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* This function registers the procedures of @procedures/mcp-server, and of the modules that it requires, in
|
|
22
|
+
* a registry. The default is the global registry. Importing this file registers nothing: the
|
|
23
|
+
* `./register` entry starts this function (ARCHITECTURE-PROPOSALS-2026-10, P9).
|
|
24
|
+
*/
|
|
25
|
+
export function registerMcpProcedures(registry: ProcedureRegistry = PROCEDURE_REGISTRY): void {
|
|
26
|
+
registerModules(registry, [mcpModule]);
|
|
27
|
+
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { z } from "zod";
|
|
8
|
-
import { defineProcedure, PROCEDURE_REGISTRY, type AnyProcedure } from "@procedures/client";
|
|
8
|
+
import { defineProcedure, PROCEDURE_REGISTRY, REGISTRY_READ_EFFECTS, type AnyProcedure } from "@procedures/client";
|
|
9
9
|
import { proceduresToMcpTools, type McpToolFilter } from "@procedures/mcp";
|
|
10
10
|
|
|
11
11
|
const McpListToolsInputSchema = z.object({
|
|
@@ -49,6 +49,7 @@ export const mcpListToolsProcedure: AnyProcedure = defineProcedure({
|
|
|
49
49
|
metadata: {
|
|
50
50
|
description: "List available MCP tools from the procedure registry",
|
|
51
51
|
tags: ["mcp", "introspection"],
|
|
52
|
+
effects: REGISTRY_READ_EFFECTS,
|
|
52
53
|
},
|
|
53
54
|
handler: async (input: McpListToolsInput): Promise<McpListToolsOutput> => {
|
|
54
55
|
// Build filter, only adding defined values
|
|
@@ -132,6 +132,8 @@ export const mcpServeProcedure: AnyProcedure = defineProcedure({
|
|
|
132
132
|
metadata: {
|
|
133
133
|
description: "Start MCP server to expose procedures as tools",
|
|
134
134
|
tags: ["mcp", "server"],
|
|
135
|
+
// It imports the bundles of the project, which register their procedures, and serves on stdio
|
|
136
|
+
effects: { reads: ["fs", "registry"], writes: ["process", "registry", "server"] },
|
|
135
137
|
},
|
|
136
138
|
handler: async (input: McpServeInput): Promise<McpServeOutput> => {
|
|
137
139
|
const serverName = input.name ?? "procedure-server";
|
package/src/register.ts
CHANGED
|
@@ -1,24 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Importing this file registers the
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* Importing this file registers the procedures of @procedures/mcp-server, and of the modules that it
|
|
3
|
+
* requires, in the global registry: `import "@procedures/mcp-server/register"`. The package root and the
|
|
4
|
+
* `./module` entry register nothing (ARCHITECTURE-PROPOSALS-2026-10, P9).
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import {
|
|
8
|
-
import { mcpModule } from "./module.js";
|
|
7
|
+
import { registerMcpProcedures } from "./module.js";
|
|
9
8
|
|
|
10
9
|
export * from "./module.js";
|
|
11
10
|
|
|
12
|
-
/**
|
|
13
|
-
* Register all MCP procedures.
|
|
14
|
-
*/
|
|
15
|
-
export function registerMcpProcedures(): void {
|
|
16
|
-
for (const proc of mcpModule.procedures) {
|
|
17
|
-
if (!PROCEDURE_REGISTRY.has(proc.path)) {
|
|
18
|
-
PROCEDURE_REGISTRY.register(proc);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
// Auto-register when this module is imported
|
|
24
11
|
registerMcpProcedures();
|