Find and compare AI tools by role, task and industry, with pricing and sources.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Get full sourced listings for two to four tools side by side, with the tasks and sectors they share.
Two to four tool slugs.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http toolgrail https://toolgrail.vercel.app/api/mcp/
Get full sourced listings for two to four tools side by side, with the tasks and sectors they share.
| Argument | Type | Description |
|---|---|---|
| slugs* | array | Two to four tool slugs. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"slugs"
],
"properties": {
"slugs": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
"maxLength": 100,
"minLength": 1
},
"maxItems": 4,
"minItems": 2,
"description": "Two to four tool slugs."
}
}
}Get the full sourced listing for one tool by slug, including capabilities, integrations, platforms and data considerations.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Tool slug, such as "claude". |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
"maxLength": 100,
"minLength": 1,
"description": "Tool slug, such as \"claude\"."
}
}
}List the roles, tasks and sectors ToolGrail maps tools to, with slugs and canonical URLs. Results are paged per kind; there are hundreds of roles.
| Argument | Type | Description |
|---|---|---|
| kind | string | Omit to list all three. |
| limit | integer | Most items per kind. |
| offset | integer | Items to skip per kind. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"kind": {
"enum": [
"role",
"task",
"sector"
],
"type": "string",
"description": "Omit to list all three."
},
"limit": {
"type": "integer",
"default": 100,
"maximum": 200,
"minimum": 1,
"description": "Most items per kind."
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 10000,
"minimum": 0,
"description": "Items to skip per kind."
}
}
}List tools for task slugs, ordered by published fit weights, optionally for a sector. A role supplies its suggested tasks when taskSlugs is omitted. Get slugs from list_taxonomy or search_tools. Each listing includes the tool's own MCP server, if any; set mcp to keep only tools that connect to AI assistants.
| Argument | Type | Description |
|---|---|---|
| mcp | string | Only tools whose own MCP server matches: yes, no, or a connection type (oauth = sign in with account, none = no sign-in, api-key, local). |
| role | string | Role slug. |
| limit | integer | Most tools to return. |
| sector | string | Sector slug. Limits results to tools that serve this sector and favours specialists. |
| taskSlugs | array | Task slugs. Required unless role is given. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"mcp": {
"enum": [
"yes",
"no",
"oauth",
"none",
"api-key",
"local"
],
"type": "string",
"description": "Only tools whose own MCP server matches: yes, no, or a connection type (oauth = sign in with account, none = no sign-in, api-key, local)."
},
"role": {
"type": "string",
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
"maxLength": 100,
"minLength": 1,
"description": "Role slug."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 25,
"minimum": 1,
"description": "Most tools to return."
},
"sector": {
"type": "string",
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
"maxLength": 100,
"minLength": 1,
"description": "Sector slug. Limits results to tools that serve this sector and favours specialists."
},
"taskSlugs": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
"maxLength": 100,
"minLength": 1
},
"maxItems": 10,
"minItems": 1,
"description": "Task slugs. Required unless role is given."
}
}
}Search tools, roles, tasks and sectors in plain language, with spelling correction. Returns sourced tool listings and the taxonomy terms the query matched. Example: "meeting transcription" or "hotel manager". Each listing includes the tool's own MCP server, if any; set mcp to keep only tools that connect to AI assistants.
| Argument | Type | Description |
|---|---|---|
| mcp | string | Only tools whose own MCP server matches: yes, no, or a connection type (oauth = sign in with account, none = no sign-in, api-key, local). |
| limit | integer | Most tools to return. |
| query* | string | What the person wants to do, their role, their sector or a tool name. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"query"
],
"properties": {
"mcp": {
"enum": [
"yes",
"no",
"oauth",
"none",
"api-key",
"local"
],
"type": "string",
"description": "Only tools whose own MCP server matches: yes, no, or a connection type (oauth = sign in with account, none = no sign-in, api-key, local)."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 25,
"minimum": 1,
"description": "Most tools to return."
},
"query": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "What the person wants to do, their role, their sector or a tool name."
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 12, 2026.