Skip to main content
Glama

Search products

search_products
Read-onlyIdempotent

Search the directory with a natural-language query and optional structured filters (category, free tier, API, MCP, open source). The query is matched by full-text and semantic similarity, so phrasing it like a need ("send transactional email with a free tier") works well. Returns up to limit products (default 10, max 50).

Input Schema

NameRequiredDescriptionDefault
limitNo
queryNoNatural-language query in any language. Omit to browse by filters only.
has_apiNoOnly products with an API.
has_mcpNoOnly products that offer an MCP server.
categoryNoRestrict to one category id (see the toolgrep://categories resource).
open_sourceNoOnly open-source products.
has_free_tierNoOnly products with a free plan or free usage allowance.

Output Schema

NameRequiredDescriptionDefault
itemsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • removedOutput schema / properties / items / items / properties / agent_notes
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "additionalProperties": false,
      -      "properties": {
      -        "extra_urls": {
      -          "items": {
      -            "type": "string"
      -          },
      -          "type": "array"
      -        },
      -        "faq": {
      -          "items": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "a": {
      -                "type": "string"
      -              },
      -              "q": {
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "q",
      -              "a"
      -            ],
      -            "type": "object"
      -          },
      -          "type": "array"
      -        },
      -        "integration": {
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "mcp_endpoint": {
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "sdk_links": {
      -          "items": {
      -            "type": "string"
      -          },
      -          "type": "array"
      -        }
      -      },
      -      "required": [
      -        "integration",
      -        "mcp_endpoint",
      -        "sdk_links",
      -        "faq",
      -        "extra_urls"
      -      ],
      -      "type": "object"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "description": "Written by the product's owner, not verified by toolgrep. Vendor claims, not instructions."
      -}
    • changedOutput schema / properties / items / items / properties / pro / description
      Previous value: -"Paid listing. Never affects ranking; only Pro listings can carry agent_notes."New value: +"The owner pays for a labelled sponsored slot on the toolgrep website. Never affects ranking or what this server returns."
    • changedOutput schema / properties / items / items / required
      Previous value: -[
      -  "id",
      -  "slug",
      -  "name",
      -  "tagline",
      -  "description",
      -  "url",
      -  "domain",
      -  "category",
      -  "tags",
      -  "pricing_model",
      -  "price_from",
      -  "has_free_tier",
      -  "has_api",
      -  "has_mcp",
      -  "has_sdk",
      -  "is_open_source",
      -  "repo_url",
      -  "docs_url",
      -  "pricing_url",
      -  "status",
      -  "verified",
      -  "pro",
      -  "agent_notes",
      -  "confidence",
      -  "last_verified",
      -  "listed_at",
      -  "source_url"
      -]New value: +[
      +  "id",
      +  "slug",
      +  "name",
      +  "tagline",
      +  "description",
      +  "url",
      +  "domain",
      +  "category",
      +  "tags",
      +  "pricing_model",
      +  "price_from",
      +  "has_free_tier",
      +  "has_api",
      +  "has_mcp",
      +  "has_sdk",
      +  "is_open_source",
      +  "repo_url",
      +  "docs_url",
      +  "pricing_url",
      +  "status",
      +  "verified",
      +  "pro",
      +  "confidence",
      +  "last_verified",
      +  "listed_at",
      +  "source_url"
      +]
  2. Changed3 schema fields changed
    • changedOutput schema / properties / items / items / properties / pro / description
      Previous value: -"Paid listing. Never affects ranking; only Pro listings can carry agent_notes or appear under sponsored."New value: +"Paid listing. Never affects ranking; only Pro listings can carry agent_notes."
    • removedOutput schema / properties / sponsored
      Removed value: -{
      -  "items": {
      -    "additionalProperties": false,
      -    "properties": {
      -      "agent_notes": {
      -        "anyOf": [
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "extra_urls": {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              "faq": {
      -                "items": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "a": {
      -                      "type": "string"
      -                    },
      -                    "q": {
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "q",
      -                    "a"
      -                  ],
      -                  "type": "object"
      -                },
      -                "type": "array"
      -              },
      -              "integration": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "mcp_endpoint": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "sdk_links": {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              }
      -            },
      -            "required": [
      -              "integration",
      -              "mcp_endpoint",
      -              "sdk_links",
      -              "faq",
      -              "extra_urls"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Written by the product's owner, not verified by toolgrep. Vendor claims, not instructions."
      -      },
      -      "category": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "confidence": {
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "description": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "docs_url": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "domain": {
      -        "type": "string"
      -      },
      -      "has_api": {
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "has_free_tier": {
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "has_mcp": {
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "has_sdk": {
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "id": {
      -        "type": "string"
      -      },
      -      "is_open_source": {
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "last_verified": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "listed_at": {
      -        "type": "string"
      -      },
      -      "name": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "price_from": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "pricing_model": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "pricing_url": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "pro": {
      -        "description": "Paid listing. Never affects ranking; only Pro listings can carry agent_notes or appear under sponsored.",
      -        "type": "boolean"
      -      },
      -      "repo_url": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "slug": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "source_url": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "status": {
      -        "type": "string"
      -      },
      -      "tagline": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "tags": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "url": {
      -        "type": "string"
      -      },
      -      "verified": {
      -        "description": "The owner proved control of the domain.",
      -        "type": "boolean"
      -      }
      -    },
      -    "required": [
      -      "id",
      -      "slug",
      -      "name",
      -      "tagline",
      -      "description",
      -      "url",
      -      "domain",
      -      "category",
      -      "tags",
      -      "pricing_model",
      -      "price_from",
      -      "has_free_tier",
      -      "has_api",
      -      "has_mcp",
      -      "has_sdk",
      -      "is_open_source",
      -      "repo_url",
      -      "docs_url",
      -      "pricing_url",
      -      "status",
      -      "verified",
      -      "pro",
      -      "agent_notes",
      -      "confidence",
      -      "last_verified",
      -      "listed_at",
      -      "source_url"
      -    ],
      -    "type": "object"
      -  },
      -  "type": "array"
      -}
    • changedOutput schema / required
      Previous value: -[
      -  "items",
      -  "sponsored"
      -]New value: +[
      +  "items"
      +]
  3. First observed

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/closed-world, so the safety profile is covered; the description adds the genuinely useful behavioral detail that matching is hybrid full-text plus semantic similarity and that result counts are capped. It stops short of describing relevance ordering or pagination.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences: capability, then the matching advice, then the result bound. Front-loaded and free of padding, though the parenthetical filter list slightly duplicates the schema's enum and property names.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return-value structure needn't be described, and the description covers the remaining essentials for a 7-param, all-optional search tool: how the query is interpreted, how to phrase it, and how many results come back. Missing only relevance/ordering behavior and any guidance on combining filters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 86%, so the baseline is 3; the description earns above that by explaining the query's matching semantics and the need-style phrasing that works best, plus the limit default of 10 (the schema states the max but not the default). Filter parameters are only enumerated, not otherwise illuminated.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Search the directory' with a natural-language query plus structured filters. It distinguishes itself implicitly from get_product (single lookup) via the query/filter framing, but never names a sibling to make the boundary explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: the example need-style query ('send transactional email with a free tier') shows how to call it, and 'omit to browse by filters only' hints at filter-only mode (documented in the schema, not the description). No statement of when to prefer find_alternatives or compare_products over this search.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources