Skip to content

Commit a7cf4c3

Browse files
committed
fix MCP component docs slug lookup
1 parent 11ad3ef commit a7cf4c3

1 file changed

Lines changed: 10 additions & 1 deletion

File tree

packages/mcp-server/src/tools.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,7 @@ function summarizeComponent(component: ComponentMetadataRecord) {
166166

167167
function findComponent(components: ComponentMetadataRecord[], value: string) {
168168
const identifier = normalizeIdentifier(value);
169+
const docsSlug = normalizeDocsSlug(value);
169170

170171
return components.find((component) => {
171172
const aliases = [
@@ -174,8 +175,12 @@ function findComponent(components: ComponentMetadataRecord[], value: string) {
174175
component.docsUrl?.split("/").at(-1),
175176
...(component.exports ?? []),
176177
];
178+
const docsAliases = [component.docsUrl];
177179

178-
return aliases.some((alias) => normalizeIdentifier(alias ?? "") === identifier);
180+
return (
181+
aliases.some((alias) => normalizeIdentifier(alias ?? "") === identifier) ||
182+
docsAliases.some((alias) => normalizeDocsSlug(alias ?? "") === docsSlug)
183+
);
179184
});
180185
}
181186

@@ -225,6 +230,10 @@ function normalizeIdentifier(value: string) {
225230
return value.trim().toLowerCase().replace(/^--/, "").replaceAll("_", "-");
226231
}
227232

233+
function normalizeDocsSlug(value: string) {
234+
return normalizeIdentifier(value).replace(/^(?:\.\.\/|\.\/|\/)+/, "");
235+
}
236+
228237
function normalizeSearchText(value: string) {
229238
return normalizeIdentifier(value).replaceAll("/", " ").replaceAll("-", " ");
230239
}

0 commit comments

Comments
 (0)