# Tool design/MCP

> Tool design is how a tool is named, described, and exposed, including over the Model Context Protocol (MCP).

How a tool is named, described, and exposed, including over MCP.

Track: Agents
Access: free
Card: https://buildsparkai.com/tool-design
Plain text: https://buildsparkai.com/tool-design.md
Last checked: 2026-10-18

## What it is

Tool design is the name, the description, and the input schema you give a tool before a model can ask for it. OpenAI's function calling guide says the description is details on when and how to use the function, and lists clear names and parameter descriptions as the first practice. Anthropic's define-tools guide says a tool definition includes a name, a plaintext description of what the tool does, when it should be used, and how it behaves, and a JSON schema for the parameters. The same guide says a detailed description is by far the most important factor in tool performance, and to aim for at least three or four sentences. The Model Context Protocol is one way to expose that tool: a name, a description, and an input schema, listed below.

## Why it matters

**Cost.** The definition rides along in the request. OpenAI's function calling guide says callable function definitions count against the model's context limit and are billed as input tokens. A longer description uses more input tokens. This card does not add a price.

**Quality.** The model picks a tool from the name and the description. Anthropic's guide says the description should cover what the tool does, when to use it, when not to, and what each parameter means. OpenAI's guide says to keep the number of functions available at the start of a turn small, and calls fewer than 20 a soft suggestion.

**Risk.** A tool the model can name is a tool your code may run. The MCP tools specification says servers must validate tool inputs, and that clients should prompt before a sensitive call. Annotations on a tool are hints. The specification says not to trust them from a server you do not trust.

## Try today

Take one function you already expose. Write the name, when to call it, when not to, and what each parameter means. If you expose it over MCP, check that the tool has a name, a description, and an input schema.

## Common mistake

A name like do_thing and a description that only says what it does, not when to use it. Anthropic's guide says the description is how the model decides when and how to call the tool.

## Self-check

A tool is named do_thing. The description is "Does the thing." What is missing?

When to use it, and what each parameter means

## Practice and deep

Coming soon. One tool you already expose, rewritten so the description says when to call it and when not to.

Coming soon. How an MCP tool definition lines up with an OpenAI or Anthropic function schema.

## Sources

- [Model Context Protocol, What is MCP?](https://modelcontextprotocol.io/docs/getting-started/intro)
- [Model Context Protocol, Tools specification](https://modelcontextprotocol.io/specification/2025-11-25/server/tools)
- [Anthropic, Define tools](https://platform.claude.com/docs/en/agents-and-tools/tool-use/define-tools)
- [OpenAI, Function calling](https://developers.openai.com/api/docs/guides/function-calling)

Opened 2026-10-18. Spec and vendor docs. This card does not add a rate or a usage count. OpenAI's "fewer than 20" line is that page's soft suggestion, not a limit this card measured.
