In short. ChatGPT uses a tool's name, description, and input schema to select and call an MCP plugin tool.
Definition: Tool selection metadata is the name, description, and parameter documentation exposed for an MCP tool. OpenAI documents these fields as inputs ChatGPT and Codex use when deciding when to call a tool.
Key facts
- OpenAI says that well-crafted names, descriptions, and parameter documentation increase recall on relevant prompts and reduce accidental activations in ChatGPT and Codex's tool use. See Optimize Metadata.
- The Define tools guide calls for a stable, action-oriented name, a concise human-readable title, a description of the user goal and trigger conditions, and an input schema containing parameter requirements.
- In the MCP server documentation, each tool has a name, description, input schema, and optional output schema, and these fields help the model decide when to call it and how to use its result.
- The plugin guidelines say tool names should be human-readable, specific, and descriptive, and that names must be unique within an MCP server.
What does ChatGPT read when it chooses a tool?
An MCP tool is a model-callable operation exposed by a plugin's server. OpenAI's MCP server documentation describes the tool contract as a name, description, input schema, and optional output schema. The client discovers the tools exposed by the server, the model selects a tool, and the model supplies arguments that match its input schema. The server then validates the request, performs the operation, and returns a result for the model to use.
The name identifies the action, the description frames the user intent, and the input schema constrains the arguments. The metadata therefore gives ChatGPT both a reason to select a tool and the structure needed to call it.
How should the name and description be written?
OpenAI's metadata guidance recommends pairing a domain with an action. Its example is calendar.create_event. The same guide recommends starting a description with “Use this when…” and naming disallowed cases such as “Do not use for reminders”.
calendar.create_event
Use this when…
Do not use for reminders
The Define tools guide says to describe the user intent rather than the implementation. It lists four useful elements: what the tool does, when to use it, how it differs from similar tools, and important limits or prerequisites. A description that only repeats the tool name leaves those selection signals undocumented.
The plugin guidelines add that names should use plain language that directly reflects the action, ideally as a verb, and should avoid internal jargon, unexplained acronyms, and opaque identifiers. They also require a nonempty description that matches the tool's purpose, behavior, schema, limitations, and side effects.
What belongs in the parameter documentation?
Parameter documentation explains each argument, includes examples, and gives allowed values for constrained inputs, according to OpenAI's Optimize Metadata guide. The Define tools guide describes an input schema as the place for required and optional parameters, types, allowed values, and limits.
Use explicit inputs for values required for correctness. OpenAI's tool design guidance says not to depend on the model guessing identifiers, account scope, or other required values. The schema should therefore make those distinctions visible in the tool contract and keep the description consistent with the fields the server accepts.
How can you test whether the metadata fits?
OpenAI recommends a labelled golden prompt set with direct prompts that name the product or data source, indirect prompts that describe the desired outcome, and negative prompts for cases that another tool should handle. For each prompt, document the expected behavior: call the tool, do nothing, or use an alternative.
The guide then recommends connecting the custom MCP server in ChatGPT, running the prompt set, and recording which tool was selected, which arguments were passed, and whether the component rendered. It names precision and recall as measures to track. Change one metadata field at a time and keep a log of revisions with timestamps and test results so each result can be attributed to a specific change.
Related terms
FAQ
Does the tool name alone decide selection?
No. OpenAI documents the name together with the description and input schema as the tool metadata used in selection, and its guidance recommends evaluating the complete contract with representative prompts.
What should a tool description contain?
State what the tool does, when to use it, how it differs from similar tools, and any important limits or prerequisites. The description also needs to match the tool's actual behavior and schema.
How do I check whether a description is clear?
Use direct, indirect, and negative prompts, record the selected tool and passed arguments, and track precision and recall. Change one metadata field at a time during the comparison.
Sources
- OpenAI Developers, "Optimize Metadata", undated
- OpenAI Developers, "Define tools", undated
- OpenAI Developers, "MCP server", undated
- OpenAI Developers, "Plugin guidelines", undated
Check how a page reads to answer engines. Open the GEO score analyzer