@mapbox/mcp-server 0.2.1-dev.3 → 0.2.2
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 +85 -4
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/tools/directions-tool/DirectionsTool.d.ts +7 -32
- package/dist/tools/directions-tool/DirectionsTool.d.ts.map +1 -1
- package/dist/tools/directions-tool/DirectionsTool.js +41 -66
- package/dist/tools/directions-tool/DirectionsTool.js.map +1 -1
- package/dist/tools/directions-tool/DirectionsTool.test.js +208 -257
- package/dist/tools/directions-tool/DirectionsTool.test.js.map +1 -1
- package/dist/tools/directions-tool/cleanResponseData.d.ts +11 -0
- package/dist/tools/directions-tool/cleanResponseData.d.ts.map +1 -0
- package/dist/tools/directions-tool/cleanResponseData.js +175 -0
- package/dist/tools/directions-tool/cleanResponseData.js.map +1 -0
- package/dist/tools/directions-tool/cleanResponseData.test.d.ts +2 -0
- package/dist/tools/directions-tool/cleanResponseData.test.d.ts.map +1 -0
- package/dist/tools/directions-tool/cleanResponseData.test.js +295 -0
- package/dist/tools/directions-tool/cleanResponseData.test.js.map +1 -0
- package/dist/tools/directions-tool/formatIsoDateTime.d.ts +8 -0
- package/dist/tools/directions-tool/formatIsoDateTime.d.ts.map +1 -0
- package/dist/tools/directions-tool/formatIsoDateTime.js +17 -0
- package/dist/tools/directions-tool/formatIsoDateTime.js.map +1 -0
- package/dist/tools/directions-tool/formatIsoDateTime.test.d.ts +2 -0
- package/dist/tools/directions-tool/formatIsoDateTime.test.d.ts.map +1 -0
- package/dist/tools/directions-tool/formatIsoDateTime.test.js +26 -0
- package/dist/tools/directions-tool/formatIsoDateTime.test.js.map +1 -0
- package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.d.ts +3 -3
- package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.d.ts.map +1 -1
- package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.js +11 -6
- package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.js.map +1 -1
- package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.test.js +57 -1
- package/dist/tools/forward-geocode-tool/ForwardGeocodeTool.test.js.map +1 -1
- package/dist/tools/poi-search-tool/PoiSearchTool.d.ts +3 -0
- package/dist/tools/poi-search-tool/PoiSearchTool.d.ts.map +1 -1
- package/dist/tools/poi-search-tool/PoiSearchTool.js +13 -3
- package/dist/tools/poi-search-tool/PoiSearchTool.js.map +1 -1
- package/dist/tools/poi-search-tool/PoiSearchTool.test.js +56 -0
- package/dist/tools/poi-search-tool/PoiSearchTool.test.js.map +1 -1
- package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts +3 -0
- package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.d.ts.map +1 -1
- package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.js +13 -3
- package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.js.map +1 -1
- package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.test.js +58 -0
- package/dist/tools/reverse-geocode-tool/ReverseGeocodeTool.test.js.map +1 -1
- package/dist/tools/schema-validation.test.d.ts +2 -0
- package/dist/tools/schema-validation.test.d.ts.map +1 -0
- package/dist/tools/schema-validation.test.js +81 -0
- package/dist/tools/schema-validation.test.js.map +1 -0
- package/dist/tools/version-tool/VersionTool.d.ts +18 -0
- package/dist/tools/version-tool/VersionTool.d.ts.map +1 -0
- package/dist/tools/version-tool/VersionTool.js +50 -0
- package/dist/tools/version-tool/VersionTool.js.map +1 -0
- package/dist/tools/version-tool/VersionTool.test.d.ts +2 -0
- package/dist/tools/version-tool/VersionTool.test.d.ts.map +1 -0
- package/dist/tools/version-tool/VersionTool.test.js +49 -0
- package/dist/tools/version-tool/VersionTool.test.js.map +1 -0
- package/dist/utils/requestUtils.d.ts.map +1 -1
- package/dist/utils/requestUtils.js +33 -2
- package/dist/utils/requestUtils.js.map +1 -1
- package/dist/utils/requestUtils.test-helpers.d.ts.map +1 -1
- package/dist/utils/requestUtils.test-helpers.js +5 -1
- package/dist/utils/requestUtils.test-helpers.js.map +1 -1
- package/dist/utils/requestUtils.test.d.ts +2 -0
- package/dist/utils/requestUtils.test.d.ts.map +1 -0
- package/dist/utils/requestUtils.test.js +115 -0
- package/dist/utils/requestUtils.test.js.map +1 -0
- package/dist/utils/schemaUtils.d.ts +9 -0
- package/dist/utils/schemaUtils.d.ts.map +1 -0
- package/dist/utils/schemaUtils.js +25 -0
- package/dist/utils/schemaUtils.js.map +1 -0
- package/dist/utils/versionUtils.d.ts.map +1 -1
- package/dist/utils/versionUtils.js +21 -5
- package/dist/utils/versionUtils.js.map +1 -1
- package/dist/version.json +4 -4
- package/package.json +2 -2
|
@@ -48,11 +48,16 @@ const ReverseGeocodeInputSchema = z.object({
|
|
|
48
48
|
.enum(['us', 'cn', 'jp', 'in'])
|
|
49
49
|
.optional()
|
|
50
50
|
.default('us')
|
|
51
|
-
.describe('Returns features from a specific regional perspective')
|
|
51
|
+
.describe('Returns features from a specific regional perspective'),
|
|
52
|
+
format: z
|
|
53
|
+
.enum(['json_string', 'formatted_text'])
|
|
54
|
+
.optional()
|
|
55
|
+
.default('formatted_text')
|
|
56
|
+
.describe('Output format: "json_string" returns raw GeoJSON data as a JSON string that can be parsed; "formatted_text" returns human-readable text with place names, addresses, and coordinates. Both return as text content but json_string contains parseable JSON data while formatted_text is for display.')
|
|
52
57
|
});
|
|
53
58
|
export class ReverseGeocodeTool extends MapboxApiBasedTool {
|
|
54
59
|
name = 'ReverseGeocodeTool';
|
|
55
|
-
description = 'Find addresses, cities, towns, neighborhoods, postcodes, districts, regions, and countries around a specified geographic coordinate pair. Converts geographic coordinates (longitude, latitude) into human-readable addresses or place names. Use limit=1 for best results. This tool cannot reverse geocode businesses, landmarks, historic sites, and other points of interest that are not of the types mentioned.';
|
|
60
|
+
description = 'Find addresses, cities, towns, neighborhoods, postcodes, districts, regions, and countries around a specified geographic coordinate pair. Converts geographic coordinates (longitude, latitude) into human-readable addresses or place names. Use limit=1 for best results. This tool cannot reverse geocode businesses, landmarks, historic sites, and other points of interest that are not of the types mentioned. Supports both JSON and text output formats.';
|
|
56
61
|
constructor() {
|
|
57
62
|
super({ inputSchema: ReverseGeocodeInputSchema });
|
|
58
63
|
}
|
|
@@ -125,7 +130,12 @@ export class ReverseGeocodeTool extends MapboxApiBasedTool {
|
|
|
125
130
|
if (!data || !data.features || data.features.length === 0) {
|
|
126
131
|
return { type: 'text', text: 'No results found.' };
|
|
127
132
|
}
|
|
128
|
-
|
|
133
|
+
if (input.format === 'json_string') {
|
|
134
|
+
return { type: 'text', text: JSON.stringify(data, null, 2) };
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
return { type: 'text', text: this.formatGeoJsonToText(data) };
|
|
138
|
+
}
|
|
129
139
|
}
|
|
130
140
|
}
|
|
131
141
|
//# sourceMappingURL=ReverseGeocodeTool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReverseGeocodeTool.js","sourceRoot":"","sources":["../../../src/tools/reverse-geocode-tool/ReverseGeocodeTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,GAAG,CAAC;SACT,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,CAAC,yCAAyC,CAAC;IACtD,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,CAAC;SACR,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,CAAC,wCAAwC,CAAC;IACrD,SAAS,EAAE,CAAC;SACT,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,2CAA2C,CAAC;IACxD,OAAO,EAAE,CAAC;SACP,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAC3B,QAAQ,EAAE;SACV,QAAQ,CAAC,0DAA0D,CAAC;IACvE,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,yEAAyE,CAC1E;IACH,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,OAAO,CAAC,CAAC,CAAC;SACV,QAAQ,CACP,oJAAoJ,CACrJ;IACH,KAAK,EAAE,CAAC;SACL,KAAK,CACJ,CAAC,CAAC,IAAI,CAAC;QACL,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,OAAO;QACP,UAAU;QACV,cAAc;QACd,SAAS;KACV,CAAC,CACH;SACA,QAAQ,EAAE;SACV,QAAQ,CAAC,0CAA0C,CAAC;IACvD,SAAS,EAAE,CAAC;SACT,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SAC9B,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,uDAAuD,CAAC;
|
|
1
|
+
{"version":3,"file":"ReverseGeocodeTool.js","sourceRoot":"","sources":["../../../src/tools/reverse-geocode-tool/ReverseGeocodeTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -341,5 +341,63 @@ describe('ReverseGeocodeTool', () => {
|
|
|
341
341
|
expect(textContent).toContain('Coordinates: 35.456, -100.123');
|
|
342
342
|
expect(textContent).not.toContain('Address:');
|
|
343
343
|
});
|
|
344
|
+
it('returns JSON string format when requested', async () => {
|
|
345
|
+
const mockResponse = {
|
|
346
|
+
type: 'FeatureCollection',
|
|
347
|
+
features: [
|
|
348
|
+
{
|
|
349
|
+
type: 'Feature',
|
|
350
|
+
properties: {
|
|
351
|
+
name: 'Test Address',
|
|
352
|
+
full_address: '123 Test St, Test City, TC 12345'
|
|
353
|
+
},
|
|
354
|
+
geometry: {
|
|
355
|
+
type: 'Point',
|
|
356
|
+
coordinates: [-122.676, 45.515]
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
]
|
|
360
|
+
};
|
|
361
|
+
const mockFetch = setupFetch({
|
|
362
|
+
json: async () => mockResponse
|
|
363
|
+
});
|
|
364
|
+
const result = await new ReverseGeocodeTool().run({
|
|
365
|
+
longitude: -122.676,
|
|
366
|
+
latitude: 45.515,
|
|
367
|
+
format: 'json_string'
|
|
368
|
+
});
|
|
369
|
+
expect(result.is_error).toBe(false);
|
|
370
|
+
expect(result.content[0].type).toBe('text');
|
|
371
|
+
const jsonContent = result.content[0]
|
|
372
|
+
.text;
|
|
373
|
+
expect(JSON.parse(jsonContent)).toEqual(mockResponse);
|
|
374
|
+
});
|
|
375
|
+
it('defaults to formatted_text format when format not specified', async () => {
|
|
376
|
+
const mockResponse = {
|
|
377
|
+
type: 'FeatureCollection',
|
|
378
|
+
features: [
|
|
379
|
+
{
|
|
380
|
+
type: 'Feature',
|
|
381
|
+
properties: {
|
|
382
|
+
name: 'Test Location'
|
|
383
|
+
},
|
|
384
|
+
geometry: {
|
|
385
|
+
type: 'Point',
|
|
386
|
+
coordinates: [-122.676, 45.515]
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
]
|
|
390
|
+
};
|
|
391
|
+
const mockFetch = setupFetch({
|
|
392
|
+
json: async () => mockResponse
|
|
393
|
+
});
|
|
394
|
+
const result = await new ReverseGeocodeTool().run({
|
|
395
|
+
longitude: -122.676,
|
|
396
|
+
latitude: 45.515
|
|
397
|
+
});
|
|
398
|
+
expect(result.is_error).toBe(false);
|
|
399
|
+
expect(result.content[0].type).toBe('text');
|
|
400
|
+
expect(result.content[0].text).toContain('1. Test Location');
|
|
401
|
+
});
|
|
344
402
|
});
|
|
345
403
|
//# sourceMappingURL=ReverseGeocodeTool.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReverseGeocodeTool.test.js","sourceRoot":"","sources":["../../../src/tools/reverse-geocode-tool/ReverseGeocodeTool.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ReverseGeocodeTool.test.js","sourceRoot":"","sources":["../../../src/tools/reverse-geocode-tool/ReverseGeocodeTool.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-validation.test.d.ts","sourceRoot":"","sources":["../../src/tools/schema-validation.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { CategorySearchTool } from './category-search-tool/CategorySearchTool.js';
|
|
3
|
+
import { DirectionsTool } from './directions-tool/DirectionsTool.js';
|
|
4
|
+
import { ForwardGeocodeTool } from './forward-geocode-tool/ForwardGeocodeTool.js';
|
|
5
|
+
import { IsochroneTool } from './isochrone-tool/IsochroneTool.js';
|
|
6
|
+
import { MatrixTool } from './matrix-tool/MatrixTool.js';
|
|
7
|
+
import { PoiSearchTool } from './poi-search-tool/PoiSearchTool.js';
|
|
8
|
+
import { ReverseGeocodeTool } from './reverse-geocode-tool/ReverseGeocodeTool.js';
|
|
9
|
+
import { StaticMapImageTool } from './static-map-image-tool/StaticMapImageTool.js';
|
|
10
|
+
function detectTupleUsage(schema) {
|
|
11
|
+
const issues = [];
|
|
12
|
+
function traverse(node, path = '') {
|
|
13
|
+
// Check if this is specifically a ZodTuple
|
|
14
|
+
if (node instanceof z.ZodTuple) {
|
|
15
|
+
issues.push(`${path}: z.tuple() detected - this causes JSON schema generation issues`);
|
|
16
|
+
}
|
|
17
|
+
// Traverse nested schemas
|
|
18
|
+
if (node instanceof z.ZodArray) {
|
|
19
|
+
if (node._def.type) {
|
|
20
|
+
traverse(node._def.type, `${path}[item]`);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
else if (node instanceof z.ZodObject) {
|
|
24
|
+
const shape = node._def.shape();
|
|
25
|
+
for (const [key, value] of Object.entries(shape)) {
|
|
26
|
+
traverse(value, path ? `${path}.${key}` : key);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
else if (node instanceof z.ZodUnion) {
|
|
30
|
+
node._def.options.forEach((option, index) => {
|
|
31
|
+
traverse(option, `${path}[union_option_${index}]`);
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
else if (node instanceof z.ZodOptional) {
|
|
35
|
+
traverse(node._def.innerType, path);
|
|
36
|
+
}
|
|
37
|
+
else if (node instanceof z.ZodDefault) {
|
|
38
|
+
traverse(node._def.innerType, path);
|
|
39
|
+
}
|
|
40
|
+
else if (node instanceof z.ZodNullable) {
|
|
41
|
+
traverse(node._def.innerType, path);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
traverse(schema);
|
|
45
|
+
return issues;
|
|
46
|
+
}
|
|
47
|
+
describe('Schema Validation - No Tuples', () => {
|
|
48
|
+
// Dynamically get all tool schemas
|
|
49
|
+
const tools = [
|
|
50
|
+
new DirectionsTool(),
|
|
51
|
+
new CategorySearchTool(),
|
|
52
|
+
new ForwardGeocodeTool(),
|
|
53
|
+
new ReverseGeocodeTool(),
|
|
54
|
+
new PoiSearchTool(),
|
|
55
|
+
new MatrixTool(),
|
|
56
|
+
new IsochroneTool(),
|
|
57
|
+
new StaticMapImageTool()
|
|
58
|
+
];
|
|
59
|
+
const schemas = tools.map((tool) => ({
|
|
60
|
+
name: tool.constructor.name,
|
|
61
|
+
schema: tool.inputSchema
|
|
62
|
+
}));
|
|
63
|
+
test.each(schemas)('$name should not contain z.tuple() usage', ({ name, schema }) => {
|
|
64
|
+
const tupleIssues = detectTupleUsage(schema);
|
|
65
|
+
expect(tupleIssues).toEqual([]);
|
|
66
|
+
});
|
|
67
|
+
// Negative test to ensure detection works
|
|
68
|
+
test('should detect z.tuple() usage in test schemas', () => {
|
|
69
|
+
const schemaWithTuple = z.object({
|
|
70
|
+
coordinates: z.tuple([z.number(), z.number()]),
|
|
71
|
+
data: z.object({
|
|
72
|
+
nestedTuple: z.tuple([z.string(), z.boolean()])
|
|
73
|
+
})
|
|
74
|
+
});
|
|
75
|
+
const tupleIssues = detectTupleUsage(schemaWithTuple);
|
|
76
|
+
expect(tupleIssues).toHaveLength(2);
|
|
77
|
+
expect(tupleIssues[0]).toContain('coordinates: z.tuple() detected');
|
|
78
|
+
expect(tupleIssues[1]).toContain('data.nestedTuple: z.tuple() detected');
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
//# sourceMappingURL=schema-validation.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-validation.test.js","sourceRoot":"","sources":["../../src/tools/schema-validation.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
export declare class VersionTool {
|
|
4
|
+
readonly name = "version";
|
|
5
|
+
readonly description = "Get the current version information of the MCP server";
|
|
6
|
+
readonly inputSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
7
|
+
private server;
|
|
8
|
+
run(_rawInput: unknown): Promise<{
|
|
9
|
+
content: Array<{
|
|
10
|
+
type: 'text';
|
|
11
|
+
text: string;
|
|
12
|
+
}>;
|
|
13
|
+
is_error: boolean;
|
|
14
|
+
}>;
|
|
15
|
+
installTo(server: McpServer): RegisteredTool;
|
|
16
|
+
private log;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=VersionTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VersionTool.d.ts","sourceRoot":"","sources":["../../../src/tools/version-tool/VersionTool.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,cAAc,EACf,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,qBAAa,WAAW;IACtB,QAAQ,CAAC,IAAI,aAAa;IAC1B,QAAQ,CAAC,WAAW,2DACsC;IAC1D,QAAQ,CAAC,WAAW,iDAAe;IAEnC,OAAO,CAAC,MAAM,CAA0B;IAElC,GAAG,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC;QACrC,OAAO,EAAE,KAAK,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;SACd,CAAC,CAAC;QACH,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC;IAwCF,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,cAAc;IAU5C,OAAO,CAAC,GAAG;CAKZ"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { getVersionInfo } from '../../utils/versionUtils.js';
|
|
3
|
+
const InputSchema = z.object({});
|
|
4
|
+
export class VersionTool {
|
|
5
|
+
name = 'version';
|
|
6
|
+
description = 'Get the current version information of the MCP server';
|
|
7
|
+
inputSchema = InputSchema;
|
|
8
|
+
server = null;
|
|
9
|
+
async run(_rawInput) {
|
|
10
|
+
try {
|
|
11
|
+
const versionInfo = getVersionInfo();
|
|
12
|
+
const versionText = `MCP Server Version Information:
|
|
13
|
+
- Name: ${versionInfo.name}
|
|
14
|
+
- Version: ${versionInfo.version}
|
|
15
|
+
- SHA: ${versionInfo.sha}
|
|
16
|
+
- Tag: ${versionInfo.tag}
|
|
17
|
+
- Branch: ${versionInfo.branch}`;
|
|
18
|
+
return {
|
|
19
|
+
content: [{ type: 'text', text: versionText }],
|
|
20
|
+
is_error: false
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
25
|
+
this.log('error', `${this.name}: Error during execution: ${errorMessage}`);
|
|
26
|
+
const isVerboseErrors = process.env.VERBOSE_ERRORS === 'true';
|
|
27
|
+
return {
|
|
28
|
+
content: [
|
|
29
|
+
{
|
|
30
|
+
type: 'text',
|
|
31
|
+
text: isVerboseErrors
|
|
32
|
+
? errorMessage
|
|
33
|
+
: 'Internal error has occurred.'
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
is_error: true
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
installTo(server) {
|
|
41
|
+
this.server = server;
|
|
42
|
+
return server.tool(this.name, this.description, this.inputSchema.shape, this.run.bind(this));
|
|
43
|
+
}
|
|
44
|
+
log(level, data) {
|
|
45
|
+
if (this.server) {
|
|
46
|
+
this.server.server.sendLoggingMessage({ level, data });
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=VersionTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VersionTool.js","sourceRoot":"","sources":["../../../src/tools/version-tool/VersionTool.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAEjC,MAAM,OAAO,WAAW;IACb,IAAI,GAAG,SAAS,CAAC;IACjB,WAAW,GAClB,uDAAuD,CAAC;IACjD,WAAW,GAAG,WAAW,CAAC;IAE3B,MAAM,GAAqB,IAAI,CAAC;IAExC,KAAK,CAAC,GAAG,CAAC,SAAkB;QAO1B,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;YAErC,MAAM,WAAW,GAAG;UAChB,WAAW,CAAC,IAAI;aACb,WAAW,CAAC,OAAO;SACvB,WAAW,CAAC,GAAG;SACf,WAAW,CAAC,GAAG;YACZ,WAAW,CAAC,MAAM,EAAE,CAAC;YAE3B,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;gBAC9C,QAAQ,EAAE,KAAK;aAChB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAEzD,IAAI,CAAC,GAAG,CACN,OAAO,EACP,GAAG,IAAI,CAAC,IAAI,6BAA6B,YAAY,EAAE,CACxD,CAAC;YAEF,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM,CAAC;YAE9D,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,eAAe;4BACnB,CAAC,CAAC,YAAY;4BACd,CAAC,CAAC,8BAA8B;qBACnC;iBACF;gBACD,QAAQ,EAAE,IAAI;aACf,CAAC;QACJ,CAAC;IACH,CAAC;IAED,SAAS,CAAC,MAAiB;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,OAAO,MAAM,CAAC,IAAI,CAChB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,WAAW,CAAC,KAAK,EACtB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CACpB,CAAC;IACJ,CAAC;IAEO,GAAG,CAAC,KAA6C,EAAE,IAAS;QAClE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VersionTool.test.d.ts","sourceRoot":"","sources":["../../../src/tools/version-tool/VersionTool.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { getVersionInfo } from '../../utils/versionUtils.js';
|
|
2
|
+
import { VersionTool } from './VersionTool';
|
|
3
|
+
jest.mock('../../utils/versionUtils.js', () => ({
|
|
4
|
+
getVersionInfo: jest.fn(() => ({
|
|
5
|
+
name: 'Test MCP Server',
|
|
6
|
+
version: '1.0.0',
|
|
7
|
+
sha: 'abc123',
|
|
8
|
+
tag: 'v1.0.0',
|
|
9
|
+
branch: 'main'
|
|
10
|
+
}))
|
|
11
|
+
}));
|
|
12
|
+
const mockGetVersionInfo = getVersionInfo;
|
|
13
|
+
describe('VersionTool', () => {
|
|
14
|
+
let tool;
|
|
15
|
+
beforeEach(() => {
|
|
16
|
+
tool = new VersionTool();
|
|
17
|
+
});
|
|
18
|
+
describe('run', () => {
|
|
19
|
+
it('should return version information', async () => {
|
|
20
|
+
const result = await tool.run({});
|
|
21
|
+
expect(result.is_error).toBe(false);
|
|
22
|
+
expect(result.content).toHaveLength(1);
|
|
23
|
+
expect(result.content[0].type).toBe('text');
|
|
24
|
+
expect(result.content[0].text).toContain('Test MCP Server');
|
|
25
|
+
expect(result.content[0].text).toContain('1.0.0');
|
|
26
|
+
expect(result.content[0].text).toContain('abc123');
|
|
27
|
+
expect(result.content[0].text).toContain('v1.0.0');
|
|
28
|
+
expect(result.content[0].text).toContain('main');
|
|
29
|
+
});
|
|
30
|
+
it('should handle errors gracefully', async () => {
|
|
31
|
+
mockGetVersionInfo.mockImplementationOnce(() => {
|
|
32
|
+
throw new Error('Version info not available');
|
|
33
|
+
});
|
|
34
|
+
const result = await tool.run({});
|
|
35
|
+
expect(result.is_error).toBe(true);
|
|
36
|
+
expect(result.content).toHaveLength(1);
|
|
37
|
+
expect(result.content[0].type).toBe('text');
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
describe('properties', () => {
|
|
41
|
+
it('should have correct name', () => {
|
|
42
|
+
expect(tool.name).toBe('version');
|
|
43
|
+
});
|
|
44
|
+
it('should have correct description', () => {
|
|
45
|
+
expect(tool.description).toBe('Get the current version information of the MCP server');
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
//# sourceMappingURL=VersionTool.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VersionTool.test.js","sourceRoot":"","sources":["../../../src/tools/version-tool/VersionTool.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestUtils.d.ts","sourceRoot":"","sources":["../../src/utils/requestUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAQhD,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,WAAW,GAAG;IAC1D,YAAY,EAAE,MAAM,CAAC;CACtB,
|
|
1
|
+
{"version":3,"file":"requestUtils.d.ts","sourceRoot":"","sources":["../../src/utils/requestUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAQhD,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,WAAW,GAAG;IAC1D,YAAY,EAAE,MAAM,CAAC;CACtB,CA+DA;AAED,wBAAgB,OAAO,SAKtB"}
|
|
@@ -1,12 +1,34 @@
|
|
|
1
1
|
let isPatched = false;
|
|
2
2
|
let originalFetch;
|
|
3
3
|
export function patchGlobalFetch(versionInfo) {
|
|
4
|
-
originalFetch
|
|
4
|
+
// Initialize originalFetch if not already done
|
|
5
|
+
if (!originalFetch) {
|
|
6
|
+
if (typeof globalThis !== 'undefined' &&
|
|
7
|
+
typeof globalThis.fetch === 'function') {
|
|
8
|
+
originalFetch = globalThis.fetch;
|
|
9
|
+
}
|
|
10
|
+
else if (typeof global !== 'undefined' &&
|
|
11
|
+
typeof global.fetch === 'function') {
|
|
12
|
+
originalFetch = global.fetch;
|
|
13
|
+
}
|
|
14
|
+
else if (typeof fetch === 'function') {
|
|
15
|
+
originalFetch = fetch;
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
throw new Error('No fetch implementation available');
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
// In test environments, update originalFetch to current global.fetch if it was mocked
|
|
22
|
+
if (typeof global !== 'undefined' &&
|
|
23
|
+
typeof global.fetch === 'function' &&
|
|
24
|
+
typeof global.fetch.mockResolvedValue === 'function') {
|
|
25
|
+
originalFetch = global.fetch;
|
|
26
|
+
}
|
|
5
27
|
const headers = {
|
|
6
28
|
'User-Agent': `${versionInfo.name}/${versionInfo.version} (${versionInfo.branch}, ${versionInfo.tag}, ${versionInfo.sha})`
|
|
7
29
|
};
|
|
8
30
|
if (!isPatched) {
|
|
9
|
-
|
|
31
|
+
const patchedFetch = async function (input, init) {
|
|
10
32
|
const modifiedInit = {
|
|
11
33
|
...init,
|
|
12
34
|
headers: {
|
|
@@ -16,6 +38,15 @@ export function patchGlobalFetch(versionInfo) {
|
|
|
16
38
|
};
|
|
17
39
|
return originalFetch(input, modifiedInit);
|
|
18
40
|
};
|
|
41
|
+
// Patch fetch in the same way we detected it during initialization
|
|
42
|
+
if (typeof globalThis !== 'undefined' &&
|
|
43
|
+
typeof globalThis.fetch === 'function') {
|
|
44
|
+
globalThis.fetch = patchedFetch;
|
|
45
|
+
}
|
|
46
|
+
else if (typeof global !== 'undefined' &&
|
|
47
|
+
typeof global.fetch === 'function') {
|
|
48
|
+
global.fetch = patchedFetch;
|
|
49
|
+
}
|
|
19
50
|
isPatched = true;
|
|
20
51
|
}
|
|
21
52
|
return headers;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestUtils.js","sourceRoot":"","sources":["../../src/utils/requestUtils.ts"],"names":[],"mappings":"AAEA,IAAI,SAAS,GAAG,KAAK,CAAC;AACtB,IAAI,aAGkB,CAAC;AAEvB,MAAM,UAAU,gBAAgB,CAAC,WAAwB;IAGvD,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"requestUtils.js","sourceRoot":"","sources":["../../src/utils/requestUtils.ts"],"names":[],"mappings":"AAEA,IAAI,SAAS,GAAG,KAAK,CAAC;AACtB,IAAI,aAGkB,CAAC;AAEvB,MAAM,UAAU,gBAAgB,CAAC,WAAwB;IAGvD,+CAA+C;IAC/C,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,IACE,OAAO,UAAU,KAAK,WAAW;YACjC,OAAO,UAAU,CAAC,KAAK,KAAK,UAAU,EACtC,CAAC;YACD,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC;QACnC,CAAC;aAAM,IACL,OAAO,MAAM,KAAK,WAAW;YAC7B,OAAO,MAAM,CAAC,KAAK,KAAK,UAAU,EAClC,CAAC;YACD,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC;QAC/B,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YACvC,aAAa,GAAG,KAAK,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,sFAAsF;IACtF,IACE,OAAO,MAAM,KAAK,WAAW;QAC7B,OAAO,MAAM,CAAC,KAAK,KAAK,UAAU;QAClC,OAAQ,MAAM,CAAC,KAAa,CAAC,iBAAiB,KAAK,UAAU,EAC7D,CAAC;QACD,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC;IAC/B,CAAC;IAED,MAAM,OAAO,GAAG;QACd,YAAY,EAAE,GAAG,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,OAAO,KAAK,WAAW,CAAC,MAAM,KAAK,WAAW,CAAC,GAAG,KAAK,WAAW,CAAC,GAAG,GAAG;KAC3H,CAAC;IACF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,WACxB,KAA6B,EAC7B,IAAkB;YAElB,MAAM,YAAY,GAAgB;gBAChC,GAAG,IAAI;gBACP,OAAO,EAAE;oBACP,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;oBACxB,GAAG,OAAO;iBACX;aACF,CAAC;YACF,OAAO,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAC5C,CAAC,CAAC;QAEF,mEAAmE;QACnE,IACE,OAAO,UAAU,KAAK,WAAW;YACjC,OAAO,UAAU,CAAC,KAAK,KAAK,UAAU,EACtC,CAAC;YACA,UAAkB,CAAC,KAAK,GAAG,YAAY,CAAC;QAC3C,CAAC;aAAM,IACL,OAAO,MAAM,KAAK,WAAW;YAC7B,OAAO,MAAM,CAAC,KAAK,KAAK,UAAU,EAClC,CAAC;YACD,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC;QAC9B,CAAC;QACD,SAAS,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,OAAO;IACrB,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC;QAC7B,SAAS,GAAG,KAAK,CAAC;IACpB,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestUtils.test-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/requestUtils.test-helpers.ts"],"names":[],"mappings":"AAIA,wBAAgB,UAAU,CAAC,SAAS,CAAC,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"requestUtils.test-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/requestUtils.test-helpers.ts"],"names":[],"mappings":"AAIA,wBAAgB,UAAU,CAAC,SAAS,CAAC,EAAE,GAAG,4BAwBzC;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,QAKrD"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
import { patchGlobalFetch } from './requestUtils.js';
|
|
1
|
+
import { patchGlobalFetch, cleanup } from './requestUtils.js';
|
|
2
2
|
let defaultHeaders = {};
|
|
3
3
|
export function setupFetch(overrides) {
|
|
4
|
+
// Clean up any previous patch state, but don't restore original fetch yet
|
|
5
|
+
cleanup();
|
|
6
|
+
// Set up mock fetch AFTER cleanup
|
|
4
7
|
const mockFetch = (global.fetch = jest.fn());
|
|
8
|
+
// Now patch with the mock in place
|
|
5
9
|
defaultHeaders = patchGlobalFetch({
|
|
6
10
|
name: 'TestServer',
|
|
7
11
|
version: '1.0.0',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestUtils.test-helpers.js","sourceRoot":"","sources":["../../src/utils/requestUtils.test-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"requestUtils.test-helpers.js","sourceRoot":"","sources":["../../src/utils/requestUtils.test-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE9D,IAAI,cAAc,GAA2B,EAAE,CAAC;AAEhD,MAAM,UAAU,UAAU,CAAC,SAAe;IACxC,0EAA0E;IAC1E,OAAO,EAAE,CAAC;IAEV,kCAAkC;IAClC,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAE7C,mCAAmC;IACnC,cAAc,GAAG,gBAAgB,CAAC;QAChC,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,OAAO;QAChB,GAAG,EAAE,QAAQ;QACb,GAAG,EAAE,QAAQ;QACb,MAAM,EAAE,SAAS;KAClB,CAAC,CAAC;IACH,SAAS,CAAC,iBAAiB,CAAC;QAC1B,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACrC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC;QAC3C,GAAG,SAAS;KACb,CAAC,CAAC;IACH,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,SAAoB;IACpD,MAAM,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;AAC7D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requestUtils.test.d.ts","sourceRoot":"","sources":["../../src/utils/requestUtils.test.ts"],"names":[],"mappings":""}
|