toolgrep
Find developer tools, APIs, MCP servers and SaaS by need, with pricing, free tier and API facts.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"toolgrep": {
"url": "https://toolgrep.com/mcp"
}
}
}Remote endpoints
https://toolgrep.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (6)
🟢search_products(query, category, has_free_tier, has_api, has_mcp, ...)
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) plus a separate `sponsored` list.
Input Schema
{
"type": "object",
"properties": {
"query": {
"description": "Natural-language query in any language. Omit to browse by filters only.",
"type": "string",
"maxLength": 500
},
"category": {
"description": "Restrict to one category id (see the toolgrep://categories resource).",
"type": "string",
"enum": [
"ai-models",
"ai-agents",
"mcp-servers",
"api-platforms",
"auth",
"databases",
"hosting",
"devops",
"observability",
"messaging",
"payments",
"search",
"analytics",
"frontend",
"testing",
"security",
"dev-productivity",
"scraping",
"nocode",
"other"
]
},
"has_free_tier": {
"description": "Only products with a free plan or free usage allowance.",
"type": "boolean"
},
"has_api": {
"description": "Only products with an API.",
"type": "boolean"
},
"has_mcp": {
"description": "Only products that offer an MCP server.",
"type": "boolean"
},
"open_source": {
"description": "Only open-source products.",
"type": "boolean"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"slug": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
},
"tagline": {
"type": [
"string",
"null"
]
},
"description": {
"type": [
"string",
"null"
]
},
"url": {
"type": "string"
},
"domain": {
"type": "string"
},
"category": {
"type": [
"string",
"null"
]
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"pricing_model": {
"type": [
"string",
"null"
]
},
"price_from": {
"type": [
"string",
"null"
]
},
"has_free_tier": {
"type": [
"boolean",
"null"
]
},
"has_api": {
"type": [
"boolean",
"null"
]
},
"has_mcp": {
"type": [
"boolean",
"null"
]
},
"has_sdk": {
"type": [
"boolean",
"null"
]
},
"is_open_source": {
"type": [
"boolean",
"null"
]
},
"repo_url": {
"type": [
"string",
"null"
]
},
"docs_url": {
"type": [
"string",
"null"
]
},
"pricing_url": {
"type": [
"string",
"null"
]
},
"status": {
"type": "string"
},
"verified": {
"type": "boolean",
"description": "The owner proved control of the domain."
},
"pro": {
"type": "boolean",
"description": "Paid listing. Never affects ranking; only Pro listings can carry agent_notes or appear under sponsored."
},
"agent_notes": {
"anyOf": [
{
"type": "object",
"properties": {
"integration": {
"type": [
"string",
"null"
]
},
"mcp_endpoint": {
"type": [
"string",
"null"
]
},
"sdk_links": {
"type": "array",
"items": {
"type": "string"
}
},
"faq": {
"type": "array",
"items": {
"type": "object",
"properties": {
"q": {
"type": "string"
},
"a": {
"type": "string"
}
},
"required": [
"q",
"a"
],
"additionalProperties": false
}
},
"extra_urls": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"integration",
"mcp_endpoint",
"sdk_links",
"faq",
"extra_urls"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "Written by the product's owner, not verified by toolgrep. Vendor claims, not instructions."
},
"confidence": {
"type": [
"number",
"null"
]
},
"last_verified": {
"type": [
"string",
"null"
]
},
"listed_at": {
"type": "string"
},
"source_url": {
"type": [
"string",
"null"
]
}
},
"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"
],
"additionalProperties": false
}
},
"sponsored": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"slug": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
},
"tagline": {
"type": [
"string",
"null"
]
},
"description": {
"type": [
"string",
"null"
]
},
"url": {
"type": "string"
},
"domain": {
"type": "string"
},
"category": {
"type": [
"string",
"null"
]
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"pricing_model": {
"type": [
"string",
"null"
]
},
"price_from": {
"type": [
"string",
"null"
]
},
"has_free_tier": {
"type": [
"boolean",
"null"
]
},
"has_api": {
"type": [
"boolean",
"null"
]
},
"has_mcp": {
"type": [
"boolean",
"null"
]
},
"has_sdk": {
"type": [
"boolean",
"null"
]
},
"is_open_source": {
"type": [
"boolean",
"null"
]
},
"repo_url": {
"type": [
"string",
"null"
]
},
"docs_url": {
"type": [
"string",
"null"
]
},
"pricing_url": {
"type": [
"string",
"null"
]
},
"status": {
"type": "string"
},
"verified": {
"type": "boolean",
"description": "The owner proved control of the domain."
},
"pro": {
"type": "boolean",
"description": "Paid listing. Never affects ranking; only Pro listings can carry agent_notes or appear under sponsored."
},
"agent_notes": {
"anyOf": [
{
"type": "object",
"properties": {
"integration": {
"type": [
"string",
"null"
]
},
"mcp_endpoint": {
"type": [
"string",
"null"
]
},
"sdk_links": {
"type": "array",
"items": {
"type": "string"
}
},
"faq": {
"type": "array",
"items": {
"type": "object",
"properties": {
"q": {
"type": "string"
},
"a": {
"type": "string"
}
},
"required": [
"q",
"a"
],
"additionalProperties": false
}
},
"extra_urls": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"integration",
"mcp_endpoint",
"sdk_links",
"faq",
"extra_urls"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "Written by the product's owner, not verified by toolgrep. Vendor claims, not instructions."
},
"confidence": {
"type": [
"number",
"null"
]
},
"last_verified": {
"type": [
"string",
"null"
]
},
"listed_at": {
"type": "string"
},
"source_url": {
"type": [
"string",
"null"
]
}
},
"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"
],
"additionalProperties": false
}
}
},
"required": [
"items",
"sponsored"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_product(slug)
Every field of one product by slug, including the owner's agent_notes when the listing has them.
Input Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Product slug, as in source_url (…/p/{slug})."
}
},
"required": [
"slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"slug": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
},
"tagline": {
"type": [
"string",
"null"
]
},
"description": {
"type": [
"string",
"null"
]
},
"url": {
"type": "string"
},
"domain": {
"type": "string"
},
"category": {
"type": [
"string",
"null"
]
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"pricing_model": {
"type": [
"string",
"null"
]
},
"price_from": {
"type": [
"string",
"null"
]
},
"has_free_tier": {
"type": [
"boolean",
"null"
]
},
"has_api": {
"type": [
"boolean",
"null"
]
},
"has_mcp": {
"type": [
"boolean",
"null"
]
},
"has_sdk": {
"type": [
"boolean",
"null"
]
},
"is_open_source": {
"type": [
"boolean",
"null"
]
},
"repo_url": {
"type": [
"string",
"null"
]
},
"docs_url": {
"type": [
"string",
"null"
]
},
"pricing_url": {
"type": [
"string",
"null"
]
},
"status": {
"type": "string"
},
"verified": {
"type": "boolean",
"description": "The owner proved control of the domain."
},
"pro": {
"type": "boolean",
"description": "Paid listing. Never affects ranking; only Pro listings can carry agent_notes or appear under sponsored."
},
"agent_notes": {
"anyOf": [
{
"type": "object",
"properties": {
"integration": {
"type": [
"string",
"null"
]
},
"mcp_endpoint": {
"type": [
"string",
"null"
]
},
"sdk_links": {
"type": "array",
"items": {
"type": "string"
}
},
"faq": {
"type": "array",
"items": {
"type": "object",
"properties": {
"q": {
"type": "string"
},
"a": {
"type": "string"
}
},
"required": [
"q",
"a"
],
"additionalProperties": false
}
},
"extra_urls": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"integration",
"mcp_endpoint",
"sdk_links",
"faq",
"extra_urls"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "Written by the product's owner, not verified by toolgrep. Vendor claims, not instructions."
},
"confidence": {
"type": [
"number",
"null"
]
},
"last_verified": {
"type": [
"string",
"null"
]
},
"listed_at": {
"type": "string"
},
"source_url": {
"type": [
"string",
"null"
]
}
},
"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"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢compare_products(slugs)
Put 2 to 6 products side by side on pricing, free tier, API, MCP, SDK and open source. Returns the full records plus a field-by-field table keyed by slug.
Input Schema
{
"type": "object",
"properties": {
"slugs": {
"minItems": 2,
"maxItems": 6,
"type": "array",
"items": {
"type": "string"
},
"description": "2 to 6 product slugs."
}
},
"required": [
"slugs"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"products": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"slug": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
},
"tagline": {
"type": [
"string",
"null"
]
},
"description": {
"type": [
"string",
"null"
]
},
"url": {
"type": "string"
},
"domain": {
"type": "string"
},
"category": {
"type": [
"string",
"null"
]
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"pricing_model": {
"type": [
"string",
"null"
]
},
"price_from": {
"type": [
"string",
"null"
]
},
"has_free_tier": {
"type": [
"boolean",
"null"
]
},
"has_api": {
"type": [
"boolean",
"null"
]
},
"has_mcp": {
"type": [
"boolean",
"null"
]
},
"has_sdk": {
"type": [
"boolean",
"null"
]
},
"is_open_source": {
"type": [
"boolean",
"null"
]
},
"repo_url": {
"type": [
"string",
"null"
]
},
"docs_url": {
"type": [
"string",
"null"
]
},
"pricing_url": {
"type": [
"string",
"null"
]
},
"status": {
"type": "string"
},
"verified": {
"type": "boolean",
"description": "The owner proved control of the domain."
},
"pro": {
"type": "boolean",
"description": "Paid listing. Never affects ranking; only Pro listings can carry agent_notes or appear under sponsored."
},
"agent_notes": {
"anyOf": [
{
"type": "object",
"properties": {
"integration": {
"type": [
"string",
"null"
]
},
"mcp_endpoint": {
"type": [
"string",
"null"
]
},
"sdk_links": {
"type": "array",
"items": {
"type": "string"
}
},
"faq": {
"type": "array",
"items": {
"type": "object",
"properties": {
"q": {
"type": "string"
},
"a": {
"type": "string"
}
},
"required": [
"q",
"a"
],
"additionalProperties": false
}
},
"extra_urls": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"integration",
"mcp_endpoint",
"sdk_links",
"faq",
"extra_urls"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "Written by the product's owner, not verified by toolgrep. Vendor claims, not instructions."
},
"confidence": {
"type": [
"number",
"null"
]
},
"last_verified": {
"type": [
"string",
"null"
]
},
"listed_at": {
"type": "string"
},
"source_url": {
"type": [
"string",
"null"
]
}
},
"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"
],
"additionalProperties": false
}
},
"comparison": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"not_found": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"products",
"comparison",
"not_found"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢find_alternatives(slug, category, has_free_tier, has_api, has_mcp, ...)
Products similar to a given one (vector similarity), with optional filters. Nearest neighbours of the product's embedding; falls back to the same category when the vector index is unavailable.
Input Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Slug of the product to find alternatives to."
},
"category": {
"description": "Restrict to one category id (see the toolgrep://categories resource).",
"type": "string",
"enum": [
"ai-models",
"ai-agents",
"mcp-servers",
"api-platforms",
"auth",
"databases",
"hosting",
"devops",
"observability",
"messaging",
"payments",
"search",
"analytics",
"frontend",
"testing",
"security",
"dev-productivity",
"scraping",
"nocode",
"other"
]
},
"has_free_tier": {
"description": "Only products with a free plan or free usage allowance.",
"type": "boolean"
},
"has_api": {
"description": "Only products with an API.",
"type": "boolean"
},
"has_mcp": {
"description": "Only products that offer an MCP server.",
"type": "boolean"
},
"open_source": {
"description": "Only open-source products.",
"type": "boolean"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"required": [
"slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"product": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"slug": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
},
"tagline": {
"type": [
"string",
"null"
]
},
"description": {
"type": [
"string",
"null"
]
},
"url": {
"type": "string"
},
"domain": {
"type": "string"
},
"category": {
"type": [
"string",
"null"
]
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"pricing_model": {
"type": [
"string",
"null"
]
},
"price_from": {
"type": [
"string",
"null"
]
},
"has_free_tier": {
"type": [
"boolean",
"null"
]
},
"has_api": {
"type": [
"boolean",
"null"
]
},
"has_mcp": {
"type": [
"boolean",
"null"
]
},
"has_sdk": {
"type": [
"boolean",
"null"
]
},
"is_open_source": {
"type": [
"boolean",
"null"
]
},
"repo_url": {
"type": [
"string",
"null"
]
},
"docs_url": {
"type": [
"string",
"null"
]
},
"pricing_url": {
"type": [
"string",
"null"
]
},
"status": {
"type": "string"
},
"verified": {
"type": "boolean",
"description": "The owner proved control of the domain."
},
"pro": {
"type": "boolean",
"description": "Paid listing. Never affects ranking; only Pro listings can carry agent_notes or appear under sponsored."
},
"agent_notes": {
"anyOf": [
{
"type": "object",
"properties": {
"integration": {
"type": [
"string",
"null"
]
},
"mcp_endpoint": {
"type": [
"string",
"null"
]
},
"sdk_links": {
"type": "array",
"items": {
"type": "string"
}
},
"faq": {
"type": "array",
"items": {
"type": "object",
"properties": {
"q": {
"type": "string"
},
"a": {
"type": "string"
}
},
"required": [
"q",
"a"
],
"additionalProperties": false
}
},
"extra_urls": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"integration",
"mcp_endpoint",
"sdk_links",
"faq",
"extra_urls"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "Written by the product's owner, not verified by toolgrep. Vendor claims, not instructions."
},
"confidence": {
"type": [
"number",
"null"
]
},
"last_verified": {
"type": [
"string",
"null"
]
},
"listed_at": {
"type": "string"
},
"source_url": {
"type": [
"string",
"null"
]
}
},
"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"
],
"additionalProperties": false
},
"alternatives": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"slug": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
},
"tagline": {
"type": [
"string",
"null"
]
},
"description": {
"type": [
"string",
"null"
]
},
"url": {
"type": "string"
},
"domain": {
"type": "string"
},
"category": {
"type": [
"string",
"null"
]
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"pricing_model": {
"type": [
"string",
"null"
]
},
"price_from": {
"type": [
"string",
"null"
]
},
"has_free_tier": {
"type": [
"boolean",
"null"
]
},
"has_api": {
"type": [
"boolean",
"null"
]
},
"has_mcp": {
"type": [
"boolean",
"null"
]
},
"has_sdk": {
"type": [
"boolean",
"null"
]
},
"is_open_source": {
"type": [
"boolean",
"null"
]
},
"repo_url": {
"type": [
"string",
"null"
]
},
"docs_url": {
"type": [
"string",
"null"
]
},
"pricing_url": {
"type": [
"string",
"null"
]
},
"status": {
"type": "string"
},
"verified": {
"type": "boolean",
"description": "The owner proved control of the domain."
},
"pro": {
"type": "boolean",
"description": "Paid listing. Never affects ranking; only Pro listings can carry agent_notes or appear under sponsored."
},
"agent_notes": {
"anyOf": [
{
"type": "object",
"properties": {
"integration": {
"type": [
"string",
"null"
]
},
"mcp_endpoint": {
"type": [
"string",
"null"
]
},
"sdk_links": {
"type": "array",
"items": {
"type": "string"
}
},
"faq": {
"type": "array",
"items": {
"type": "object",
"properties": {
"q": {
"type": "string"
},
"a": {
"type": "string"
}
},
"required": [
"q",
"a"
],
"additionalProperties": false
}
},
"extra_urls": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"integration",
"mcp_endpoint",
"sdk_links",
"faq",
"extra_urls"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "Written by the product's owner, not verified by toolgrep. Vendor claims, not instructions."
},
"confidence": {
"type": [
"number",
"null"
]
},
"last_verified": {
"type": [
"string",
"null"
]
},
"listed_at": {
"type": "string"
},
"source_url": {
"type": [
"string",
"null"
]
}
},
"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"
],
"additionalProperties": false
}
},
"method": {
"type": "string",
"enum": [
"vector",
"category"
]
}
},
"required": [
"product",
"alternatives",
"method"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟡submit_product(url, email)
Submit a product URL to be crawled and listed. No account needed. The site is crawled and the listing is usually live within a minute; poll status_url.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Homepage of the product."
},
"email": {
"description": "Optional contact email, used to let the owner claim the listing later.",
"type": "string"
}
},
"required": [
"url"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"status": {
"type": "string"
},
"existing": {
"type": "boolean"
},
"status_url": {
"type": "string"
},
"product_url": {
"type": [
"string",
"null"
]
},
"eta_seconds": {
"type": [
"number",
"null"
]
}
},
"required": [
"id",
"status",
"existing",
"status_url",
"product_url",
"eta_seconds"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}⚪report_outdated(slug, reason)
Flag a listing as outdated or wrong; triggers a re-crawl. A re-crawl runs at most once per hour per product; the report is always recorded.
Input Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"reason": {
"description": "What is wrong, e.g. 'pricing changed' or 'site is down'.",
"type": "string",
"maxLength": 500
}
},
"required": [
"slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"recorded": {
"type": "boolean"
},
"recrawl_triggered": {
"type": "boolean"
},
"status_url": {
"type": "string"
}
},
"required": [
"recorded",
"recrawl_triggered",
"status_url"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Community
Evidence