---
title: MCP Tools
description: JSON-RPC tool reference for the MCP Worker.
type: reference
summary: Tool names, use cases, and request shape.
related:
  - /en/docs/client-setup
  - /en/docs/rest
  - /en/docs/frameworks
  - /en/docs/errors
---

# MCP Tools



POST JSON-RPC 2.0 requests to:

```txt
https://mcp.aiworkflowmcp.com/mcp
```

## Initialize [#initialize]

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "initialize",
  "params": {
    "protocolVersion": "2025-06-18",
    "capabilities": {},
    "clientInfo": {
      "name": "example-client",
      "version": "1.0.0"
    }
  }
}
```

The server returns `serverInfo.name: "aiworkflowmcp-cloudflare-v2"` and a tools capability object.

## List Tools [#list-tools]

```bash
curl -fsS https://mcp.aiworkflowmcp.com/mcp \
  -H "content-type: application/json" \
  --data '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/list"
  }'
```

## Call A Tool [#call-a-tool]

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_ai_model",
    "arguments": {
      "model_id": "gpt-5"
    }
  }
}
```

## Tools [#tools]

* `get_ai_model(model_id)`: model pricing, context, modalities, limits, provenance, and evidence.
* `get_coding_tool(tool_id)`: install, command surface, supported models, environment variables, and source evidence.
* `search_official_docs(query, tool_id?, include_markdown?, fresh_only?)`: official docs with optional R2 Markdown.
* `search_skills(task, harness?, fresh_only?)`: official and major-vendor agent Skills.
* `search_cli(task, tool_id?, include_docs?, fresh_only?)`: CLI command-surface facts.
* `search_mcp(task, official_only?, include_docs?, fresh_only?)`: official and major-vendor MCP servers.
* `search_frameworks(query, domain?, include_candidates?, limit?)`: thinking framework search.
* `route_framework(task, domain?, include_candidates?)`: route a user task to an operating framework.
* `get_framework(framework_id)`: retrieve a published framework card.

## Tool Selection [#tool-selection]

Use `get_ai_model` when the user names a specific model id such as `gpt-5` or `claude-opus-4-7`.

Use `get_coding_tool` when the user names a tool id such as `claude-code`, `openai-codex-cli`, `cursor`, or `windsurf`.

Use search tools when the user describes a task and the agent needs discovery. Keep the query concise and English-first.

Use framework tools when the user asks for a decision path, operating checklist, risk review, product strategy, or agent workflow routing.

## Response Contract [#response-contract]

Successful `tools/call` responses use this shape:

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{ ... }"
      }
    ],
    "structuredContent": {
      "id": "gpt-5",
      "evidence": {
        "source_url": "https://example.com",
        "key": "evidence/model/gpt-5/hash.json",
        "content_hash": "hash",
        "stale": false
      }
    }
  }
}
```

Agents should read `structuredContent` for deterministic behavior and reserve `content` for user-facing summaries.

## Freshness [#freshness]

Use `fresh_only=true` for commercial paths that must reject stale facts. Health degrades when stale public facts, source errors, or quality gate failures are visible.

## Limits [#limits]

`tools/call` is rate-limited. Public calls use IP-minute scope. Authenticated calls use API-key-minute scope.

Current production limits are exposed by `/health`:

```txt
public: 120 requests/minute
authenticated: 600 requests/minute
```

## Unsupported JSON-RPC Behavior [#unsupported-json-rpc-behavior]

Batch requests are not supported. Notifications and accepted MCP signal payloads return `202` with an empty body. Unknown methods return JSON-RPC `-32601`.


---

For a semantic overview of all documentation, see [/en/sitemap.md](/en/sitemap.md)

For an index of all available documentation, see [/en/llms.txt](/en/llms.txt)