You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: index.js
+30-13Lines changed: 30 additions & 13 deletions
Original file line number
Diff line number
Diff line change
@@ -166,7 +166,7 @@ const CATEGORIES = [
166
166
constTOOL_DEFINITIONS=[
167
167
{
168
168
name: 'search_tools',
169
-
description: 'Search 508+ software products by name, keyword, or use case. Returns name, category, rating, free plan availability, starting price, and ComparEdge URL.\n\nBEHAVIOR: Performs fuzzy matching across product names and categories. Returns up to `limit` results ranked by relevance. Each result includes a direct ComparEdge link.\n\nUSAGE GUIDELINES:\n- Use to discover tools when you do not know the exact slug.\n- Use before calling get_tool or get_pricing if the slug is uncertain.\n- Use for category browsing: query "crm", "ai coding", "project management".\n\nEXAMPLE QUERIES: "Find CRM tools", "search for Slack alternatives", "what project management tools exist?"',
169
+
description: 'Search 495+ software products by name, keyword, category, or natural language query. Returns name, category, rating, free plan availability, starting price, and ComparEdge URL.\n\nBEHAVIOR: Scores each product against all meaningful keywords in the query (stopwords like "best", "find", "top" are ignored). Supports both exact product names and natural language queries.\n\nUSAGE GUIDELINES:\n- Use to discover tools when you do not know the exact slug.\n- Use before calling get_tool or get_pricing if the slug is uncertain.\n- Use for category browsing: query "crm", "ai coding", "project management".\n- Natural language works: "best CRM for startups" → extracts "crm" and "startups" keywords.\n\nEXAMPLE QUERIES: "notion", "CRM", "best CRM for startups", "project management free", "ai coding tools"',
170
170
inputSchema: {
171
171
type: 'object',
172
172
properties: {
@@ -329,9 +329,15 @@ function fmtRow(label, v1, v2) {
329
329
330
330
asyncfunctionsearchTools(args){
331
331
const{ query, limit =5}=args;
332
-
constq=query.toLowerCase();
333
332
constallTools=awaitgetAllTools();
334
333
334
+
// Stopwords to ignore when splitting natural language queries
0 commit comments