@mapbox/mcp-docs-server 0.2.1 → 0.3.1

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 (109) hide show
  1. package/dist/commonjs/index.js +3 -0
  2. package/dist/commonjs/index.js.map +1 -1
  3. package/dist/commonjs/resources/mapbox-api-reference-resource/MapboxApiReferenceResource.d.ts +6 -2
  4. package/dist/commonjs/resources/mapbox-api-reference-resource/MapboxApiReferenceResource.d.ts.map +1 -1
  5. package/dist/commonjs/resources/mapbox-api-reference-resource/MapboxApiReferenceResource.js +12 -23
  6. package/dist/commonjs/resources/mapbox-api-reference-resource/MapboxApiReferenceResource.js.map +1 -1
  7. package/dist/commonjs/resources/mapbox-examples-resource/MapboxExamplesResource.d.ts +4 -2
  8. package/dist/commonjs/resources/mapbox-examples-resource/MapboxExamplesResource.d.ts.map +1 -1
  9. package/dist/commonjs/resources/mapbox-examples-resource/MapboxExamplesResource.js +9 -18
  10. package/dist/commonjs/resources/mapbox-examples-resource/MapboxExamplesResource.js.map +1 -1
  11. package/dist/commonjs/resources/mapbox-guides-resource/MapboxGuidesResource.d.ts +5 -2
  12. package/dist/commonjs/resources/mapbox-guides-resource/MapboxGuidesResource.d.ts.map +1 -1
  13. package/dist/commonjs/resources/mapbox-guides-resource/MapboxGuidesResource.js +10 -23
  14. package/dist/commonjs/resources/mapbox-guides-resource/MapboxGuidesResource.js.map +1 -1
  15. package/dist/commonjs/resources/mapbox-reference-resource/MapboxReferenceResource.d.ts +6 -2
  16. package/dist/commonjs/resources/mapbox-reference-resource/MapboxReferenceResource.d.ts.map +1 -1
  17. package/dist/commonjs/resources/mapbox-reference-resource/MapboxReferenceResource.js +13 -23
  18. package/dist/commonjs/resources/mapbox-reference-resource/MapboxReferenceResource.js.map +1 -1
  19. package/dist/commonjs/resources/mapbox-sdk-docs-resource/MapboxSdkDocsResource.d.ts +6 -2
  20. package/dist/commonjs/resources/mapbox-sdk-docs-resource/MapboxSdkDocsResource.d.ts.map +1 -1
  21. package/dist/commonjs/resources/mapbox-sdk-docs-resource/MapboxSdkDocsResource.js +13 -23
  22. package/dist/commonjs/resources/mapbox-sdk-docs-resource/MapboxSdkDocsResource.js.map +1 -1
  23. package/dist/commonjs/tools/BaseTool.d.ts.map +1 -1
  24. package/dist/commonjs/tools/BaseTool.js +18 -10
  25. package/dist/commonjs/tools/BaseTool.js.map +1 -1
  26. package/dist/commonjs/tools/batch-get-documents-tool/BatchGetDocumentsTool.d.ts.map +1 -1
  27. package/dist/commonjs/tools/batch-get-documents-tool/BatchGetDocumentsTool.js +31 -2
  28. package/dist/commonjs/tools/batch-get-documents-tool/BatchGetDocumentsTool.js.map +1 -1
  29. package/dist/commonjs/tools/get-document-tool/GetDocumentTool.d.ts.map +1 -1
  30. package/dist/commonjs/tools/get-document-tool/GetDocumentTool.js +30 -2
  31. package/dist/commonjs/tools/get-document-tool/GetDocumentTool.js.map +1 -1
  32. package/dist/commonjs/tools/search-docs-tool/SearchDocsTool.d.ts.map +1 -1
  33. package/dist/commonjs/tools/search-docs-tool/SearchDocsTool.js +22 -62
  34. package/dist/commonjs/tools/search-docs-tool/SearchDocsTool.js.map +1 -1
  35. package/dist/commonjs/utils/docCache.d.ts.map +1 -1
  36. package/dist/commonjs/utils/docCache.js +7 -2
  37. package/dist/commonjs/utils/docCache.js.map +1 -1
  38. package/dist/commonjs/utils/docFetcher.d.ts +10 -1
  39. package/dist/commonjs/utils/docFetcher.d.ts.map +1 -1
  40. package/dist/commonjs/utils/docFetcher.js +29 -4
  41. package/dist/commonjs/utils/docFetcher.js.map +1 -1
  42. package/dist/commonjs/utils/docsSearchIndex.d.ts +25 -0
  43. package/dist/commonjs/utils/docsSearchIndex.d.ts.map +1 -0
  44. package/dist/commonjs/utils/docsSearchIndex.js +146 -0
  45. package/dist/commonjs/utils/docsSearchIndex.js.map +1 -0
  46. package/dist/commonjs/utils/index.d.ts +1 -0
  47. package/dist/commonjs/utils/index.d.ts.map +1 -1
  48. package/dist/commonjs/utils/index.js +7 -1
  49. package/dist/commonjs/utils/index.js.map +1 -1
  50. package/dist/commonjs/utils/tracing.d.ts +18 -0
  51. package/dist/commonjs/utils/tracing.d.ts.map +1 -0
  52. package/dist/commonjs/utils/tracing.js +142 -0
  53. package/dist/commonjs/utils/tracing.js.map +1 -0
  54. package/dist/commonjs/version.json +3 -3
  55. package/dist/esm/index.js +3 -0
  56. package/dist/esm/index.js.map +1 -1
  57. package/dist/esm/resources/mapbox-api-reference-resource/MapboxApiReferenceResource.d.ts +6 -2
  58. package/dist/esm/resources/mapbox-api-reference-resource/MapboxApiReferenceResource.d.ts.map +1 -1
  59. package/dist/esm/resources/mapbox-api-reference-resource/MapboxApiReferenceResource.js +12 -23
  60. package/dist/esm/resources/mapbox-api-reference-resource/MapboxApiReferenceResource.js.map +1 -1
  61. package/dist/esm/resources/mapbox-examples-resource/MapboxExamplesResource.d.ts +4 -2
  62. package/dist/esm/resources/mapbox-examples-resource/MapboxExamplesResource.d.ts.map +1 -1
  63. package/dist/esm/resources/mapbox-examples-resource/MapboxExamplesResource.js +9 -18
  64. package/dist/esm/resources/mapbox-examples-resource/MapboxExamplesResource.js.map +1 -1
  65. package/dist/esm/resources/mapbox-guides-resource/MapboxGuidesResource.d.ts +5 -2
  66. package/dist/esm/resources/mapbox-guides-resource/MapboxGuidesResource.d.ts.map +1 -1
  67. package/dist/esm/resources/mapbox-guides-resource/MapboxGuidesResource.js +10 -23
  68. package/dist/esm/resources/mapbox-guides-resource/MapboxGuidesResource.js.map +1 -1
  69. package/dist/esm/resources/mapbox-reference-resource/MapboxReferenceResource.d.ts +6 -2
  70. package/dist/esm/resources/mapbox-reference-resource/MapboxReferenceResource.d.ts.map +1 -1
  71. package/dist/esm/resources/mapbox-reference-resource/MapboxReferenceResource.js +13 -23
  72. package/dist/esm/resources/mapbox-reference-resource/MapboxReferenceResource.js.map +1 -1
  73. package/dist/esm/resources/mapbox-sdk-docs-resource/MapboxSdkDocsResource.d.ts +6 -2
  74. package/dist/esm/resources/mapbox-sdk-docs-resource/MapboxSdkDocsResource.d.ts.map +1 -1
  75. package/dist/esm/resources/mapbox-sdk-docs-resource/MapboxSdkDocsResource.js +13 -23
  76. package/dist/esm/resources/mapbox-sdk-docs-resource/MapboxSdkDocsResource.js.map +1 -1
  77. package/dist/esm/tools/BaseTool.d.ts.map +1 -1
  78. package/dist/esm/tools/BaseTool.js +18 -10
  79. package/dist/esm/tools/BaseTool.js.map +1 -1
  80. package/dist/esm/tools/batch-get-documents-tool/BatchGetDocumentsTool.d.ts.map +1 -1
  81. package/dist/esm/tools/batch-get-documents-tool/BatchGetDocumentsTool.js +31 -2
  82. package/dist/esm/tools/batch-get-documents-tool/BatchGetDocumentsTool.js.map +1 -1
  83. package/dist/esm/tools/get-document-tool/GetDocumentTool.d.ts.map +1 -1
  84. package/dist/esm/tools/get-document-tool/GetDocumentTool.js +30 -2
  85. package/dist/esm/tools/get-document-tool/GetDocumentTool.js.map +1 -1
  86. package/dist/esm/tools/search-docs-tool/SearchDocsTool.d.ts.map +1 -1
  87. package/dist/esm/tools/search-docs-tool/SearchDocsTool.js +22 -62
  88. package/dist/esm/tools/search-docs-tool/SearchDocsTool.js.map +1 -1
  89. package/dist/esm/utils/docCache.d.ts.map +1 -1
  90. package/dist/esm/utils/docCache.js +7 -2
  91. package/dist/esm/utils/docCache.js.map +1 -1
  92. package/dist/esm/utils/docFetcher.d.ts +10 -1
  93. package/dist/esm/utils/docFetcher.d.ts.map +1 -1
  94. package/dist/esm/utils/docFetcher.js +29 -5
  95. package/dist/esm/utils/docFetcher.js.map +1 -1
  96. package/dist/esm/utils/docsSearchIndex.d.ts +25 -0
  97. package/dist/esm/utils/docsSearchIndex.d.ts.map +1 -0
  98. package/dist/esm/utils/docsSearchIndex.js +142 -0
  99. package/dist/esm/utils/docsSearchIndex.js.map +1 -0
  100. package/dist/esm/utils/index.d.ts +1 -0
  101. package/dist/esm/utils/index.d.ts.map +1 -1
  102. package/dist/esm/utils/index.js +1 -0
  103. package/dist/esm/utils/index.js.map +1 -1
  104. package/dist/esm/utils/tracing.d.ts +18 -0
  105. package/dist/esm/utils/tracing.d.ts.map +1 -0
  106. package/dist/esm/utils/tracing.js +135 -0
  107. package/dist/esm/utils/tracing.js.map +1 -0
  108. package/dist/esm/version.json +3 -3
  109. package/package.json +16 -9
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,SAAS,EACT,YAAY,EACb,MAAM,cAAc,CAAC"}
@@ -2,11 +2,17 @@
2
2
  // Copyright (c) Mapbox, Inc.
3
3
  // Licensed under the MIT License.
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.getVersionInfo = exports.UserAgentPolicy = exports.httpRequest = exports.systemHttpPipeline = void 0;
5
+ exports.withToolSpan = exports.getTracer = exports.isTracingInitialized = exports.shutdownTracing = exports.initializeTracing = exports.getVersionInfo = exports.UserAgentPolicy = exports.httpRequest = exports.systemHttpPipeline = void 0;
6
6
  var httpPipeline_js_1 = require("./httpPipeline.js");
7
7
  Object.defineProperty(exports, "systemHttpPipeline", { enumerable: true, get: function () { return httpPipeline_js_1.systemHttpPipeline; } });
8
8
  Object.defineProperty(exports, "httpRequest", { enumerable: true, get: function () { return httpPipeline_js_1.httpRequest; } });
9
9
  Object.defineProperty(exports, "UserAgentPolicy", { enumerable: true, get: function () { return httpPipeline_js_1.UserAgentPolicy; } });
10
10
  var versionUtils_js_1 = require("./versionUtils.js");
11
11
  Object.defineProperty(exports, "getVersionInfo", { enumerable: true, get: function () { return versionUtils_js_1.getVersionInfo; } });
12
+ var tracing_js_1 = require("./tracing.js");
13
+ Object.defineProperty(exports, "initializeTracing", { enumerable: true, get: function () { return tracing_js_1.initializeTracing; } });
14
+ Object.defineProperty(exports, "shutdownTracing", { enumerable: true, get: function () { return tracing_js_1.shutdownTracing; } });
15
+ Object.defineProperty(exports, "isTracingInitialized", { enumerable: true, get: function () { return tracing_js_1.isTracingInitialized; } });
16
+ Object.defineProperty(exports, "getTracer", { enumerable: true, get: function () { return tracing_js_1.getTracer; } });
17
+ Object.defineProperty(exports, "withToolSpan", { enumerable: true, get: function () { return tracing_js_1.withToolSpan; } });
12
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAElC,qDAI2B;AAHzB,qHAAA,kBAAkB,OAAA;AAClB,8GAAA,WAAW,OAAA;AACX,kHAAA,eAAe,OAAA;AAEjB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,kCAAkC;;;AAElC,qDAI2B;AAHzB,qHAAA,kBAAkB,OAAA;AAClB,8GAAA,WAAW,OAAA;AACX,kHAAA,eAAe,OAAA;AAEjB,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AAEvB,2CAMsB;AALpB,+GAAA,iBAAiB,OAAA;AACjB,6GAAA,eAAe,OAAA;AACf,kHAAA,oBAAoB,OAAA;AACpB,uGAAA,SAAS,OAAA;AACT,0GAAA,YAAY,OAAA"}
@@ -0,0 +1,18 @@
1
+ import { type Span } from '@opentelemetry/api';
2
+ /**
3
+ * Initialize OpenTelemetry tracing. Call once at application startup.
4
+ * No-ops in test environments or when OTEL_TRACING_ENABLED=false.
5
+ */
6
+ export declare function initializeTracing(): Promise<void>;
7
+ /**
8
+ * Shutdown tracing gracefully. Call on process exit.
9
+ */
10
+ export declare function shutdownTracing(): Promise<void>;
11
+ export declare function isTracingInitialized(): boolean;
12
+ export declare function getTracer(): import("@opentelemetry/api").Tracer;
13
+ /**
14
+ * Create a span for tool execution and run the callback within its context.
15
+ * Automatically marks the span success or error and ends it.
16
+ */
17
+ export declare function withToolSpan<T>(toolName: string, fn: (span: Span) => Promise<T>): Promise<T>;
18
+ //# sourceMappingURL=tracing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../../src/utils/tracing.ts"],"names":[],"mappings":"AAWA,OAAO,EAKL,KAAK,IAAI,EAGV,MAAM,oBAAoB,CAAC;AA+B5B;;;GAGG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAgEvD;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAMrD;AAED,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C;AAED,wBAAgB,SAAS,wCAExB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAClC,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,GAC7B,OAAO,CAAC,CAAC,CAAC,CA0BZ"}
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ // Copyright (c) Mapbox, Inc.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.initializeTracing = initializeTracing;
6
+ exports.shutdownTracing = shutdownTracing;
7
+ exports.isTracingInitialized = isTracingInitialized;
8
+ exports.getTracer = getTracer;
9
+ exports.withToolSpan = withToolSpan;
10
+ const sdk_node_1 = require("@opentelemetry/sdk-node");
11
+ const auto_instrumentations_node_1 = require("@opentelemetry/auto-instrumentations-node");
12
+ const resources_1 = require("@opentelemetry/resources");
13
+ const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
14
+ const exporter_trace_otlp_http_1 = require("@opentelemetry/exporter-trace-otlp-http");
15
+ const api_1 = require("@opentelemetry/api");
16
+ const incubating_1 = require("@opentelemetry/semantic-conventions/incubating");
17
+ const versionUtils_js_1 = require("./versionUtils.js");
18
+ // Suppress OpenTelemetry diagnostic logging IMMEDIATELY to avoid polluting stdio.
19
+ // This must happen at module load time, before any OTEL operations.
20
+ // Use OTEL_LOG_LEVEL env var to override if needed for debugging.
21
+ const configureOtelDiagnostics = () => {
22
+ const logLevel = process.env.OTEL_LOG_LEVEL
23
+ ? api_1.DiagLogLevel[process.env.OTEL_LOG_LEVEL.toUpperCase()]
24
+ : api_1.DiagLogLevel.NONE;
25
+ api_1.diag.setLogger({
26
+ verbose: () => { },
27
+ debug: () => { },
28
+ info: () => { },
29
+ warn: () => { },
30
+ error: () => { }
31
+ }, logLevel);
32
+ };
33
+ configureOtelDiagnostics();
34
+ let sdk = null;
35
+ let isTracingEnabled = false;
36
+ /**
37
+ * Initialize OpenTelemetry tracing. Call once at application startup.
38
+ * No-ops in test environments or when OTEL_TRACING_ENABLED=false.
39
+ */
40
+ async function initializeTracing() {
41
+ if (sdk || process.env.NODE_ENV === 'test' || process.env.VITEST) {
42
+ return;
43
+ }
44
+ if (process.env.OTEL_TRACING_ENABLED === 'false') {
45
+ return;
46
+ }
47
+ const versionInfo = (0, versionUtils_js_1.getVersionInfo)();
48
+ try {
49
+ const resource = (0, resources_1.resourceFromAttributes)({
50
+ [semantic_conventions_1.ATTR_SERVICE_NAME]: process.env.OTEL_SERVICE_NAME || versionInfo.name,
51
+ [semantic_conventions_1.ATTR_SERVICE_VERSION]: versionInfo.version,
52
+ [incubating_1.ATTR_SERVICE_INSTANCE_ID]: process.env.HOSTNAME || 'unknown',
53
+ 'service.git.sha': versionInfo.sha,
54
+ 'service.git.branch': versionInfo.branch,
55
+ 'service.git.tag': versionInfo.tag
56
+ });
57
+ const exporters = [];
58
+ if (process.env.OTEL_EXPORTER_CONSOLE_ENABLED === 'true') {
59
+ const { ConsoleSpanExporter } = await import('@opentelemetry/sdk-trace-base');
60
+ exporters.push(new ConsoleSpanExporter());
61
+ }
62
+ const otlpEndpoint = process.env.OTEL_EXPORTER_OTLP_ENDPOINT;
63
+ if (otlpEndpoint) {
64
+ exporters.push(new exporter_trace_otlp_http_1.OTLPTraceExporter({
65
+ url: `${otlpEndpoint}/v1/traces`,
66
+ headers: process.env.OTEL_EXPORTER_OTLP_HEADERS
67
+ ? JSON.parse(process.env.OTEL_EXPORTER_OTLP_HEADERS)
68
+ : {}
69
+ }));
70
+ }
71
+ if (exporters.length === 0) {
72
+ return;
73
+ }
74
+ sdk = new sdk_node_1.NodeSDK({
75
+ resource,
76
+ traceExporter: exporters[0],
77
+ instrumentations: [
78
+ (0, auto_instrumentations_node_1.getNodeAutoInstrumentations)({
79
+ '@opentelemetry/instrumentation-fs': { enabled: false },
80
+ '@opentelemetry/instrumentation-dns': { enabled: false },
81
+ '@opentelemetry/instrumentation-http': { enabled: true },
82
+ '@opentelemetry/instrumentation-undici': { enabled: true }
83
+ })
84
+ ]
85
+ });
86
+ sdk.start();
87
+ isTracingEnabled = true;
88
+ }
89
+ catch {
90
+ // Silently handle initialization errors to avoid breaking MCP stdio
91
+ isTracingEnabled = false;
92
+ }
93
+ }
94
+ /**
95
+ * Shutdown tracing gracefully. Call on process exit.
96
+ */
97
+ async function shutdownTracing() {
98
+ if (sdk) {
99
+ await sdk.shutdown();
100
+ sdk = null;
101
+ isTracingEnabled = false;
102
+ }
103
+ }
104
+ function isTracingInitialized() {
105
+ return isTracingEnabled;
106
+ }
107
+ function getTracer() {
108
+ return api_1.trace.getTracer('mapbox-mcp-docs-server');
109
+ }
110
+ /**
111
+ * Create a span for tool execution and run the callback within its context.
112
+ * Automatically marks the span success or error and ends it.
113
+ */
114
+ async function withToolSpan(toolName, fn) {
115
+ const tracer = getTracer();
116
+ const span = tracer.startSpan(`tool.${toolName}`, {
117
+ kind: api_1.SpanKind.INTERNAL,
118
+ attributes: {
119
+ 'tool.name': toolName,
120
+ 'operation.type': 'tool_execution'
121
+ }
122
+ });
123
+ return api_1.context.with(api_1.trace.setSpan(api_1.context.active(), span), async () => {
124
+ try {
125
+ const result = await fn(span);
126
+ span.setStatus({ code: api_1.SpanStatusCode.OK });
127
+ return result;
128
+ }
129
+ catch (error) {
130
+ const message = error instanceof Error ? error.message : String(error);
131
+ if (error instanceof Error) {
132
+ span.recordException(error);
133
+ }
134
+ span.setStatus({ code: api_1.SpanStatusCode.ERROR, message });
135
+ throw error;
136
+ }
137
+ finally {
138
+ span.end();
139
+ }
140
+ });
141
+ }
142
+ //# sourceMappingURL=tracing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../../src/utils/tracing.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
- "sha": "8e335ea0e22638f334fabd55d5465b4ef04598de",
3
- "tag": "v0.2.0-6-g8e335ea",
2
+ "sha": "20c45c2a9f24ce2bb1df9dee894d9182dfc71f42",
3
+ "tag": "v0.3.0-8-g20c45c2",
4
4
  "branch": "HEAD",
5
- "version": "0.2.1"
5
+ "version": "0.3.1"
6
6
  }
package/dist/esm/index.js CHANGED
@@ -7,6 +7,7 @@ import { parseToolConfigFromArgs, filterTools } from './config/toolConfig.js';
7
7
  import { getCoreTools } from './tools/toolRegistry.js';
8
8
  import { getAllResources } from './resources/resourceRegistry.js';
9
9
  import { getVersionInfo } from './utils/versionUtils.js';
10
+ import { initializeTracing, shutdownTracing } from './utils/tracing.js';
10
11
  // Parse configuration from command-line arguments
11
12
  const config = parseToolConfigFromArgs();
12
13
  // Get and filter tools based on configuration
@@ -33,6 +34,7 @@ resources.forEach((resource) => {
33
34
  resource.installTo(server);
34
35
  });
35
36
  async function main() {
37
+ await initializeTracing();
36
38
  const transport = new StdioServerTransport();
37
39
  await server.connect(transport);
38
40
  server.server.sendLoggingMessage({
@@ -50,6 +52,7 @@ async function shutdown() {
50
52
  catch {
51
53
  // Ignore logging errors during shutdown
52
54
  }
55
+ await shutdownTracing();
53
56
  process.exit(0);
54
57
  }
55
58
  function exitWithError(error, code = 1) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -3,12 +3,16 @@ import type { ReadResourceResult, ServerNotification, ServerRequest } from '@mod
3
3
  import type { HttpRequest } from '../../utils/types.js';
4
4
  import { BaseResource } from '../BaseResource.js';
5
5
  /**
6
- * Resource providing Mapbox API reference documentation
6
+ * Resource providing Mapbox API reference documentation.
7
+ * Fetches the aggregated API reference index from docs.mapbox.com/api/llms.txt,
8
+ * which lists all Mapbox REST API endpoints grouped by service category
9
+ * (Maps, Navigation, Search, Accounts, etc.) with direct links to each
10
+ * API reference page.
7
11
  */
8
12
  export declare class MapboxApiReferenceResource extends BaseResource {
9
13
  readonly name = "Mapbox API Reference";
10
14
  readonly uri = "resource://mapbox-api-reference";
11
- readonly description = "Mapbox REST API reference documentation including endpoints, parameters, rate limits, and authentication for all Mapbox APIs (Geocoding, Directions, Static Images, Tilequery, etc.)";
15
+ readonly description: string;
12
16
  readonly mimeType = "text/markdown";
13
17
  private httpRequest;
14
18
  constructor(params: {
@@ -1 +1 @@
1
- {"version":3,"file":"MapboxApiReferenceResource.d.ts","sourceRoot":"","sources":["../../../../src/resources/mapbox-api-reference-resource/MapboxApiReferenceResource.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACd,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOlD;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,YAAY;IAC1D,QAAQ,CAAC,IAAI,0BAA0B;IACvC,QAAQ,CAAC,GAAG,qCAAqC;IACjD,QAAQ,CAAC,WAAW,0LACqK;IACzL,QAAQ,CAAC,QAAQ,mBAAmB;IAEpC,OAAO,CAAC,WAAW,CAAc;gBAErB,MAAM,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;IAKnC,YAAY,CACvB,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAC7D,OAAO,CAAC,kBAAkB,CAAC;CA2C/B"}
1
+ {"version":3,"file":"MapboxApiReferenceResource.d.ts","sourceRoot":"","sources":["../../../../src/resources/mapbox-api-reference-resource/MapboxApiReferenceResource.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACd,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD;;;;;;GAMG;AACH,qBAAa,0BAA2B,SAAQ,YAAY;IAC1D,QAAQ,CAAC,IAAI,0BAA0B;IACvC,QAAQ,CAAC,GAAG,qCAAqC;IACjD,QAAQ,CAAC,WAAW,SAIkE;IACtF,QAAQ,CAAC,QAAQ,mBAAmB;IAEpC,OAAO,CAAC,WAAW,CAAc;gBAErB,MAAM,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;IAKnC,YAAY,CACvB,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAC7D,OAAO,CAAC,kBAAkB,CAAC;CAwB/B"}
@@ -1,15 +1,21 @@
1
1
  // Copyright (c) Mapbox, Inc.
2
2
  // Licensed under the MIT License.
3
- import { docCache } from '../../utils/docCache.js';
4
3
  import { BaseResource } from '../BaseResource.js';
5
- import { parseDocSections, filterSectionsByCategory, sectionsToMarkdown } from '../utils/docParser.js';
4
+ import { fetchCachedText } from '../../utils/docFetcher.js';
6
5
  /**
7
- * Resource providing Mapbox API reference documentation
6
+ * Resource providing Mapbox API reference documentation.
7
+ * Fetches the aggregated API reference index from docs.mapbox.com/api/llms.txt,
8
+ * which lists all Mapbox REST API endpoints grouped by service category
9
+ * (Maps, Navigation, Search, Accounts, etc.) with direct links to each
10
+ * API reference page.
8
11
  */
9
12
  export class MapboxApiReferenceResource extends BaseResource {
10
13
  name = 'Mapbox API Reference';
11
14
  uri = 'resource://mapbox-api-reference';
12
- description = 'Mapbox REST API reference documentation including endpoints, parameters, rate limits, and authentication for all Mapbox APIs (Geocoding, Directions, Static Images, Tilequery, etc.)';
15
+ description = 'Mapbox REST API reference index organized by service (Maps, Navigation, Search, Accounts). ' +
16
+ 'Lists all API endpoints with links to detailed reference pages covering parameters, ' +
17
+ 'rate limits, authentication, and response formats (Geocoding, Directions, Static Images, ' +
18
+ 'Tilequery, Matrix, Isochrone, Optimization, Styles, Uploads, Datasets, and more).';
13
19
  mimeType = 'text/markdown';
14
20
  httpRequest;
15
21
  constructor(params) {
@@ -18,30 +24,13 @@ export class MapboxApiReferenceResource extends BaseResource {
18
24
  }
19
25
  async readCallback(uri, _extra) {
20
26
  try {
21
- const LLMS_TXT_URL = 'https://docs.mapbox.com/llms.txt';
22
- let content = docCache.get(LLMS_TXT_URL);
23
- if (!content) {
24
- const response = await this.httpRequest(LLMS_TXT_URL, {
25
- headers: {
26
- Accept: 'text/markdown, text/plain;q=0.9, */*;q=0.8'
27
- }
28
- });
29
- if (!response.ok) {
30
- throw new Error(`Failed to fetch Mapbox documentation: ${response.statusText}`);
31
- }
32
- content = await response.text();
33
- docCache.set(LLMS_TXT_URL, content);
34
- }
35
- // Parse and filter for API sections only
36
- const allSections = parseDocSections(content);
37
- const apiSections = filterSectionsByCategory(allSections, 'apis');
38
- const apiContent = sectionsToMarkdown(apiSections);
27
+ const content = await fetchCachedText('https://docs.mapbox.com/api/llms.txt', this.httpRequest);
39
28
  return {
40
29
  contents: [
41
30
  {
42
31
  uri: uri.href,
43
32
  mimeType: this.mimeType,
44
- text: `# Mapbox API Reference\n\n${apiContent}`
33
+ text: content
45
34
  }
46
35
  ]
47
36
  };
@@ -1 +1 @@
1
- {"version":3,"file":"MapboxApiReferenceResource.js","sourceRoot":"","sources":["../../../../src/resources/mapbox-api-reference-resource/MapboxApiReferenceResource.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AASlC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,MAAM,OAAO,0BAA2B,SAAQ,YAAY;IACjD,IAAI,GAAG,sBAAsB,CAAC;IAC9B,GAAG,GAAG,iCAAiC,CAAC;IACxC,WAAW,GAClB,sLAAsL,CAAC;IAChL,QAAQ,GAAG,eAAe,CAAC;IAE5B,WAAW,CAAc;IAEjC,YAAY,MAAoC;QAC9C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACxC,CAAC;IAEM,KAAK,CAAC,YAAY,CACvB,GAAQ,EACR,MAA8D;QAE9D,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,kCAAkC,CAAC;YACxD,IAAI,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACzC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE;oBACpD,OAAO,EAAE;wBACP,MAAM,EAAE,4CAA4C;qBACrD;iBACF,CAAC,CAAC;gBAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,MAAM,IAAI,KAAK,CACb,yCAAyC,QAAQ,CAAC,UAAU,EAAE,CAC/D,CAAC;gBACJ,CAAC;gBAED,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAChC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACtC,CAAC;YAED,yCAAyC;YACzC,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,WAAW,GAAG,wBAAwB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YAClE,MAAM,UAAU,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;YAEnD,OAAO;gBACL,QAAQ,EAAE;oBACR;wBACE,GAAG,EAAE,GAAG,CAAC,IAAI;wBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,IAAI,EAAE,6BAA6B,UAAU,EAAE;qBAChD;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;YACpE,MAAM,IAAI,KAAK,CAAC,yCAAyC,YAAY,EAAE,EAAE;gBACvE,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"MapboxApiReferenceResource.js","sourceRoot":"","sources":["../../../../src/resources/mapbox-api-reference-resource/MapboxApiReferenceResource.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AASlC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,OAAO,0BAA2B,SAAQ,YAAY;IACjD,IAAI,GAAG,sBAAsB,CAAC;IAC9B,GAAG,GAAG,iCAAiC,CAAC;IACxC,WAAW,GAClB,6FAA6F;QAC7F,sFAAsF;QACtF,2FAA2F;QAC3F,mFAAmF,CAAC;IAC7E,QAAQ,GAAG,eAAe,CAAC;IAE5B,WAAW,CAAc;IAEjC,YAAY,MAAoC;QAC9C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACxC,CAAC;IAEM,KAAK,CAAC,YAAY,CACvB,GAAQ,EACR,MAA8D;QAE9D,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,eAAe,CACnC,sCAAsC,EACtC,IAAI,CAAC,WAAW,CACjB,CAAC;YAEF,OAAO;gBACL,QAAQ,EAAE;oBACR;wBACE,GAAG,EAAE,GAAG,CAAC,IAAI;wBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,IAAI,EAAE,OAAO;qBACd;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;YACpE,MAAM,IAAI,KAAK,CAAC,yCAAyC,YAAY,EAAE,EAAE;gBACvE,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF"}
@@ -3,12 +3,14 @@ import type { ReadResourceResult, ServerNotification, ServerRequest } from '@mod
3
3
  import type { HttpRequest } from '../../utils/types.js';
4
4
  import { BaseResource } from '../BaseResource.js';
5
5
  /**
6
- * Resource providing Mapbox examples and playgrounds
6
+ * Resource providing links to Mapbox interactive examples and playgrounds.
7
+ * Extracts the examples/playground/demo sections from the root llms.txt
8
+ * catalog, which lists API playgrounds, demo apps, and open-code projects.
7
9
  */
8
10
  export declare class MapboxExamplesResource extends BaseResource {
9
11
  readonly name = "Mapbox Examples";
10
12
  readonly uri = "resource://mapbox-examples";
11
- readonly description = "Mapbox code examples, API playgrounds, and interactive demos for testing and learning";
13
+ readonly description: string;
12
14
  readonly mimeType = "text/markdown";
13
15
  private httpRequest;
14
16
  constructor(params: {
@@ -1 +1 @@
1
- {"version":3,"file":"MapboxExamplesResource.d.ts","sourceRoot":"","sources":["../../../../src/resources/mapbox-examples-resource/MapboxExamplesResource.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACd,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOlD;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,YAAY;IACtD,QAAQ,CAAC,IAAI,qBAAqB;IAClC,QAAQ,CAAC,GAAG,gCAAgC;IAC5C,QAAQ,CAAC,WAAW,2FACsE;IAC1F,QAAQ,CAAC,QAAQ,mBAAmB;IAEpC,OAAO,CAAC,WAAW,CAAc;gBAErB,MAAM,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;IAKnC,YAAY,CACvB,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAC7D,OAAO,CAAC,kBAAkB,CAAC;CA2C/B"}
1
+ {"version":3,"file":"MapboxExamplesResource.d.ts","sourceRoot":"","sources":["../../../../src/resources/mapbox-examples-resource/MapboxExamplesResource.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACd,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAQlD;;;;GAIG;AACH,qBAAa,sBAAuB,SAAQ,YAAY;IACtD,QAAQ,CAAC,IAAI,qBAAqB;IAClC,QAAQ,CAAC,GAAG,gCAAgC;IAC5C,QAAQ,CAAC,WAAW,SAG2D;IAC/E,QAAQ,CAAC,QAAQ,mBAAmB;IAEpC,OAAO,CAAC,WAAW,CAAc;gBAErB,MAAM,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;IAKnC,YAAY,CACvB,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAC7D,OAAO,CAAC,kBAAkB,CAAC;CA6B/B"}
@@ -1,15 +1,19 @@
1
1
  // Copyright (c) Mapbox, Inc.
2
2
  // Licensed under the MIT License.
3
- import { docCache } from '../../utils/docCache.js';
4
3
  import { BaseResource } from '../BaseResource.js';
4
+ import { fetchCachedText } from '../../utils/docFetcher.js';
5
5
  import { parseDocSections, filterSectionsByCategory, sectionsToMarkdown } from '../utils/docParser.js';
6
6
  /**
7
- * Resource providing Mapbox examples and playgrounds
7
+ * Resource providing links to Mapbox interactive examples and playgrounds.
8
+ * Extracts the examples/playground/demo sections from the root llms.txt
9
+ * catalog, which lists API playgrounds, demo apps, and open-code projects.
8
10
  */
9
11
  export class MapboxExamplesResource extends BaseResource {
10
12
  name = 'Mapbox Examples';
11
13
  uri = 'resource://mapbox-examples';
12
- description = 'Mapbox code examples, API playgrounds, and interactive demos for testing and learning';
14
+ description = 'Mapbox interactive API playgrounds, demo applications, and code examples. ' +
15
+ 'Includes playground URLs for Directions, Search Box, Static Images, ' +
16
+ 'Isochrone, Matrix APIs, and demo apps for real estate, store locator, etc.';
13
17
  mimeType = 'text/markdown';
14
18
  httpRequest;
15
19
  constructor(params) {
@@ -18,21 +22,8 @@ export class MapboxExamplesResource extends BaseResource {
18
22
  }
19
23
  async readCallback(uri, _extra) {
20
24
  try {
21
- const LLMS_TXT_URL = 'https://docs.mapbox.com/llms.txt';
22
- let content = docCache.get(LLMS_TXT_URL);
23
- if (!content) {
24
- const response = await this.httpRequest(LLMS_TXT_URL, {
25
- headers: {
26
- Accept: 'text/markdown, text/plain;q=0.9, */*;q=0.8'
27
- }
28
- });
29
- if (!response.ok) {
30
- throw new Error(`Failed to fetch Mapbox documentation: ${response.statusText}`);
31
- }
32
- content = await response.text();
33
- docCache.set(LLMS_TXT_URL, content);
34
- }
35
- // Parse and filter for example sections only
25
+ const content = await fetchCachedText('https://docs.mapbox.com/llms.txt', this.httpRequest);
26
+ // Extract playground/demo/example sections from the catalog index
36
27
  const allSections = parseDocSections(content);
37
28
  const exampleSections = filterSectionsByCategory(allSections, 'examples');
38
29
  const exampleContent = sectionsToMarkdown(exampleSections);
@@ -1 +1 @@
1
- {"version":3,"file":"MapboxExamplesResource.js","sourceRoot":"","sources":["../../../../src/resources/mapbox-examples-resource/MapboxExamplesResource.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AASlC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,YAAY;IAC7C,IAAI,GAAG,iBAAiB,CAAC;IACzB,GAAG,GAAG,4BAA4B,CAAC;IACnC,WAAW,GAClB,uFAAuF,CAAC;IACjF,QAAQ,GAAG,eAAe,CAAC;IAE5B,WAAW,CAAc;IAEjC,YAAY,MAAoC;QAC9C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACxC,CAAC;IAEM,KAAK,CAAC,YAAY,CACvB,GAAQ,EACR,MAA8D;QAE9D,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,kCAAkC,CAAC;YACxD,IAAI,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACzC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE;oBACpD,OAAO,EAAE;wBACP,MAAM,EAAE,4CAA4C;qBACrD;iBACF,CAAC,CAAC;gBAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,MAAM,IAAI,KAAK,CACb,yCAAyC,QAAQ,CAAC,UAAU,EAAE,CAC/D,CAAC;gBACJ,CAAC;gBAED,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAChC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACtC,CAAC;YAED,6CAA6C;YAC7C,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,eAAe,GAAG,wBAAwB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YAC1E,MAAM,cAAc,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;YAE3D,OAAO;gBACL,QAAQ,EAAE;oBACR;wBACE,GAAG,EAAE,GAAG,CAAC,IAAI;wBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,IAAI,EAAE,wBAAwB,cAAc,EAAE;qBAC/C;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;YACpE,MAAM,IAAI,KAAK,CAAC,oCAAoC,YAAY,EAAE,EAAE;gBAClE,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"MapboxExamplesResource.js","sourceRoot":"","sources":["../../../../src/resources/mapbox-examples-resource/MapboxExamplesResource.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AASlC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAE/B;;;;GAIG;AACH,MAAM,OAAO,sBAAuB,SAAQ,YAAY;IAC7C,IAAI,GAAG,iBAAiB,CAAC;IACzB,GAAG,GAAG,4BAA4B,CAAC;IACnC,WAAW,GAClB,4EAA4E;QAC5E,sEAAsE;QACtE,4EAA4E,CAAC;IACtE,QAAQ,GAAG,eAAe,CAAC;IAE5B,WAAW,CAAc;IAEjC,YAAY,MAAoC;QAC9C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACxC,CAAC;IAEM,KAAK,CAAC,YAAY,CACvB,GAAQ,EACR,MAA8D;QAE9D,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,eAAe,CACnC,kCAAkC,EAClC,IAAI,CAAC,WAAW,CACjB,CAAC;YAEF,kEAAkE;YAClE,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,eAAe,GAAG,wBAAwB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YAC1E,MAAM,cAAc,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;YAE3D,OAAO;gBACL,QAAQ,EAAE;oBACR;wBACE,GAAG,EAAE,GAAG,CAAC,IAAI;wBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,IAAI,EAAE,wBAAwB,cAAc,EAAE;qBAC/C;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;YACpE,MAAM,IAAI,KAAK,CAAC,oCAAoC,YAAY,EAAE,EAAE;gBAClE,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF"}
@@ -3,12 +3,15 @@ import type { ReadResourceResult, ServerNotification, ServerRequest } from '@mod
3
3
  import type { HttpRequest } from '../../utils/types.js';
4
4
  import { BaseResource } from '../BaseResource.js';
5
5
  /**
6
- * Resource providing Mapbox guides and tutorials
6
+ * Resource providing Mapbox guides, tutorials, and help articles.
7
+ * Fetches from docs.mapbox.com/help/llms.txt which contains the full
8
+ * Mapbox Help Center index: troubleshooting guides, how-to tutorials,
9
+ * glossary, account setup, billing, and platform-specific walkthroughs.
7
10
  */
8
11
  export declare class MapboxGuidesResource extends BaseResource {
9
12
  readonly name = "Mapbox Guides";
10
13
  readonly uri = "resource://mapbox-guides";
11
- readonly description = "Mapbox guides, tutorials, and how-tos including Studio Manual, map design guides, and best practices";
14
+ readonly description: string;
12
15
  readonly mimeType = "text/markdown";
13
16
  private httpRequest;
14
17
  constructor(params: {
@@ -1 +1 @@
1
- {"version":3,"file":"MapboxGuidesResource.d.ts","sourceRoot":"","sources":["../../../../src/resources/mapbox-guides-resource/MapboxGuidesResource.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACd,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOlD;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,YAAY;IACpD,QAAQ,CAAC,IAAI,mBAAmB;IAChC,QAAQ,CAAC,GAAG,8BAA8B;IAC1C,QAAQ,CAAC,WAAW,0GACqF;IACzG,QAAQ,CAAC,QAAQ,mBAAmB;IAEpC,OAAO,CAAC,WAAW,CAAc;gBAErB,MAAM,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;IAKnC,YAAY,CACvB,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAC7D,OAAO,CAAC,kBAAkB,CAAC;CA2C/B"}
1
+ {"version":3,"file":"MapboxGuidesResource.d.ts","sourceRoot":"","sources":["../../../../src/resources/mapbox-guides-resource/MapboxGuidesResource.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACd,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD;;;;;GAKG;AACH,qBAAa,oBAAqB,SAAQ,YAAY;IACpD,QAAQ,CAAC,IAAI,mBAAmB;IAChC,QAAQ,CAAC,GAAG,8BAA8B;IAC1C,QAAQ,CAAC,WAAW,SAGgD;IACpE,QAAQ,CAAC,QAAQ,mBAAmB;IAEpC,OAAO,CAAC,WAAW,CAAc;gBAErB,MAAM,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;IAKnC,YAAY,CACvB,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAC7D,OAAO,CAAC,kBAAkB,CAAC;CAwB/B"}
@@ -1,15 +1,19 @@
1
1
  // Copyright (c) Mapbox, Inc.
2
2
  // Licensed under the MIT License.
3
- import { docCache } from '../../utils/docCache.js';
4
3
  import { BaseResource } from '../BaseResource.js';
5
- import { parseDocSections, filterSectionsByCategory, sectionsToMarkdown } from '../utils/docParser.js';
4
+ import { fetchCachedText } from '../../utils/docFetcher.js';
6
5
  /**
7
- * Resource providing Mapbox guides and tutorials
6
+ * Resource providing Mapbox guides, tutorials, and help articles.
7
+ * Fetches from docs.mapbox.com/help/llms.txt which contains the full
8
+ * Mapbox Help Center index: troubleshooting guides, how-to tutorials,
9
+ * glossary, account setup, billing, and platform-specific walkthroughs.
8
10
  */
9
11
  export class MapboxGuidesResource extends BaseResource {
10
12
  name = 'Mapbox Guides';
11
13
  uri = 'resource://mapbox-guides';
12
- description = 'Mapbox guides, tutorials, and how-tos including Studio Manual, map design guides, and best practices';
14
+ description = 'Mapbox Help Center documentation: troubleshooting guides, how-to tutorials, ' +
15
+ 'glossary, account and billing setup, and walkthroughs for common developer tasks. ' +
16
+ 'Use this for conceptual guidance and step-by-step instructions.';
13
17
  mimeType = 'text/markdown';
14
18
  httpRequest;
15
19
  constructor(params) {
@@ -18,30 +22,13 @@ export class MapboxGuidesResource extends BaseResource {
18
22
  }
19
23
  async readCallback(uri, _extra) {
20
24
  try {
21
- const LLMS_TXT_URL = 'https://docs.mapbox.com/llms.txt';
22
- let content = docCache.get(LLMS_TXT_URL);
23
- if (!content) {
24
- const response = await this.httpRequest(LLMS_TXT_URL, {
25
- headers: {
26
- Accept: 'text/markdown, text/plain;q=0.9, */*;q=0.8'
27
- }
28
- });
29
- if (!response.ok) {
30
- throw new Error(`Failed to fetch Mapbox documentation: ${response.statusText}`);
31
- }
32
- content = await response.text();
33
- docCache.set(LLMS_TXT_URL, content);
34
- }
35
- // Parse and filter for guide sections only
36
- const allSections = parseDocSections(content);
37
- const guideSections = filterSectionsByCategory(allSections, 'guides');
38
- const guideContent = sectionsToMarkdown(guideSections);
25
+ const content = await fetchCachedText('https://docs.mapbox.com/help/llms.txt', this.httpRequest);
39
26
  return {
40
27
  contents: [
41
28
  {
42
29
  uri: uri.href,
43
30
  mimeType: this.mimeType,
44
- text: `# Mapbox Guides\n\n${guideContent}`
31
+ text: content
45
32
  }
46
33
  ]
47
34
  };
@@ -1 +1 @@
1
- {"version":3,"file":"MapboxGuidesResource.js","sourceRoot":"","sources":["../../../../src/resources/mapbox-guides-resource/MapboxGuidesResource.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AASlC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,YAAY;IAC3C,IAAI,GAAG,eAAe,CAAC;IACvB,GAAG,GAAG,0BAA0B,CAAC;IACjC,WAAW,GAClB,sGAAsG,CAAC;IAChG,QAAQ,GAAG,eAAe,CAAC;IAE5B,WAAW,CAAc;IAEjC,YAAY,MAAoC;QAC9C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACxC,CAAC;IAEM,KAAK,CAAC,YAAY,CACvB,GAAQ,EACR,MAA8D;QAE9D,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,kCAAkC,CAAC;YACxD,IAAI,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACzC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE;oBACpD,OAAO,EAAE;wBACP,MAAM,EAAE,4CAA4C;qBACrD;iBACF,CAAC,CAAC;gBAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,MAAM,IAAI,KAAK,CACb,yCAAyC,QAAQ,CAAC,UAAU,EAAE,CAC/D,CAAC;gBACJ,CAAC;gBAED,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAChC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACtC,CAAC;YAED,2CAA2C;YAC3C,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,aAAa,GAAG,wBAAwB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YACtE,MAAM,YAAY,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;YAEvD,OAAO;gBACL,QAAQ,EAAE;oBACR;wBACE,GAAG,EAAE,GAAG,CAAC,IAAI;wBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,IAAI,EAAE,sBAAsB,YAAY,EAAE;qBAC3C;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;YACpE,MAAM,IAAI,KAAK,CAAC,kCAAkC,YAAY,EAAE,EAAE;gBAChE,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"MapboxGuidesResource.js","sourceRoot":"","sources":["../../../../src/resources/mapbox-guides-resource/MapboxGuidesResource.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,kCAAkC;AASlC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D;;;;;GAKG;AACH,MAAM,OAAO,oBAAqB,SAAQ,YAAY;IAC3C,IAAI,GAAG,eAAe,CAAC;IACvB,GAAG,GAAG,0BAA0B,CAAC;IACjC,WAAW,GAClB,8EAA8E;QAC9E,oFAAoF;QACpF,iEAAiE,CAAC;IAC3D,QAAQ,GAAG,eAAe,CAAC;IAE5B,WAAW,CAAc;IAEjC,YAAY,MAAoC;QAC9C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACxC,CAAC;IAEM,KAAK,CAAC,YAAY,CACvB,GAAQ,EACR,MAA8D;QAE9D,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,eAAe,CACnC,uCAAuC,EACvC,IAAI,CAAC,WAAW,CACjB,CAAC;YAEF,OAAO;gBACL,QAAQ,EAAE;oBACR;wBACE,GAAG,EAAE,GAAG,CAAC,IAAI;wBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,IAAI,EAAE,OAAO;qBACd;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;YACpE,MAAM,IAAI,KAAK,CAAC,kCAAkC,YAAY,EAAE,EAAE;gBAChE,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF"}
@@ -3,12 +3,16 @@ import type { ReadResourceResult, ServerNotification, ServerRequest } from '@mod
3
3
  import type { HttpRequest } from '../../utils/types.js';
4
4
  import { BaseResource } from '../BaseResource.js';
5
5
  /**
6
- * Resource providing Mapbox reference documentation
6
+ * Resource providing the complete Mapbox documentation catalog.
7
+ * Fetches the root llms.txt which is now a structured index of every
8
+ * Mapbox product and documentation section, each with a link to its
9
+ * own llms.txt file. Use this to discover what documentation is available
10
+ * and find URLs to pass to get_document_tool for deeper exploration.
7
11
  */
8
12
  export declare class MapboxReferenceResource extends BaseResource {
9
13
  readonly name = "Mapbox Reference";
10
14
  readonly uri = "resource://mapbox-reference";
11
- readonly description = "Mapbox reference documentation including tilesets, data products, accounts, pricing, and other reference materials";
15
+ readonly description: string;
12
16
  readonly mimeType = "text/markdown";
13
17
  private httpRequest;
14
18
  constructor(params: {
@@ -1 +1 @@
1
- {"version":3,"file":"MapboxReferenceResource.d.ts","sourceRoot":"","sources":["../../../../src/resources/mapbox-reference-resource/MapboxReferenceResource.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACd,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOlD;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,YAAY;IACvD,QAAQ,CAAC,IAAI,sBAAsB;IACnC,QAAQ,CAAC,GAAG,iCAAiC;IAC7C,QAAQ,CAAC,WAAW,wHACmG;IACvH,QAAQ,CAAC,QAAQ,mBAAmB;IAEpC,OAAO,CAAC,WAAW,CAAc;gBAErB,MAAM,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;IAKnC,YAAY,CACvB,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAC7D,OAAO,CAAC,kBAAkB,CAAC;CA8C/B"}
1
+ {"version":3,"file":"MapboxReferenceResource.d.ts","sourceRoot":"","sources":["../../../../src/resources/mapbox-reference-resource/MapboxReferenceResource.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACd,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD;;;;;;GAMG;AACH,qBAAa,uBAAwB,SAAQ,YAAY;IACvD,QAAQ,CAAC,IAAI,sBAAsB;IACnC,QAAQ,CAAC,GAAG,iCAAiC;IAC7C,QAAQ,CAAC,WAAW,SAKsD;IAC1E,QAAQ,CAAC,QAAQ,mBAAmB;IAEpC,OAAO,CAAC,WAAW,CAAc;gBAErB,MAAM,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE;IAKnC,YAAY,CACvB,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,mBAAmB,CAAC,aAAa,EAAE,kBAAkB,CAAC,GAC7D,OAAO,CAAC,kBAAkB,CAAC;CAwB/B"}
@@ -1,15 +1,22 @@
1
1
  // Copyright (c) Mapbox, Inc.
2
2
  // Licensed under the MIT License.
3
- import { docCache } from '../../utils/docCache.js';
4
3
  import { BaseResource } from '../BaseResource.js';
5
- import { parseDocSections, filterSectionsByCategory, sectionsToMarkdown } from '../utils/docParser.js';
4
+ import { fetchCachedText } from '../../utils/docFetcher.js';
6
5
  /**
7
- * Resource providing Mapbox reference documentation
6
+ * Resource providing the complete Mapbox documentation catalog.
7
+ * Fetches the root llms.txt which is now a structured index of every
8
+ * Mapbox product and documentation section, each with a link to its
9
+ * own llms.txt file. Use this to discover what documentation is available
10
+ * and find URLs to pass to get_document_tool for deeper exploration.
8
11
  */
9
12
  export class MapboxReferenceResource extends BaseResource {
10
13
  name = 'Mapbox Reference';
11
14
  uri = 'resource://mapbox-reference';
12
- description = 'Mapbox reference documentation including tilesets, data products, accounts, pricing, and other reference materials';
15
+ description = 'Complete catalog of all Mapbox products and documentation. ' +
16
+ 'Lists every product section (Maps SDKs, Navigation APIs, Search APIs, ' +
17
+ 'Studio, Style Spec, Tilesets, Data products, Help Center, Atlas, Unity, etc.) ' +
18
+ "with links to each product's own llms.txt index. Use this to discover " +
19
+ 'what documentation exists and find the right URLs to fetch full docs.';
13
20
  mimeType = 'text/markdown';
14
21
  httpRequest;
15
22
  constructor(params) {
@@ -18,30 +25,13 @@ export class MapboxReferenceResource extends BaseResource {
18
25
  }
19
26
  async readCallback(uri, _extra) {
20
27
  try {
21
- const LLMS_TXT_URL = 'https://docs.mapbox.com/llms.txt';
22
- let content = docCache.get(LLMS_TXT_URL);
23
- if (!content) {
24
- const response = await this.httpRequest(LLMS_TXT_URL, {
25
- headers: {
26
- Accept: 'text/markdown, text/plain;q=0.9, */*;q=0.8'
27
- }
28
- });
29
- if (!response.ok) {
30
- throw new Error(`Failed to fetch Mapbox documentation: ${response.statusText}`);
31
- }
32
- content = await response.text();
33
- docCache.set(LLMS_TXT_URL, content);
34
- }
35
- // Parse and filter for reference sections only
36
- const allSections = parseDocSections(content);
37
- const referenceSections = filterSectionsByCategory(allSections, 'reference');
38
- const referenceContent = sectionsToMarkdown(referenceSections);
28
+ const content = await fetchCachedText('https://docs.mapbox.com/llms.txt', this.httpRequest);
39
29
  return {
40
30
  contents: [
41
31
  {
42
32
  uri: uri.href,
43
33
  mimeType: this.mimeType,
44
- text: `# Mapbox Reference\n\n${referenceContent}`
34
+ text: content
45
35
  }
46
36
  ]
47
37
  };