Skip to content

Commit 2b0d94b

Browse files
committed
chore: merge
1 parent 7477c09 commit 2b0d94b

File tree

1 file changed

+33
-1
lines changed

1 file changed

+33
-1
lines changed

src/server/init-server.ts

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,11 @@ import {
1212
import { registerOpenApiTools } from "../tools/registerOpenApi.ts";
1313
import {
1414
ABTestingSpec,
15-
AnalyticsSpec, CollectionsSpec,
15+
AnalyticsSpec,
16+
CollectionsSpec,
1617
IngestionSpec,
1718
MonitoringSpec,
19+
QuerySuggestionsSpec,
1820
RecommendSpec,
1921
SearchSpec,
2022
UsageSpec
@@ -105,6 +107,28 @@ export async function initMCPServer(opts: StartServerOptions): Promise<McpServer
105107
dashboardApi,
106108
openApiSpec: UsageSpec,
107109
toolFilter,
110+
requestMiddlewares: [
111+
// The Usage API expects `name` parameter as multiple values
112+
// rather than comma-separated.
113+
async ({ request }) => {
114+
const url = new URL(request.url);
115+
const nameParams = url.searchParams.get("name");
116+
117+
if (!nameParams) {
118+
return new Request(url, request.clone());
119+
}
120+
121+
const nameValues = nameParams.split(",");
122+
123+
url.searchParams.delete("name");
124+
125+
nameValues.forEach((value) => {
126+
url.searchParams.append("name", value);
127+
});
128+
129+
return new Request(url, request.clone());
130+
},
131+
],
108132
});
109133

110134
// Ingestion API Tools
@@ -141,6 +165,14 @@ export async function initMCPServer(opts: StartServerOptions): Promise<McpServer
141165
toolFilter,
142166
});
143167

168+
// Query Suggestions API Tools
169+
registerOpenApiTools({
170+
server,
171+
dashboardApi,
172+
openApiSpec: QuerySuggestionsSpec,
173+
toolFilter,
174+
});
175+
144176
return server;
145177
} catch (err) {
146178
console.error("Error starting server:", err);

0 commit comments

Comments
 (0)