---
title: "List Available Mcp Tools"
method: GET
path: "/api/v1/mcp-tools/available"
tags: ["grep-public-api"]
---

# List Available Mcp Tools

`GET /api/v1/mcp-tools/available`

## Request

- Base URL: `https://api.grep.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.grep.ai/api/v1/mcp-tools/available`
- Auth: none declared

List all MCP tools the Expert Builder can attach to an expert.

Source of truth: the tool manifests in the backend tool registry. Each
manifest's static `[[tools]]` is enumerated; OpenAPI-handler manifests fall
back to canonical entries in TOOL_TO_KEY_MAP (the dispatcher's allow-list).
Dynamic-MCP providers with no static tools emit a single provider-level
bundle so users can attach the whole server. The parcha-tools
document-verification tools are appended statically — they are native MCP
tools served by the parcha-tools sibling service, not registry providers.

## Response `200`

Successful Response

- MCPToolsListResponse: Response for listing available MCP tools.
  - `servers` string[], required
  - `tools` MCPToolInfo[], required
    - `category` string, nullable: Category: search, scraping, enrichment, screening, etc.
    - `description` string, nullable: Brief description of tool functionality
    - `display_name` string, nullable: Friendly label for the picker (e.g., 'web search v1beta search post').
    - `is_default` boolean, required: True if already included in research defaults
    - `name` string, required: Full tool name (e.g., 'parallel:web_search_v1beta_search_post')
    - `server` string, required: MCP server / provider name (e.g., 'brightdata', 'middesk')
    - `short_name` string, required: Short name for display (e.g., 'web_search_v1beta_search_post')
  - `total_count` integer, required

---

[API](https://skmtc.dev/grep/apis/grep-api.md) - [All operations](https://skmtc.dev/grep/apis/grep-api/llms.txt) - [OpenAPI document](https://skmtc.dev/grep/apis/grep-api/revisions/3719dd7f43ec?raw)
