@mapbox/mcp-server 0.9.0 → 0.9.2-dev
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 -40
- package/dist/commonjs/resources/BaseResource.d.ts +1 -1
- package/dist/commonjs/resources/BaseResource.d.ts.map +1 -1
- package/dist/commonjs/resources/BaseResource.js +12 -2
- package/dist/commonjs/resources/BaseResource.js.map +1 -1
- package/dist/commonjs/resources/index.d.ts +4 -0
- package/dist/commonjs/resources/index.d.ts.map +1 -1
- package/dist/commonjs/resources/index.js +6 -1
- package/dist/commonjs/resources/index.js.map +1 -1
- package/dist/commonjs/resources/resourceRegistry.d.ts +2 -1
- package/dist/commonjs/resources/resourceRegistry.d.ts.map +1 -1
- package/dist/commonjs/resources/resourceRegistry.js +3 -1
- package/dist/commonjs/resources/resourceRegistry.js.map +1 -1
- package/dist/commonjs/resources/version/VersionResource.d.ts +16 -0
- package/dist/commonjs/resources/version/VersionResource.d.ts.map +1 -0
- package/dist/commonjs/resources/version/VersionResource.js +33 -0
- package/dist/commonjs/resources/version/VersionResource.js.map +1 -0
- package/dist/commonjs/tools/index.d.ts +1 -5
- package/dist/commonjs/tools/index.d.ts.map +1 -1
- package/dist/commonjs/tools/index.js +2 -6
- package/dist/commonjs/tools/index.js.map +1 -1
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -1
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.js +21 -1
- package/dist/commonjs/tools/isochrone-tool/IsochroneTool.js.map +1 -1
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js +7 -0
- package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
- package/dist/commonjs/tools/toolRegistry.d.ts +2 -3
- package/dist/commonjs/tools/toolRegistry.d.ts.map +1 -1
- package/dist/commonjs/tools/toolRegistry.js +0 -2
- package/dist/commonjs/tools/toolRegistry.js.map +1 -1
- package/dist/commonjs/utils/index.d.ts +2 -0
- package/dist/commonjs/utils/index.d.ts.map +1 -1
- package/dist/commonjs/utils/index.js +4 -1
- package/dist/commonjs/utils/index.js.map +1 -1
- package/dist/commonjs/version.json +4 -4
- package/dist/esm/resources/BaseResource.d.ts +1 -1
- package/dist/esm/resources/BaseResource.d.ts.map +1 -1
- package/dist/esm/resources/BaseResource.js +12 -2
- package/dist/esm/resources/BaseResource.js.map +1 -1
- package/dist/esm/resources/index.d.ts +4 -0
- package/dist/esm/resources/index.d.ts.map +1 -1
- package/dist/esm/resources/index.js +4 -0
- package/dist/esm/resources/index.js.map +1 -1
- package/dist/esm/resources/resourceRegistry.d.ts +2 -1
- package/dist/esm/resources/resourceRegistry.d.ts.map +1 -1
- package/dist/esm/resources/resourceRegistry.js +3 -1
- package/dist/esm/resources/resourceRegistry.js.map +1 -1
- package/dist/esm/resources/version/VersionResource.d.ts +16 -0
- package/dist/esm/resources/version/VersionResource.d.ts.map +1 -0
- package/dist/esm/resources/version/VersionResource.js +29 -0
- package/dist/esm/resources/version/VersionResource.js.map +1 -0
- package/dist/esm/tools/index.d.ts +1 -5
- package/dist/esm/tools/index.d.ts.map +1 -1
- package/dist/esm/tools/index.js +1 -5
- package/dist/esm/tools/index.js.map +1 -1
- package/dist/esm/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -1
- package/dist/esm/tools/isochrone-tool/IsochroneTool.js +21 -1
- package/dist/esm/tools/isochrone-tool/IsochroneTool.js.map +1 -1
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js +7 -0
- package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
- package/dist/esm/tools/toolRegistry.d.ts +2 -3
- package/dist/esm/tools/toolRegistry.d.ts.map +1 -1
- package/dist/esm/tools/toolRegistry.js +0 -2
- package/dist/esm/tools/toolRegistry.js.map +1 -1
- package/dist/esm/utils/index.d.ts +2 -0
- package/dist/esm/utils/index.d.ts.map +1 -1
- package/dist/esm/utils/index.js +2 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/version.json +4 -4
- package/package.json +3 -3
- package/patches/@modelcontextprotocol+sdk+1.27.1.patch +33 -0
- package/dist/commonjs/tools/version-tool/VersionTool.d.ts +0 -18
- package/dist/commonjs/tools/version-tool/VersionTool.d.ts.map +0 -1
- package/dist/commonjs/tools/version-tool/VersionTool.input.schema.d.ts +0 -3
- package/dist/commonjs/tools/version-tool/VersionTool.input.schema.d.ts.map +0 -1
- package/dist/commonjs/tools/version-tool/VersionTool.input.schema.js +0 -8
- package/dist/commonjs/tools/version-tool/VersionTool.input.schema.js.map +0 -1
- package/dist/commonjs/tools/version-tool/VersionTool.js +0 -68
- package/dist/commonjs/tools/version-tool/VersionTool.js.map +0 -1
- package/dist/commonjs/tools/version-tool/VersionTool.output.schema.d.ts +0 -22
- package/dist/commonjs/tools/version-tool/VersionTool.output.schema.d.ts.map +0 -1
- package/dist/commonjs/tools/version-tool/VersionTool.output.schema.js +0 -15
- package/dist/commonjs/tools/version-tool/VersionTool.output.schema.js.map +0 -1
- package/dist/esm/tools/version-tool/VersionTool.d.ts +0 -18
- package/dist/esm/tools/version-tool/VersionTool.d.ts.map +0 -1
- package/dist/esm/tools/version-tool/VersionTool.input.schema.d.ts +0 -3
- package/dist/esm/tools/version-tool/VersionTool.input.schema.d.ts.map +0 -1
- package/dist/esm/tools/version-tool/VersionTool.input.schema.js +0 -5
- package/dist/esm/tools/version-tool/VersionTool.input.schema.js.map +0 -1
- package/dist/esm/tools/version-tool/VersionTool.js +0 -64
- package/dist/esm/tools/version-tool/VersionTool.js.map +0 -1
- package/dist/esm/tools/version-tool/VersionTool.output.schema.d.ts +0 -22
- package/dist/esm/tools/version-tool/VersionTool.output.schema.d.ts.map +0 -1
- package/dist/esm/tools/version-tool/VersionTool.output.schema.js +0 -12
- package/dist/esm/tools/version-tool/VersionTool.output.schema.js.map +0 -1
- package/patches/@modelcontextprotocol+sdk+1.26.0.patch +0 -66
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
diff --git a/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js b/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js
|
|
2
|
+
index 23639ce..7b8a325 100644
|
|
3
|
+
--- a/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js
|
|
4
|
+
+++ b/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js
|
|
5
|
+
@@ -194,15 +194,20 @@ export class McpServer {
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
if (!result.structuredContent) {
|
|
9
|
+
- throw new McpError(ErrorCode.InvalidParams, `Output validation error: Tool ${toolName} has an output schema but no structured content was provided`);
|
|
10
|
+
+ // Log warning but don't throw - allow tools to omit structured content
|
|
11
|
+
+ console.warn(`[MCP SDK Patch] Output validation warning: Tool ${toolName} has an output schema but no structured content was provided`);
|
|
12
|
+
}
|
|
13
|
+
- // if the tool has an output schema, validate structured content
|
|
14
|
+
- const outputObj = normalizeObjectSchema(tool.outputSchema);
|
|
15
|
+
- const parseResult = await safeParseAsync(outputObj, result.structuredContent);
|
|
16
|
+
- if (!parseResult.success) {
|
|
17
|
+
- const error = 'error' in parseResult ? parseResult.error : 'Unknown error';
|
|
18
|
+
- const errorMessage = getParseErrorMessage(error);
|
|
19
|
+
- throw new McpError(ErrorCode.InvalidParams, `Output validation error: Invalid structured content for tool ${toolName}: ${errorMessage}`);
|
|
20
|
+
+ else {
|
|
21
|
+
+ // if the tool has an output schema, validate structured content
|
|
22
|
+
+ const outputObj = normalizeObjectSchema(tool.outputSchema);
|
|
23
|
+
+ const parseResult = await safeParseAsync(outputObj, result.structuredContent);
|
|
24
|
+
+ if (!parseResult.success) {
|
|
25
|
+
+ const error = 'error' in parseResult ? parseResult.error : 'Unknown error';
|
|
26
|
+
+ const errorMessage = getParseErrorMessage(error);
|
|
27
|
+
+ // Log warning but don't throw - allow schema mismatches
|
|
28
|
+
+ console.warn(`[MCP SDK Patch] Output validation warning: Invalid structured content for tool ${toolName}: ${errorMessage}`);
|
|
29
|
+
+ // Keep the structuredContent despite validation failure
|
|
30
|
+
+ }
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { BaseTool } from '../BaseTool.js';
|
|
2
|
-
import { VersionSchema } from './VersionTool.input.schema.js';
|
|
3
|
-
import { VersionResponseSchema } from './VersionTool.output.schema.js';
|
|
4
|
-
import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
5
|
-
export declare class VersionTool extends BaseTool<typeof VersionSchema, typeof VersionResponseSchema> {
|
|
6
|
-
readonly name = "version_tool";
|
|
7
|
-
readonly description = "Get the current version information of the MCP server";
|
|
8
|
-
readonly annotations: {
|
|
9
|
-
title: string;
|
|
10
|
-
readOnlyHint: boolean;
|
|
11
|
-
destructiveHint: boolean;
|
|
12
|
-
idempotentHint: boolean;
|
|
13
|
-
openWorldHint: boolean;
|
|
14
|
-
};
|
|
15
|
-
constructor();
|
|
16
|
-
run(_rawInput: unknown): Promise<CallToolResult>;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=VersionTool.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VersionTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/version-tool/VersionTool.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE,qBAAa,WAAY,SAAQ,QAAQ,CACvC,OAAO,aAAa,EACpB,OAAO,qBAAqB,CAC7B;IACC,QAAQ,CAAC,IAAI,kBAAkB;IAC/B,QAAQ,CAAC,WAAW,2DACsC;IAC1D,QAAQ,CAAC,WAAW;;;;;;MAMlB;;IAUI,GAAG,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;CA+CvD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VersionTool.input.schema.d.ts","sourceRoot":"","sources":["../../../../src/tools/version-tool/VersionTool.input.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,aAAa,gDAAe,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// Copyright (c) Mapbox, Inc.
|
|
3
|
-
// Licensed under the MIT License.
|
|
4
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.VersionSchema = void 0;
|
|
6
|
-
const zod_1 = require("zod");
|
|
7
|
-
exports.VersionSchema = zod_1.z.object({});
|
|
8
|
-
//# sourceMappingURL=VersionTool.input.schema.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VersionTool.input.schema.js","sourceRoot":"","sources":["../../../../src/tools/version-tool/VersionTool.input.schema.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAElC,6BAAwB;AAEX,QAAA,aAAa,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC"}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.VersionTool = void 0;
|
|
4
|
-
const api_1 = require("@opentelemetry/api");
|
|
5
|
-
const tracing_js_1 = require("../../utils/tracing.js");
|
|
6
|
-
// Copyright (c) Mapbox, Inc.
|
|
7
|
-
// Licensed under the MIT License.
|
|
8
|
-
const BaseTool_js_1 = require("../BaseTool.js");
|
|
9
|
-
const versionUtils_js_1 = require("../../utils/versionUtils.js");
|
|
10
|
-
const VersionTool_input_schema_js_1 = require("./VersionTool.input.schema.js");
|
|
11
|
-
const VersionTool_output_schema_js_1 = require("./VersionTool.output.schema.js");
|
|
12
|
-
class VersionTool extends BaseTool_js_1.BaseTool {
|
|
13
|
-
name = 'version_tool';
|
|
14
|
-
description = 'Get the current version information of the MCP server';
|
|
15
|
-
annotations = {
|
|
16
|
-
title: 'Version Information Tool',
|
|
17
|
-
readOnlyHint: true,
|
|
18
|
-
destructiveHint: false,
|
|
19
|
-
idempotentHint: true,
|
|
20
|
-
openWorldHint: false
|
|
21
|
-
};
|
|
22
|
-
constructor() {
|
|
23
|
-
super({
|
|
24
|
-
inputSchema: VersionTool_input_schema_js_1.VersionSchema,
|
|
25
|
-
outputSchema: VersionTool_output_schema_js_1.VersionResponseSchema
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
29
|
-
async run(_rawInput) {
|
|
30
|
-
// Create tracing context for this tool
|
|
31
|
-
const toolContext = (0, tracing_js_1.createLocalToolExecutionContext)(this.name, 0);
|
|
32
|
-
return await api_1.context.with(api_1.trace.setSpan(api_1.context.active(), toolContext.span), async () => {
|
|
33
|
-
try {
|
|
34
|
-
const versionInfo = (0, versionUtils_js_1.getVersionInfo)();
|
|
35
|
-
const versionText = `MCP Server Version Information:\n- Name: ${versionInfo.name}\n- Version: ${versionInfo.version}\n- SHA: ${versionInfo.sha}\n- Tag: ${versionInfo.tag}\n- Branch: ${versionInfo.branch}`;
|
|
36
|
-
// Validate with graceful fallback
|
|
37
|
-
const validatedVersionInfo = this.validateOutput(versionInfo);
|
|
38
|
-
toolContext.span.setStatus({ code: api_1.SpanStatusCode.OK });
|
|
39
|
-
toolContext.span.end();
|
|
40
|
-
return {
|
|
41
|
-
content: [{ type: 'text', text: versionText }],
|
|
42
|
-
structuredContent: validatedVersionInfo,
|
|
43
|
-
isError: false
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
catch (error) {
|
|
47
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
48
|
-
toolContext.span.setStatus({
|
|
49
|
-
code: api_1.SpanStatusCode.ERROR,
|
|
50
|
-
message: errorMessage
|
|
51
|
-
});
|
|
52
|
-
toolContext.span.end();
|
|
53
|
-
this.log('error', `${this.name}: Error during execution: ${errorMessage}`);
|
|
54
|
-
return {
|
|
55
|
-
content: [
|
|
56
|
-
{
|
|
57
|
-
type: 'text',
|
|
58
|
-
text: `VersionTool: Error during execution: ${errorMessage}`
|
|
59
|
-
}
|
|
60
|
-
],
|
|
61
|
-
isError: true
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
exports.VersionTool = VersionTool;
|
|
68
|
-
//# sourceMappingURL=VersionTool.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VersionTool.js","sourceRoot":"","sources":["../../../../src/tools/version-tool/VersionTool.ts"],"names":[],"mappings":";;;AAAA,4CAAoE;AACpE,uDAAyE;AACzE,6BAA6B;AAC7B,kCAAkC;AAElC,gDAA0C;AAC1C,iEAA6D;AAC7D,+EAA8D;AAC9D,iFAAuE;AAGvE,MAAa,WAAY,SAAQ,sBAGhC;IACU,IAAI,GAAG,cAAc,CAAC;IACtB,WAAW,GAClB,uDAAuD,CAAC;IACjD,WAAW,GAAG;QACrB,KAAK,EAAE,0BAA0B;QACjC,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,KAAK;KACrB,CAAC;IAEF;QACE,KAAK,CAAC;YACJ,WAAW,EAAE,2CAAa;YAC1B,YAAY,EAAE,oDAAqB;SACpC,CAAC,CAAC;IACL,CAAC;IAED,6DAA6D;IAC7D,KAAK,CAAC,GAAG,CAAC,SAAkB;QAC1B,uCAAuC;QACvC,MAAM,WAAW,GAAG,IAAA,4CAA+B,EAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAClE,OAAO,MAAM,aAAO,CAAC,IAAI,CACvB,WAAK,CAAC,OAAO,CAAC,aAAO,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,EACjD,KAAK,IAAI,EAAE;YACT,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,IAAA,gCAAc,GAAE,CAAC;gBACrC,MAAM,WAAW,GAAG,4CAA4C,WAAW,CAAC,IAAI,gBAAgB,WAAW,CAAC,OAAO,YAAY,WAAW,CAAC,GAAG,YAAY,WAAW,CAAC,GAAG,eAAe,WAAW,CAAC,MAAM,EAAE,CAAC;gBAE7M,kCAAkC;gBAClC,MAAM,oBAAoB,GAAG,IAAI,CAAC,cAAc,CAC9C,WAAW,CACe,CAAC;gBAE7B,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,oBAAc,CAAC,EAAE,EAAE,CAAC,CAAC;gBACxD,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;oBACvD,iBAAiB,EAAE,oBAAoB;oBACvC,OAAO,EAAE,KAAK;iBACf,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACzD,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC;oBACzB,IAAI,EAAE,oBAAc,CAAC,KAAK;oBAC1B,OAAO,EAAE,YAAY;iBACtB,CAAC,CAAC;gBACH,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,IAAI,CAAC,GAAG,CACN,OAAO,EACP,GAAG,IAAI,CAAC,IAAI,6BAA6B,YAAY,EAAE,CACxD,CAAC;gBACF,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,wCAAwC,YAAY,EAAE;yBAC7D;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;CACF;AAtED,kCAsEC"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
export declare const VersionResponseSchema: z.ZodObject<{
|
|
3
|
-
name: z.ZodString;
|
|
4
|
-
version: z.ZodString;
|
|
5
|
-
sha: z.ZodString;
|
|
6
|
-
tag: z.ZodString;
|
|
7
|
-
branch: z.ZodString;
|
|
8
|
-
}, "strip", z.ZodTypeAny, {
|
|
9
|
-
version: string;
|
|
10
|
-
name: string;
|
|
11
|
-
sha: string;
|
|
12
|
-
tag: string;
|
|
13
|
-
branch: string;
|
|
14
|
-
}, {
|
|
15
|
-
version: string;
|
|
16
|
-
name: string;
|
|
17
|
-
sha: string;
|
|
18
|
-
tag: string;
|
|
19
|
-
branch: string;
|
|
20
|
-
}>;
|
|
21
|
-
export type VersionResponse = z.infer<typeof VersionResponseSchema>;
|
|
22
|
-
//# sourceMappingURL=VersionTool.output.schema.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VersionTool.output.schema.d.ts","sourceRoot":"","sources":["../../../../src/tools/version-tool/VersionTool.output.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;EAMhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// Copyright (c) Mapbox, Inc.
|
|
3
|
-
// Licensed under the MIT License.
|
|
4
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.VersionResponseSchema = void 0;
|
|
6
|
-
const zod_1 = require("zod");
|
|
7
|
-
// Schema for version tool output - matches the VersionInfo interface
|
|
8
|
-
exports.VersionResponseSchema = zod_1.z.object({
|
|
9
|
-
name: zod_1.z.string(),
|
|
10
|
-
version: zod_1.z.string(),
|
|
11
|
-
sha: zod_1.z.string(),
|
|
12
|
-
tag: zod_1.z.string(),
|
|
13
|
-
branch: zod_1.z.string()
|
|
14
|
-
});
|
|
15
|
-
//# sourceMappingURL=VersionTool.output.schema.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VersionTool.output.schema.js","sourceRoot":"","sources":["../../../../src/tools/version-tool/VersionTool.output.schema.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAElC,6BAAwB;AAExB,qEAAqE;AACxD,QAAA,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { BaseTool } from '../BaseTool.js';
|
|
2
|
-
import { VersionSchema } from './VersionTool.input.schema.js';
|
|
3
|
-
import { VersionResponseSchema } from './VersionTool.output.schema.js';
|
|
4
|
-
import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
5
|
-
export declare class VersionTool extends BaseTool<typeof VersionSchema, typeof VersionResponseSchema> {
|
|
6
|
-
readonly name = "version_tool";
|
|
7
|
-
readonly description = "Get the current version information of the MCP server";
|
|
8
|
-
readonly annotations: {
|
|
9
|
-
title: string;
|
|
10
|
-
readOnlyHint: boolean;
|
|
11
|
-
destructiveHint: boolean;
|
|
12
|
-
idempotentHint: boolean;
|
|
13
|
-
openWorldHint: boolean;
|
|
14
|
-
};
|
|
15
|
-
constructor();
|
|
16
|
-
run(_rawInput: unknown): Promise<CallToolResult>;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=VersionTool.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VersionTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/version-tool/VersionTool.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE,qBAAa,WAAY,SAAQ,QAAQ,CACvC,OAAO,aAAa,EACpB,OAAO,qBAAqB,CAC7B;IACC,QAAQ,CAAC,IAAI,kBAAkB;IAC/B,QAAQ,CAAC,WAAW,2DACsC;IAC1D,QAAQ,CAAC,WAAW;;;;;;MAMlB;;IAUI,GAAG,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;CA+CvD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VersionTool.input.schema.d.ts","sourceRoot":"","sources":["../../../../src/tools/version-tool/VersionTool.input.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,aAAa,gDAAe,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VersionTool.input.schema.js","sourceRoot":"","sources":["../../../../src/tools/version-tool/VersionTool.input.schema.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAElC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC"}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { context, SpanStatusCode, trace } from '@opentelemetry/api';
|
|
2
|
-
import { createLocalToolExecutionContext } from '../../utils/tracing.js';
|
|
3
|
-
// Copyright (c) Mapbox, Inc.
|
|
4
|
-
// Licensed under the MIT License.
|
|
5
|
-
import { BaseTool } from '../BaseTool.js';
|
|
6
|
-
import { getVersionInfo } from '../../utils/versionUtils.js';
|
|
7
|
-
import { VersionSchema } from './VersionTool.input.schema.js';
|
|
8
|
-
import { VersionResponseSchema } from './VersionTool.output.schema.js';
|
|
9
|
-
export class VersionTool extends BaseTool {
|
|
10
|
-
name = 'version_tool';
|
|
11
|
-
description = 'Get the current version information of the MCP server';
|
|
12
|
-
annotations = {
|
|
13
|
-
title: 'Version Information Tool',
|
|
14
|
-
readOnlyHint: true,
|
|
15
|
-
destructiveHint: false,
|
|
16
|
-
idempotentHint: true,
|
|
17
|
-
openWorldHint: false
|
|
18
|
-
};
|
|
19
|
-
constructor() {
|
|
20
|
-
super({
|
|
21
|
-
inputSchema: VersionSchema,
|
|
22
|
-
outputSchema: VersionResponseSchema
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
26
|
-
async run(_rawInput) {
|
|
27
|
-
// Create tracing context for this tool
|
|
28
|
-
const toolContext = createLocalToolExecutionContext(this.name, 0);
|
|
29
|
-
return await context.with(trace.setSpan(context.active(), toolContext.span), async () => {
|
|
30
|
-
try {
|
|
31
|
-
const versionInfo = getVersionInfo();
|
|
32
|
-
const versionText = `MCP Server Version Information:\n- Name: ${versionInfo.name}\n- Version: ${versionInfo.version}\n- SHA: ${versionInfo.sha}\n- Tag: ${versionInfo.tag}\n- Branch: ${versionInfo.branch}`;
|
|
33
|
-
// Validate with graceful fallback
|
|
34
|
-
const validatedVersionInfo = this.validateOutput(versionInfo);
|
|
35
|
-
toolContext.span.setStatus({ code: SpanStatusCode.OK });
|
|
36
|
-
toolContext.span.end();
|
|
37
|
-
return {
|
|
38
|
-
content: [{ type: 'text', text: versionText }],
|
|
39
|
-
structuredContent: validatedVersionInfo,
|
|
40
|
-
isError: false
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
catch (error) {
|
|
44
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
45
|
-
toolContext.span.setStatus({
|
|
46
|
-
code: SpanStatusCode.ERROR,
|
|
47
|
-
message: errorMessage
|
|
48
|
-
});
|
|
49
|
-
toolContext.span.end();
|
|
50
|
-
this.log('error', `${this.name}: Error during execution: ${errorMessage}`);
|
|
51
|
-
return {
|
|
52
|
-
content: [
|
|
53
|
-
{
|
|
54
|
-
type: 'text',
|
|
55
|
-
text: `VersionTool: Error during execution: ${errorMessage}`
|
|
56
|
-
}
|
|
57
|
-
],
|
|
58
|
-
isError: true
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
//# sourceMappingURL=VersionTool.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VersionTool.js","sourceRoot":"","sources":["../../../../src/tools/version-tool/VersionTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACzE,6BAA6B;AAC7B,kCAAkC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAGvE,MAAM,OAAO,WAAY,SAAQ,QAGhC;IACU,IAAI,GAAG,cAAc,CAAC;IACtB,WAAW,GAClB,uDAAuD,CAAC;IACjD,WAAW,GAAG;QACrB,KAAK,EAAE,0BAA0B;QACjC,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,KAAK;KACrB,CAAC;IAEF;QACE,KAAK,CAAC;YACJ,WAAW,EAAE,aAAa;YAC1B,YAAY,EAAE,qBAAqB;SACpC,CAAC,CAAC;IACL,CAAC;IAED,6DAA6D;IAC7D,KAAK,CAAC,GAAG,CAAC,SAAkB;QAC1B,uCAAuC;QACvC,MAAM,WAAW,GAAG,+BAA+B,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAClE,OAAO,MAAM,OAAO,CAAC,IAAI,CACvB,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,EACjD,KAAK,IAAI,EAAE;YACT,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;gBACrC,MAAM,WAAW,GAAG,4CAA4C,WAAW,CAAC,IAAI,gBAAgB,WAAW,CAAC,OAAO,YAAY,WAAW,CAAC,GAAG,YAAY,WAAW,CAAC,GAAG,eAAe,WAAW,CAAC,MAAM,EAAE,CAAC;gBAE7M,kCAAkC;gBAClC,MAAM,oBAAoB,GAAG,IAAI,CAAC,cAAc,CAC9C,WAAW,CACe,CAAC;gBAE7B,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;gBACxD,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;oBACvD,iBAAiB,EAAE,oBAAoB;oBACvC,OAAO,EAAE,KAAK;iBACf,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACzD,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC;oBACzB,IAAI,EAAE,cAAc,CAAC,KAAK;oBAC1B,OAAO,EAAE,YAAY;iBACtB,CAAC,CAAC;gBACH,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,IAAI,CAAC,GAAG,CACN,OAAO,EACP,GAAG,IAAI,CAAC,IAAI,6BAA6B,YAAY,EAAE,CACxD,CAAC;gBACF,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,wCAAwC,YAAY,EAAE;yBAC7D;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
export declare const VersionResponseSchema: z.ZodObject<{
|
|
3
|
-
name: z.ZodString;
|
|
4
|
-
version: z.ZodString;
|
|
5
|
-
sha: z.ZodString;
|
|
6
|
-
tag: z.ZodString;
|
|
7
|
-
branch: z.ZodString;
|
|
8
|
-
}, "strip", z.ZodTypeAny, {
|
|
9
|
-
version: string;
|
|
10
|
-
name: string;
|
|
11
|
-
sha: string;
|
|
12
|
-
tag: string;
|
|
13
|
-
branch: string;
|
|
14
|
-
}, {
|
|
15
|
-
version: string;
|
|
16
|
-
name: string;
|
|
17
|
-
sha: string;
|
|
18
|
-
tag: string;
|
|
19
|
-
branch: string;
|
|
20
|
-
}>;
|
|
21
|
-
export type VersionResponse = z.infer<typeof VersionResponseSchema>;
|
|
22
|
-
//# sourceMappingURL=VersionTool.output.schema.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VersionTool.output.schema.d.ts","sourceRoot":"","sources":["../../../../src/tools/version-tool/VersionTool.output.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;EAMhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Mapbox, Inc.
|
|
2
|
-
// Licensed under the MIT License.
|
|
3
|
-
import { z } from 'zod';
|
|
4
|
-
// Schema for version tool output - matches the VersionInfo interface
|
|
5
|
-
export const VersionResponseSchema = z.object({
|
|
6
|
-
name: z.string(),
|
|
7
|
-
version: z.string(),
|
|
8
|
-
sha: z.string(),
|
|
9
|
-
tag: z.string(),
|
|
10
|
-
branch: z.string()
|
|
11
|
-
});
|
|
12
|
-
//# sourceMappingURL=VersionTool.output.schema.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VersionTool.output.schema.js","sourceRoot":"","sources":["../../../../src/tools/version-tool/VersionTool.output.schema.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AAElC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,qEAAqE;AACrE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC"}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
diff --git a/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/mcp.js b/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/mcp.js
|
|
2
|
-
index e10bb3d..2e99bee 100644
|
|
3
|
-
--- a/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/mcp.js
|
|
4
|
-
+++ b/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/mcp.js
|
|
5
|
-
@@ -197,15 +197,20 @@ class McpServer {
|
|
6
|
-
return;
|
|
7
|
-
}
|
|
8
|
-
if (!result.structuredContent) {
|
|
9
|
-
- throw new types_js_1.McpError(types_js_1.ErrorCode.InvalidParams, `Output validation error: Tool ${toolName} has an output schema but no structured content was provided`);
|
|
10
|
-
+ // Log warning but don't throw - allow tools to omit structured content
|
|
11
|
-
+ console.warn(`[MCP SDK Patch] Output validation warning: Tool ${toolName} has an output schema but no structured content was provided`);
|
|
12
|
-
}
|
|
13
|
-
- // if the tool has an output schema, validate structured content
|
|
14
|
-
- const outputObj = (0, zod_compat_js_1.normalizeObjectSchema)(tool.outputSchema);
|
|
15
|
-
- const parseResult = await (0, zod_compat_js_1.safeParseAsync)(outputObj, result.structuredContent);
|
|
16
|
-
- if (!parseResult.success) {
|
|
17
|
-
- const error = 'error' in parseResult ? parseResult.error : 'Unknown error';
|
|
18
|
-
- const errorMessage = (0, zod_compat_js_1.getParseErrorMessage)(error);
|
|
19
|
-
- throw new types_js_1.McpError(types_js_1.ErrorCode.InvalidParams, `Output validation error: Invalid structured content for tool ${toolName}: ${errorMessage}`);
|
|
20
|
-
+ else {
|
|
21
|
-
+ // if the tool has an output schema, validate structured content
|
|
22
|
-
+ const outputObj = (0, zod_compat_js_1.normalizeObjectSchema)(tool.outputSchema);
|
|
23
|
-
+ const parseResult = await (0, zod_compat_js_1.safeParseAsync)(outputObj, result.structuredContent);
|
|
24
|
-
+ if (!parseResult.success) {
|
|
25
|
-
+ const error = 'error' in parseResult ? parseResult.error : 'Unknown error';
|
|
26
|
-
+ const errorMessage = (0, zod_compat_js_1.getParseErrorMessage)(error);
|
|
27
|
-
+ // Log warning but don't throw - allow schema mismatches
|
|
28
|
-
+ console.warn(`[MCP SDK Patch] Output validation warning: Invalid structured content for tool ${toolName}: ${errorMessage}`);
|
|
29
|
-
+ // Keep the structuredContent despite validation failure
|
|
30
|
-
+ }
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
diff --git a/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js b/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js
|
|
35
|
-
index 23639ce..7b8a325 100644
|
|
36
|
-
--- a/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js
|
|
37
|
-
+++ b/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js
|
|
38
|
-
@@ -194,15 +194,20 @@ export class McpServer {
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
if (!result.structuredContent) {
|
|
42
|
-
- throw new McpError(ErrorCode.InvalidParams, `Output validation error: Tool ${toolName} has an output schema but no structured content was provided`);
|
|
43
|
-
+ // Log warning but don't throw - allow tools to omit structured content
|
|
44
|
-
+ console.warn(`[MCP SDK Patch] Output validation warning: Tool ${toolName} has an output schema but no structured content was provided`);
|
|
45
|
-
}
|
|
46
|
-
- // if the tool has an output schema, validate structured content
|
|
47
|
-
- const outputObj = normalizeObjectSchema(tool.outputSchema);
|
|
48
|
-
- const parseResult = await safeParseAsync(outputObj, result.structuredContent);
|
|
49
|
-
- if (!parseResult.success) {
|
|
50
|
-
- const error = 'error' in parseResult ? parseResult.error : 'Unknown error';
|
|
51
|
-
- const errorMessage = getParseErrorMessage(error);
|
|
52
|
-
- throw new McpError(ErrorCode.InvalidParams, `Output validation error: Invalid structured content for tool ${toolName}: ${errorMessage}`);
|
|
53
|
-
+ else {
|
|
54
|
-
+ // if the tool has an output schema, validate structured content
|
|
55
|
-
+ const outputObj = normalizeObjectSchema(tool.outputSchema);
|
|
56
|
-
+ const parseResult = await safeParseAsync(outputObj, result.structuredContent);
|
|
57
|
-
+ if (!parseResult.success) {
|
|
58
|
-
+ const error = 'error' in parseResult ? parseResult.error : 'Unknown error';
|
|
59
|
-
+ const errorMessage = getParseErrorMessage(error);
|
|
60
|
-
+ // Log warning but don't throw - allow schema mismatches
|
|
61
|
-
+ console.warn(`[MCP SDK Patch] Output validation warning: Invalid structured content for tool ${toolName}: ${errorMessage}`);
|
|
62
|
-
+ // Keep the structuredContent despite validation failure
|
|
63
|
-
+ }
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
/**
|