@mapbox/mcp-server 0.9.0 → 99.0.0-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.
Files changed (98) hide show
  1. package/README.md +5 -40
  2. package/dist/commonjs/resources/BaseResource.d.ts +1 -1
  3. package/dist/commonjs/resources/BaseResource.d.ts.map +1 -1
  4. package/dist/commonjs/resources/BaseResource.js +12 -2
  5. package/dist/commonjs/resources/BaseResource.js.map +1 -1
  6. package/dist/commonjs/resources/index.d.ts +4 -0
  7. package/dist/commonjs/resources/index.d.ts.map +1 -1
  8. package/dist/commonjs/resources/index.js +6 -1
  9. package/dist/commonjs/resources/index.js.map +1 -1
  10. package/dist/commonjs/resources/resourceRegistry.d.ts +2 -1
  11. package/dist/commonjs/resources/resourceRegistry.d.ts.map +1 -1
  12. package/dist/commonjs/resources/resourceRegistry.js +3 -1
  13. package/dist/commonjs/resources/resourceRegistry.js.map +1 -1
  14. package/dist/commonjs/resources/version/VersionResource.d.ts +16 -0
  15. package/dist/commonjs/resources/version/VersionResource.d.ts.map +1 -0
  16. package/dist/commonjs/resources/version/VersionResource.js +33 -0
  17. package/dist/commonjs/resources/version/VersionResource.js.map +1 -0
  18. package/dist/commonjs/tools/index.d.ts +1 -5
  19. package/dist/commonjs/tools/index.d.ts.map +1 -1
  20. package/dist/commonjs/tools/index.js +2 -6
  21. package/dist/commonjs/tools/index.js.map +1 -1
  22. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -1
  23. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.js +21 -1
  24. package/dist/commonjs/tools/isochrone-tool/IsochroneTool.js.map +1 -1
  25. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
  26. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js +7 -0
  27. package/dist/commonjs/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
  28. package/dist/commonjs/tools/toolRegistry.d.ts +2 -3
  29. package/dist/commonjs/tools/toolRegistry.d.ts.map +1 -1
  30. package/dist/commonjs/tools/toolRegistry.js +0 -2
  31. package/dist/commonjs/tools/toolRegistry.js.map +1 -1
  32. package/dist/commonjs/utils/index.d.ts +2 -0
  33. package/dist/commonjs/utils/index.d.ts.map +1 -1
  34. package/dist/commonjs/utils/index.js +4 -1
  35. package/dist/commonjs/utils/index.js.map +1 -1
  36. package/dist/commonjs/version.json +4 -4
  37. package/dist/esm/resources/BaseResource.d.ts +1 -1
  38. package/dist/esm/resources/BaseResource.d.ts.map +1 -1
  39. package/dist/esm/resources/BaseResource.js +12 -2
  40. package/dist/esm/resources/BaseResource.js.map +1 -1
  41. package/dist/esm/resources/index.d.ts +4 -0
  42. package/dist/esm/resources/index.d.ts.map +1 -1
  43. package/dist/esm/resources/index.js +4 -0
  44. package/dist/esm/resources/index.js.map +1 -1
  45. package/dist/esm/resources/resourceRegistry.d.ts +2 -1
  46. package/dist/esm/resources/resourceRegistry.d.ts.map +1 -1
  47. package/dist/esm/resources/resourceRegistry.js +3 -1
  48. package/dist/esm/resources/resourceRegistry.js.map +1 -1
  49. package/dist/esm/resources/version/VersionResource.d.ts +16 -0
  50. package/dist/esm/resources/version/VersionResource.d.ts.map +1 -0
  51. package/dist/esm/resources/version/VersionResource.js +29 -0
  52. package/dist/esm/resources/version/VersionResource.js.map +1 -0
  53. package/dist/esm/tools/index.d.ts +1 -5
  54. package/dist/esm/tools/index.d.ts.map +1 -1
  55. package/dist/esm/tools/index.js +1 -5
  56. package/dist/esm/tools/index.js.map +1 -1
  57. package/dist/esm/tools/isochrone-tool/IsochroneTool.d.ts.map +1 -1
  58. package/dist/esm/tools/isochrone-tool/IsochroneTool.js +21 -1
  59. package/dist/esm/tools/isochrone-tool/IsochroneTool.js.map +1 -1
  60. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.d.ts.map +1 -1
  61. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js +7 -0
  62. package/dist/esm/tools/static-map-image-tool/StaticMapImageTool.js.map +1 -1
  63. package/dist/esm/tools/toolRegistry.d.ts +2 -3
  64. package/dist/esm/tools/toolRegistry.d.ts.map +1 -1
  65. package/dist/esm/tools/toolRegistry.js +0 -2
  66. package/dist/esm/tools/toolRegistry.js.map +1 -1
  67. package/dist/esm/utils/index.d.ts +2 -0
  68. package/dist/esm/utils/index.d.ts.map +1 -1
  69. package/dist/esm/utils/index.js +2 -0
  70. package/dist/esm/utils/index.js.map +1 -1
  71. package/dist/esm/version.json +4 -4
  72. package/package.json +3 -3
  73. package/patches/@modelcontextprotocol+sdk+1.27.1.patch +33 -0
  74. package/dist/commonjs/tools/version-tool/VersionTool.d.ts +0 -18
  75. package/dist/commonjs/tools/version-tool/VersionTool.d.ts.map +0 -1
  76. package/dist/commonjs/tools/version-tool/VersionTool.input.schema.d.ts +0 -3
  77. package/dist/commonjs/tools/version-tool/VersionTool.input.schema.d.ts.map +0 -1
  78. package/dist/commonjs/tools/version-tool/VersionTool.input.schema.js +0 -8
  79. package/dist/commonjs/tools/version-tool/VersionTool.input.schema.js.map +0 -1
  80. package/dist/commonjs/tools/version-tool/VersionTool.js +0 -68
  81. package/dist/commonjs/tools/version-tool/VersionTool.js.map +0 -1
  82. package/dist/commonjs/tools/version-tool/VersionTool.output.schema.d.ts +0 -22
  83. package/dist/commonjs/tools/version-tool/VersionTool.output.schema.d.ts.map +0 -1
  84. package/dist/commonjs/tools/version-tool/VersionTool.output.schema.js +0 -15
  85. package/dist/commonjs/tools/version-tool/VersionTool.output.schema.js.map +0 -1
  86. package/dist/esm/tools/version-tool/VersionTool.d.ts +0 -18
  87. package/dist/esm/tools/version-tool/VersionTool.d.ts.map +0 -1
  88. package/dist/esm/tools/version-tool/VersionTool.input.schema.d.ts +0 -3
  89. package/dist/esm/tools/version-tool/VersionTool.input.schema.d.ts.map +0 -1
  90. package/dist/esm/tools/version-tool/VersionTool.input.schema.js +0 -5
  91. package/dist/esm/tools/version-tool/VersionTool.input.schema.js.map +0 -1
  92. package/dist/esm/tools/version-tool/VersionTool.js +0 -64
  93. package/dist/esm/tools/version-tool/VersionTool.js.map +0 -1
  94. package/dist/esm/tools/version-tool/VersionTool.output.schema.d.ts +0 -22
  95. package/dist/esm/tools/version-tool/VersionTool.output.schema.d.ts.map +0 -1
  96. package/dist/esm/tools/version-tool/VersionTool.output.schema.js +0 -12
  97. package/dist/esm/tools/version-tool/VersionTool.output.schema.js.map +0 -1
  98. 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,3 +0,0 @@
1
- import { z } from 'zod';
2
- export declare const VersionSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
3
- //# sourceMappingURL=VersionTool.input.schema.d.ts.map
@@ -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,3 +0,0 @@
1
- import { z } from 'zod';
2
- export declare const VersionSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
3
- //# sourceMappingURL=VersionTool.input.schema.d.ts.map
@@ -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,5 +0,0 @@
1
- // Copyright (c) Mapbox, Inc.
2
- // Licensed under the MIT License.
3
- import { z } from 'zod';
4
- export const VersionSchema = z.object({});
5
- //# 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,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
- /**