spiceflow 1.16.0 → 1.17.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/README.md +5 -1
- package/dist/mcp.d.ts +15 -3
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +14 -2
- package/dist/mcp.js.map +1 -1
- package/dist/openapi-to-mcp.d.ts +1 -1
- package/dist/openapi-to-mcp.d.ts.map +1 -1
- package/dist/openapi-to-mcp.js +12 -7
- package/dist/openapi-to-mcp.js.map +1 -1
- package/package.json +1 -1
- package/src/mcp.ts +24 -7
- package/src/openapi-to-mcp.ts +22 -13
package/README.md
CHANGED
|
@@ -1088,7 +1088,11 @@ const app = new Spiceflow()
|
|
|
1088
1088
|
})
|
|
1089
1089
|
|
|
1090
1090
|
// Add Spiceflow tools to your existing server
|
|
1091
|
-
const mcpServer = await addMcpTools({
|
|
1091
|
+
const mcpServer = await addMcpTools({
|
|
1092
|
+
mcpServer: existingServer,
|
|
1093
|
+
app,
|
|
1094
|
+
ignorePaths: ['/mcp', '/sse']
|
|
1095
|
+
})
|
|
1092
1096
|
|
|
1093
1097
|
// Now your existing server has access to all Spiceflow routes as tools
|
|
1094
1098
|
```
|
package/dist/mcp.d.ts
CHANGED
|
@@ -1,10 +1,22 @@
|
|
|
1
1
|
import { SSEServerTransportSpiceflow } from './mcp-transport.ts';
|
|
2
2
|
import { AnySpiceflow, Spiceflow } from './spiceflow.ts';
|
|
3
3
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Add MCP tools to an existing MCP server from a Spiceflow app
|
|
6
|
+
* @example
|
|
7
|
+
* ```ts
|
|
8
|
+
* await addMcpTools({
|
|
9
|
+
* mcpServer,
|
|
10
|
+
* app,
|
|
11
|
+
* ignorePaths: ['/sse', '/mcp']
|
|
12
|
+
* })
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export declare function addMcpTools<const App extends AnySpiceflow, Paths extends string = App extends Spiceflow<any, any, any, any, any, any, infer RoutePaths> ? RoutePaths : string>({ mcpServer, app, ignorePaths, onlyPaths, }: {
|
|
5
16
|
mcpServer: McpServer;
|
|
6
|
-
app:
|
|
7
|
-
|
|
17
|
+
app: App;
|
|
18
|
+
ignorePaths: Paths[];
|
|
19
|
+
onlyPaths?: Paths[];
|
|
8
20
|
}): Promise<McpServer>;
|
|
9
21
|
export declare const mcp: <Path extends string = "/mcp">({ path, name, version, transports, }?: {
|
|
10
22
|
path?: Path | undefined;
|
package/dist/mcp.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAA;AAGhE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AAInE,wBAAsB,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAA;AAGhE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AAInE;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAC/B,KAAK,CAAC,GAAG,SAAS,YAAY,EAC9B,KAAK,SAAS,MAAM,GAAG,GAAG,SAAS,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC,GACxF,UAAU,GACV,MAAM,EACV,EACA,SAAS,EACT,GAAG,EACH,WAAW,EACX,SAAS,GACV,EAAE;IACD,SAAS,EAAE,SAAS,CAAA;IACpB,GAAG,EAAE,GAAG,CAAA;IACR,WAAW,EAAE,KAAK,EAAE,CAAA;IACpB,SAAS,CAAC,EAAE,KAAK,EAAE,CAAA;CACpB,GAAG,OAAO,CAAC,SAAS,CAAC,CAyBrB;AAED,eAAO,MAAM,GAAG,GAAI,IAAI,SAAS,MAAM,GAAG,MAAM,EAAE;;;;;CAQ5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WA6EL,CAAA"}
|
package/dist/mcp.js
CHANGED
|
@@ -3,7 +3,18 @@ import { createMCPServer } from "./openapi-to-mcp.js";
|
|
|
3
3
|
import { openapi } from "./openapi.js";
|
|
4
4
|
import { Spiceflow } from "./spiceflow.js";
|
|
5
5
|
const defaultTransports = new Map();
|
|
6
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Add MCP tools to an existing MCP server from a Spiceflow app
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* await addMcpTools({
|
|
11
|
+
* mcpServer,
|
|
12
|
+
* app,
|
|
13
|
+
* ignorePaths: ['/sse', '/mcp']
|
|
14
|
+
* })
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export async function addMcpTools({ mcpServer, app, ignorePaths, onlyPaths, }) {
|
|
7
18
|
// Always add the OpenAPI route
|
|
8
19
|
app.use(openapi({ path: '/_mcp_openapi' }));
|
|
9
20
|
const basePath = app.topLevelApp?.basePath || '';
|
|
@@ -13,7 +24,8 @@ export async function addMcpTools({ mcpServer, app, path, }) {
|
|
|
13
24
|
.then((r) => r.json()));
|
|
14
25
|
const { server: configuredServer } = createMCPServer({
|
|
15
26
|
server: mcpServer,
|
|
16
|
-
ignorePaths: ['/_mcp_openapi',
|
|
27
|
+
ignorePaths: ['/_mcp_openapi', ...ignorePaths],
|
|
28
|
+
paths: onlyPaths,
|
|
17
29
|
fetch: (url, init) => {
|
|
18
30
|
const req = new Request(url, init);
|
|
19
31
|
return app.handle(req);
|
package/dist/mcp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAgB,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAGxD,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAuC,CAAA;AAExE,MAAM,CAAC,KAAK,UAAU,WAAW,
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
|
package/dist/openapi-to-mcp.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { McpServer } from
|
|
1
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
2
|
import { OpenAPIV3 } from 'openapi-types';
|
|
3
3
|
type Fetch = (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
|
|
4
4
|
export declare function createMCPServer({ name, version, openapi, server, fetch, paths, ignorePaths, baseUrl, }: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi-to-mcp.d.ts","sourceRoot":"","sources":["../src/openapi-to-mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,
|
|
1
|
+
{"version":3,"file":"openapi-to-mcp.d.ts","sourceRoot":"","sources":["../src/openapi-to-mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AAUnE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AA8JzC,KAAK,KAAK,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAGhF,wBAAgB,eAAe,CAAC,EAC9B,IAAkB,EAClB,OAAiB,EACjB,OAAO,EACP,MAAM,EACN,KAAoB,EACpB,KAAK,EACL,WAAW,EACX,OAAY,GACb,EAAE;IACD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAA;IAC3B,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;;EAqPA"}
|
package/dist/openapi-to-mcp.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { McpServer } from
|
|
1
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
2
|
// import deref from 'dereference-json-schema'
|
|
3
3
|
import { CallToolRequestSchema, ListResourcesRequestSchema, ListToolsRequestSchema, ReadResourceRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
|
|
4
4
|
function getOperationRequestBody(operation) {
|
|
@@ -134,11 +134,16 @@ function getAuthHeaders(openapi, operation) {
|
|
|
134
134
|
}
|
|
135
135
|
const defaultFetch = fetch;
|
|
136
136
|
export function createMCPServer({ name = 'spiceflow', version = '1.0.0', openapi, server, fetch = defaultFetch, paths, ignorePaths, baseUrl = '', }) {
|
|
137
|
-
const mcpServer = server ||
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
137
|
+
const mcpServer = server ||
|
|
138
|
+
new McpServer({ name, version }, {
|
|
139
|
+
capabilities: {
|
|
140
|
+
tools: {},
|
|
141
|
+
resources: {},
|
|
142
|
+
},
|
|
143
|
+
});
|
|
144
|
+
mcpServer.server.registerCapabilities({
|
|
145
|
+
tools: {},
|
|
146
|
+
// resources: {},
|
|
142
147
|
});
|
|
143
148
|
// openapi = deref.dereferenceSync(openapi)
|
|
144
149
|
if (!baseUrl) {
|
|
@@ -186,7 +191,7 @@ export function createMCPServer({ name = 'spiceflow', version = '1.0.0', openapi
|
|
|
186
191
|
return true;
|
|
187
192
|
});
|
|
188
193
|
const tools = filteredPaths.flatMap(([path, pathObj]) => Object.entries(pathObj || {})
|
|
189
|
-
.filter(([method]) => method !== 'parameters')
|
|
194
|
+
// .filter(([method]) => method !== 'parameters')
|
|
190
195
|
.map(([method, operation]) => {
|
|
191
196
|
const properties = {};
|
|
192
197
|
const required = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi-to-mcp.js","sourceRoot":"","sources":["../src/openapi-to-mcp.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"openapi-to-mcp.js","sourceRoot":"","sources":["../src/openapi-to-mcp.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/mcp.ts
CHANGED
|
@@ -7,16 +7,32 @@ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'
|
|
|
7
7
|
|
|
8
8
|
const defaultTransports = new Map<string, SSEServerTransportSpiceflow>()
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Add MCP tools to an existing MCP server from a Spiceflow app
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* await addMcpTools({
|
|
15
|
+
* mcpServer,
|
|
16
|
+
* app,
|
|
17
|
+
* ignorePaths: ['/sse', '/mcp']
|
|
18
|
+
* })
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export async function addMcpTools<
|
|
22
|
+
const App extends AnySpiceflow,
|
|
23
|
+
Paths extends string = App extends Spiceflow<any, any, any, any, any, any, infer RoutePaths>
|
|
24
|
+
? RoutePaths
|
|
25
|
+
: string
|
|
26
|
+
>({
|
|
11
27
|
mcpServer,
|
|
12
28
|
app,
|
|
13
|
-
|
|
14
|
-
|
|
29
|
+
ignorePaths,
|
|
30
|
+
onlyPaths,
|
|
15
31
|
}: {
|
|
16
32
|
mcpServer: McpServer
|
|
17
|
-
app:
|
|
18
|
-
|
|
19
|
-
|
|
33
|
+
app: App
|
|
34
|
+
ignorePaths: Paths[]
|
|
35
|
+
onlyPaths?: Paths[]
|
|
20
36
|
}): Promise<McpServer> {
|
|
21
37
|
// Always add the OpenAPI route
|
|
22
38
|
app.use(openapi({ path: '/_mcp_openapi' }))
|
|
@@ -32,7 +48,8 @@ export async function addMcpTools({
|
|
|
32
48
|
|
|
33
49
|
const { server: configuredServer } = createMCPServer({
|
|
34
50
|
server: mcpServer,
|
|
35
|
-
ignorePaths: ['/_mcp_openapi',
|
|
51
|
+
ignorePaths: ['/_mcp_openapi', ...ignorePaths],
|
|
52
|
+
paths: onlyPaths,
|
|
36
53
|
fetch: (url, init) => {
|
|
37
54
|
const req = new Request(url, init)
|
|
38
55
|
return app.handle(req)
|
package/src/openapi-to-mcp.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { McpServer } from
|
|
1
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'
|
|
2
2
|
|
|
3
3
|
// import deref from 'dereference-json-schema'
|
|
4
4
|
|
|
@@ -188,15 +188,21 @@ export function createMCPServer({
|
|
|
188
188
|
ignorePaths?: string[]
|
|
189
189
|
baseUrl?: string
|
|
190
190
|
}) {
|
|
191
|
-
const mcpServer =
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
191
|
+
const mcpServer =
|
|
192
|
+
server ||
|
|
193
|
+
new McpServer(
|
|
194
|
+
{ name, version },
|
|
195
|
+
{
|
|
196
|
+
capabilities: {
|
|
197
|
+
tools: {},
|
|
198
|
+
resources: {},
|
|
199
|
+
},
|
|
197
200
|
},
|
|
198
|
-
|
|
199
|
-
|
|
201
|
+
)
|
|
202
|
+
mcpServer.server.registerCapabilities({
|
|
203
|
+
tools: {},
|
|
204
|
+
// resources: {},
|
|
205
|
+
})
|
|
200
206
|
// openapi = deref.dereferenceSync(openapi)
|
|
201
207
|
if (!baseUrl) {
|
|
202
208
|
baseUrl = extractApiFromBaseUrl(openapi)
|
|
@@ -261,7 +267,7 @@ export function createMCPServer({
|
|
|
261
267
|
|
|
262
268
|
const tools = filteredPaths.flatMap(([path, pathObj]) =>
|
|
263
269
|
Object.entries(pathObj || {})
|
|
264
|
-
.filter(([method]) => method !== 'parameters')
|
|
270
|
+
// .filter(([method]) => method !== 'parameters')
|
|
265
271
|
.map(([method, operation]) => {
|
|
266
272
|
const properties: Record<string, any> = {}
|
|
267
273
|
const required: string[] = []
|
|
@@ -418,9 +424,12 @@ export function createMCPServer({
|
|
|
418
424
|
return { resources: [] }
|
|
419
425
|
})
|
|
420
426
|
|
|
421
|
-
mcpServer.server.setRequestHandler(
|
|
422
|
-
|
|
423
|
-
|
|
427
|
+
mcpServer.server.setRequestHandler(
|
|
428
|
+
ReadResourceRequestSchema,
|
|
429
|
+
async (request) => {
|
|
430
|
+
throw new Error('Resources are not supported - use tools instead')
|
|
431
|
+
},
|
|
432
|
+
)
|
|
424
433
|
|
|
425
434
|
return { server: mcpServer }
|
|
426
435
|
}
|