> ## Documentation Index
> Fetch the complete documentation index at: https://docs.useagents.site/llms.txt
> Use this file to discover all available pages before exploring further.

# get_tool_context

> Use the `get_tool_context` MCP tool to fetch authoritative install, usage, and I/O guidance for a selected tool slug.

Use `get_tool_context` after `search_tools` to fetch implementation-ready context for a specific tool. This is the authoritative step in the UseAgents MCP workflow for installation guidance, examples, and usage shape.

<Info>
  Requires an API key. Configure the `x-api-key` header when [connecting the
  MCP server](/mcp/connecting).
</Info>

## Parameters

| Parameter | Type   | Required | Description                                           |
| --------- | ------ | -------- | ----------------------------------------------------- |
| `slug`    | string | Yes      | Exact tool slug selected from a `search_tools` result |

## Returns

The tool returns data in **Toon** (Token-Oriented Object Notation), a compact, token-efficient format for LLM consumption. Learn more at [toonformat.dev](https://toonformat.dev).

When context is available, the response is the encoded tool context payload. See the example below for the exact Toon shape currently returned for `redop`.

If context is not available for the slug, the tool returns a structured error payload instead of guessed guidance.

## Example call

```json theme={null}
{
  "slug": "redop"
}
```

Example response (Toon format):

```text theme={null}
name: Redop
slug: redop
tagline: "Bun-first TypeScript framework for building MCP servers with tools, resources, and prompts."
docsUrl: "https://www.npmjs.com/package/@redopjs/redop"
install[2]:
  - label: Install into an existing project
    steps[2]:
      - title: Add dependencies
        command: bun add @redopjs/redop zod
      - title: Start an HTTP server
        notes: "Create a server with `new Redop({...}).tool(...).listen({...})` and expose MCP over HTTP."
  - label: Scaffold a new server
    steps[1]{title,command,notes}:
      Generate a starter project,bun create redop-app,"Use this when you want transport, schema, and deploy presets generated for you."
examples[3]:
  - title: Minimal MCP server (HTTP)
    description: A small server with one tool using Zod validation and HTTP transport.
    language: ts
    code: "import { Redop } from \"@redopjs/redop\";\nimport { z } from \"zod\";\n\nnew Redop({\n  name: \"example\",\n  title: \"Example MCP\",\n  version: \"0.1.0\",\n  capabilities: { tools: true, prompts: true, resources: true },\n})\n  .tool(\"echo\", {\n    description: \"Echo back input\",\n    input: z.object({ text: z.string().min(1) }),\n    handler: async ({ input }) => ({ text: input.text }),\n  })\n  .listen({ port: 3000, hostname: \"0.0.0.0\", cors: true });"
  - title: Add a prompt surface
    description: Return reusable prompt material instead of executing a task.
    language: ts
    code: "import { Redop } from \"@redopjs/redop\";\n\nnew Redop({ name: \"example\", version: \"0.1.0\" }).prompt(\"code_review\", {\n  description: \"Reusable code review prompt\",\n  arguments: [{ name: \"code\", required: true }],\n  handler: ({ arguments: args }) => [\n    {\n      role: \"user\",\n      content: { type: \"text\", text: `Review this code:\\n\\n${args.code}` },\n    },\n  ],\n});"
  - title: Run locally
    language: bash
    code: "bun install\nbun run src/index.ts"
io:
  inputs[2]{name,description}:
    tool definitions,"Register tools with a name, description, Zod input schema (optional), annotations (optional), and a handler."
    middleware and hooks,Compose behavior with `.use(...)` middleware and lifecycle hooks like `afterResponse` for post-response work.
  outputs[2]{name,description}:
    MCP server,Exposes tools/resources/prompts over HTTP and/or stdio depending on transport configuration.
    typed handler contracts,Zod schemas become runtime validation and TypeScript inference for handler inputs.
```

## Unsupported slugs

If the slug has no available context, `get_tool_context` returns a structured fallback response. Current tool context coverage is limited.

Example unsupported response:

```text theme={null}
error: Tool context not found
slug: some-tool
hint: Context is currently available only for `redop`. Do not invent install or usage guidance for other slugs without context.
```

Treat this as a hard stop for authoritative setup guidance. Do not fill in installation commands or usage details from model memory when the tool says context is unavailable.

## Use this tool when

* The agent has already shortlisted a tool and needs authoritative setup guidance
* The agent needs install commands, examples, or usage shape before writing code
* The agent should avoid guessing documentation details from training data

## Typical workflow

1. Call [`search_tools`](/mcp/tools-reference/search-tools) with a natural-language task.
2. Select a candidate slug from the ranked results.
3. Call `get_tool_context` with that exact slug.
4. Use the returned install steps, examples, and I/O details when generating implementation guidance.
5. If no context is returned, say that the tool context is unavailable.

## Related pages

* [Introduction](/mcp/tools-reference/introduction)
* [`search_tools`](/mcp/tools-reference/search-tools)
* [Authentication](/mcp/tools-reference/authentication)
