icon_autocomplete
Generate icon search term suggestions to help users discover related keywords and refine their icon searches within the Noun Project MCP Server.
Instructions
Get autocomplete suggestions for icon search terms. Useful for helping users discover related terms.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Partial search term to get suggestions for | |
| limit | No | Maximum number of suggestions to return |
Implementation Reference
- src/api.ts:161-176 (handler)Core implementation of the icon_autocomplete tool: constructs query params and makes authenticated GET request to Noun Project /v2/icon/autocomplete endpoint.async autocomplete(params: AutocompleteParams) { const queryParams = new URLSearchParams({ query: params.query, ...(params.limit ? { limit: String(params.limit) } : {}), }); const url = `${BASE_URL}/v2/icon/autocomplete?${queryParams}`; const headers = this.oauth.getHeaders(url); const response = await this.client.get('/v2/icon/autocomplete', { params: Object.fromEntries(queryParams), headers, }); return response.data; }
- src/tools.ts:130-148 (schema)Tool definition including name, description, and input schema for icon_autocomplete, part of the exported TOOLS array used for MCP tool listing.{ name: 'icon_autocomplete', description: 'Get autocomplete suggestions for icon search terms. Useful for helping users discover related terms.', inputSchema: { type: 'object', properties: { query: { type: 'string', description: 'Partial search term to get suggestions for', }, limit: { type: 'number', description: 'Maximum number of suggestions to return', }, }, required: ['query'], }, },
- src/index.ts:102-112 (handler)MCP CallToolRequest handler switch case for icon_autocomplete: delegates to api.autocomplete and formats response as MCP content.case 'icon_autocomplete': { const result = await api.autocomplete(args as any); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2), }, ], }; }
- src/api.ts:38-41 (schema)TypeScript interface defining input parameters for the autocomplete method.export interface AutocompleteParams { query: string; limit?: number; }
- src/index.ts:42-46 (registration)MCP ListToolsRequest handler that returns the TOOLS array, registering icon_autocomplete among others.server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools: TOOLS, }; });