@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
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { patchGlobalFetch, cleanup } from './requestUtils.js';
|
|
2
|
+
describe('requestUtils', () => {
|
|
3
|
+
let originalGlobalFetch;
|
|
4
|
+
beforeEach(() => {
|
|
5
|
+
// Save original fetch
|
|
6
|
+
originalGlobalFetch = global.fetch;
|
|
7
|
+
});
|
|
8
|
+
afterEach(() => {
|
|
9
|
+
// Restore original fetch
|
|
10
|
+
global.fetch = originalGlobalFetch;
|
|
11
|
+
cleanup();
|
|
12
|
+
});
|
|
13
|
+
describe('patchGlobalFetch', () => {
|
|
14
|
+
it('should handle case when global.fetch is undefined at module load time', () => {
|
|
15
|
+
// Simulate scenario where global.fetch doesn't exist initially
|
|
16
|
+
delete global.fetch;
|
|
17
|
+
delete globalThis.fetch;
|
|
18
|
+
// This should throw because no fetch is available
|
|
19
|
+
expect(() => {
|
|
20
|
+
patchGlobalFetch({
|
|
21
|
+
name: 'TestServer',
|
|
22
|
+
version: '1.0.0',
|
|
23
|
+
sha: 'abcdef',
|
|
24
|
+
tag: 'no-tag',
|
|
25
|
+
branch: 'default'
|
|
26
|
+
});
|
|
27
|
+
}).toThrow('No fetch implementation available');
|
|
28
|
+
});
|
|
29
|
+
it('should properly initialize originalFetch before patching', async () => {
|
|
30
|
+
// Mock fetch function
|
|
31
|
+
const mockFetch = jest.fn().mockResolvedValue({
|
|
32
|
+
ok: true,
|
|
33
|
+
status: 200,
|
|
34
|
+
json: async () => ({ success: true })
|
|
35
|
+
});
|
|
36
|
+
global.fetch = mockFetch;
|
|
37
|
+
// Patch global fetch
|
|
38
|
+
patchGlobalFetch({
|
|
39
|
+
name: 'TestServer',
|
|
40
|
+
version: '1.0.0',
|
|
41
|
+
sha: 'abcdef',
|
|
42
|
+
tag: 'no-tag',
|
|
43
|
+
branch: 'default'
|
|
44
|
+
});
|
|
45
|
+
// Make a fetch call
|
|
46
|
+
await global.fetch('https://example.com', {
|
|
47
|
+
headers: { 'Custom-Header': 'test' }
|
|
48
|
+
});
|
|
49
|
+
// Verify that the original fetch was called with User-Agent added
|
|
50
|
+
expect(mockFetch).toHaveBeenCalledWith('https://example.com', {
|
|
51
|
+
headers: {
|
|
52
|
+
'Custom-Header': 'test',
|
|
53
|
+
'User-Agent': 'TestServer/1.0.0 (default, no-tag, abcdef)'
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
it('should not throw originalFetch is not a function error', async () => {
|
|
58
|
+
// Mock a scenario where fetch might be called before proper initialization
|
|
59
|
+
const mockFetch = jest.fn().mockResolvedValue({
|
|
60
|
+
ok: true,
|
|
61
|
+
status: 200,
|
|
62
|
+
json: async () => ({ success: true })
|
|
63
|
+
});
|
|
64
|
+
global.fetch = mockFetch;
|
|
65
|
+
patchGlobalFetch({
|
|
66
|
+
name: 'TestServer',
|
|
67
|
+
version: '1.0.0',
|
|
68
|
+
sha: 'abcdef',
|
|
69
|
+
tag: 'no-tag',
|
|
70
|
+
branch: 'default'
|
|
71
|
+
});
|
|
72
|
+
// This should not throw "originalFetch is not a function"
|
|
73
|
+
await expect(global.fetch('https://example.com')).resolves.toBeDefined();
|
|
74
|
+
});
|
|
75
|
+
it('should handle multiple patch calls without breaking', () => {
|
|
76
|
+
const mockFetch = jest.fn();
|
|
77
|
+
global.fetch = mockFetch;
|
|
78
|
+
// First patch
|
|
79
|
+
patchGlobalFetch({
|
|
80
|
+
name: 'TestServer',
|
|
81
|
+
version: '1.0.0',
|
|
82
|
+
sha: 'abcdef',
|
|
83
|
+
tag: 'no-tag',
|
|
84
|
+
branch: 'default'
|
|
85
|
+
});
|
|
86
|
+
// Second patch (should not break)
|
|
87
|
+
patchGlobalFetch({
|
|
88
|
+
name: 'TestServer2',
|
|
89
|
+
version: '2.0.0',
|
|
90
|
+
sha: 'abcdef2',
|
|
91
|
+
tag: 'v2',
|
|
92
|
+
branch: 'main'
|
|
93
|
+
});
|
|
94
|
+
// Should still work
|
|
95
|
+
expect(typeof global.fetch).toBe('function');
|
|
96
|
+
});
|
|
97
|
+
it('should restore original fetch on cleanup', () => {
|
|
98
|
+
const mockFetch = jest.fn();
|
|
99
|
+
global.fetch = mockFetch;
|
|
100
|
+
patchGlobalFetch({
|
|
101
|
+
name: 'TestServer',
|
|
102
|
+
version: '1.0.0',
|
|
103
|
+
sha: 'abcdef',
|
|
104
|
+
tag: 'no-tag',
|
|
105
|
+
branch: 'default'
|
|
106
|
+
});
|
|
107
|
+
// Verify fetch was patched
|
|
108
|
+
expect(global.fetch).not.toBe(mockFetch);
|
|
109
|
+
// Cleanup should restore original
|
|
110
|
+
cleanup();
|
|
111
|
+
expect(global.fetch).toBe(mockFetch);
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
//# sourceMappingURL=requestUtils.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requestUtils.test.js","sourceRoot":"","sources":["../../src/utils/requestUtils.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ZodTypeAny } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Converts a Zod schema to a JSON Schema 2020-12 format
|
|
4
|
+
* This is required for MCP tools compatibility
|
|
5
|
+
* @param zodSchema The Zod schema to convert
|
|
6
|
+
* @returns JSON Schema compatible with draft 2020-12
|
|
7
|
+
*/
|
|
8
|
+
export declare function zodToMcpJsonSchema(zodSchema: ZodTypeAny): any;
|
|
9
|
+
//# sourceMappingURL=schemaUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemaUtils.d.ts","sourceRoot":"","sources":["../../src/utils/schemaUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAGjC;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,UAAU,GAAG,GAAG,CAoB7D"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { zodToJsonSchema } from 'zod-to-json-schema';
|
|
2
|
+
/**
|
|
3
|
+
* Converts a Zod schema to a JSON Schema 2020-12 format
|
|
4
|
+
* This is required for MCP tools compatibility
|
|
5
|
+
* @param zodSchema The Zod schema to convert
|
|
6
|
+
* @returns JSON Schema compatible with draft 2020-12
|
|
7
|
+
*/
|
|
8
|
+
export function zodToMcpJsonSchema(zodSchema) {
|
|
9
|
+
// Generate JSON Schema compatible with Claude (draft 2020-12)
|
|
10
|
+
const jsonSchema = zodToJsonSchema(zodSchema, {
|
|
11
|
+
target: 'jsonSchema2019-09', // Use closest available target to 2020-12
|
|
12
|
+
$refStrategy: 'none'
|
|
13
|
+
});
|
|
14
|
+
// Convert to 2020-12 format by updating the $schema field and converting definitions
|
|
15
|
+
const result = { ...jsonSchema };
|
|
16
|
+
// Update $schema to 2020-12
|
|
17
|
+
result['$schema'] = 'https://json-schema.org/draft/2020-12/schema#';
|
|
18
|
+
// Convert definitions to $defs for 2020-12 compatibility
|
|
19
|
+
if ('definitions' in result && typeof result['definitions'] === 'object') {
|
|
20
|
+
result['$defs'] = result['definitions'];
|
|
21
|
+
delete result['definitions'];
|
|
22
|
+
}
|
|
23
|
+
return result;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=schemaUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemaUtils.js","sourceRoot":"","sources":["../../src/utils/schemaUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAqB;IACtD,8DAA8D;IAC9D,MAAM,UAAU,GAAG,eAAe,CAAC,SAAS,EAAE;QAC5C,MAAM,EAAE,mBAAmB,EAAE,0CAA0C;QACvE,YAAY,EAAE,MAAM;KACrB,CAAC,CAAC;IAEH,qFAAqF;IACrF,MAAM,MAAM,GAAG,EAAE,GAAG,UAAU,EAA6B,CAAC;IAE5D,4BAA4B;IAC5B,MAAM,CAAC,SAAS,CAAC,GAAG,+CAA+C,CAAC;IAEpE,yDAAyD;IACzD,IAAI,aAAa,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,aAAa,CAAC,KAAK,QAAQ,EAAE,CAAC;QACzE,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;QACxC,OAAO,MAAM,CAAC,aAAa,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,MAA2B,CAAC;AACrC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versionUtils.d.ts","sourceRoot":"","sources":["../../src/utils/versionUtils.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,cAAc,IAAI,WAAW,
|
|
1
|
+
{"version":3,"file":"versionUtils.d.ts","sourceRoot":"","sources":["../../src/utils/versionUtils.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,cAAc,IAAI,WAAW,CAoC5C"}
|
|
@@ -5,11 +5,27 @@ export function getVersionInfo() {
|
|
|
5
5
|
const name = 'Mapbox MCP server';
|
|
6
6
|
try {
|
|
7
7
|
const dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
8
|
-
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
// Try to read from version.json first (for build artifacts)
|
|
9
|
+
const versionJsonPath = path.resolve(dirname, '..', 'version.json');
|
|
10
|
+
try {
|
|
11
|
+
const versionData = readFileSync(versionJsonPath, 'utf-8');
|
|
12
|
+
let info = JSON.parse(versionData);
|
|
13
|
+
info['name'] = name;
|
|
14
|
+
return info;
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
// Fall back to package.json
|
|
18
|
+
const packageJsonPath = path.resolve(dirname, '..', '..', 'package.json');
|
|
19
|
+
const packageData = readFileSync(packageJsonPath, 'utf-8');
|
|
20
|
+
const packageInfo = JSON.parse(packageData);
|
|
21
|
+
return {
|
|
22
|
+
name: name,
|
|
23
|
+
version: packageInfo.version || '0.0.0',
|
|
24
|
+
sha: 'unknown',
|
|
25
|
+
tag: 'unknown',
|
|
26
|
+
branch: 'unknown'
|
|
27
|
+
};
|
|
28
|
+
}
|
|
13
29
|
}
|
|
14
30
|
catch (error) {
|
|
15
31
|
console.warn(`Failed to read version info: ${error}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versionUtils.js","sourceRoot":"","sources":["../../src/utils/versionUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAUpC,MAAM,UAAU,cAAc;IAC5B,MAAM,IAAI,GAAG,mBAAmB,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"versionUtils.js","sourceRoot":"","sources":["../../src/utils/versionUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAUpC,MAAM,UAAU,cAAc;IAC5B,MAAM,IAAI,GAAG,mBAAmB,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAE7D,4DAA4D;QAC5D,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QACpE,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YAC3D,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAgB,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,4BAA4B;YAC5B,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;YAC1E,MAAM,WAAW,GAAG,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAE5C,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,WAAW,CAAC,OAAO,IAAI,OAAO;gBACvC,GAAG,EAAE,SAAS;gBACd,GAAG,EAAE,SAAS;gBACd,MAAM,EAAE,SAAS;aAClB,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,gCAAgC,KAAK,EAAE,CAAC,CAAC;QACtD,OAAO;YACL,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,OAAO;YAChB,GAAG,EAAE,SAAS;YACd,GAAG,EAAE,SAAS;YACd,MAAM,EAAE,SAAS;SAClB,CAAC;IACJ,CAAC;AACH,CAAC"}
|
package/dist/version.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"sha": "
|
|
3
|
-
"tag": "v0.2.1-
|
|
4
|
-
"branch": "
|
|
5
|
-
"version": "0.2.
|
|
2
|
+
"sha": "379b6827e8ee49822ac1001d1ea9af08e1c636f7",
|
|
3
|
+
"tag": "v0.2.1-1-g379b682",
|
|
4
|
+
"branch": "main",
|
|
5
|
+
"version": "0.2.2"
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mapbox/mcp-server",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "Mapbox MCP server.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index-esm.js",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"trailingComma": "none"
|
|
50
50
|
},
|
|
51
51
|
"engines": {
|
|
52
|
-
"node": ">=
|
|
52
|
+
"node": ">=22"
|
|
53
53
|
},
|
|
54
54
|
"files": [
|
|
55
55
|
"dist"
|