An agent using MCP tools
MCP provides capabilities with explicit contracts.
What you will learn
- Explain: the model proposes, the tool executes
- Apply the idea in an example: An agent using MCP tools
- Recognize limitations and verify the exercise outcome
MCP provides capabilities with explicit contracts. Select only tools required for the task.
These steps refer to features identified in the application code. This material has not been validated on a live instance; check the documentation and the options in your version.
How it works, step by step
The model proposes, the tool executes
Tool calling produces a call request with a name and arguments. The application validates the schema, permissions and limits before execution. The result returns to context for the next step. For example, get_product_stock takes a SKU and returns a quantity; its description should explain that it does not reserve products. Distinguish empty results, validation errors, missing access and timeouts. Valid JSON does not prove the arguments are correct or the action is authorized. For external effects, also consider duplicate execution.
Host, client and server
MCP is a protocol connecting AI applications to external capabilities. The host provides the experience, the client manages the connection, and the server exposes tools, resources or prompts according to support. Tools execute operations; resources provide addressable content; prompts provide templates. Not every server implements all three. Transport carries messages, authentication identifies callers, and authorization controls access. Check protocol revision and supported extensions at both ends. Compatibility cannot be inferred from an “MCP” label alone.
Check access before use
Permissions must be enforced by servers and the data layer. Do not let the model decide whether a user may see a document. Filter sources before they enter context, not after generating the answer. Use minimal-access credentials, keep them out of prompts, screenshots and browser code, and rotate exposed keys. A widget domain allowlist does not replace API authentication. Authentication identifies you; authorization determines the operations and data you can use. Test denied access too.
The visual map
Follow the solid arrows for the main flow. Dashed blue arrows supply data or context; dashed pink arrows show feedback or returning results. Colors and shapes distinguish models, stores, decisions and outputs. On smaller screens, scroll horizontally to follow the entire diagram.
A complete example
Connect a demonstration server, discover tools and select get_product_stock for the agent. A missing SKU triggers clarification rather than arbitrary access to all orders.
Try it yourself
- Enable a read-only tool and test a valid SKU, missing SKU and denied access.
- Record the input, source and expected outcome before running the experiment. Use only the fictional data in the example.
- Follow the diagram stages. At every step record what information is received and produced; do not confuse intermediate output with the final outcome.
- Repeat after removing necessary information or making the input ambiguous. Check whether the system clarifies, stops or invents an answer.
- Compare with the explained solution. Keep the configuration, date, result and an explanation for differences. Change one thing and retest.
An explained solution
The call reads permitted SKU stock and treats access denial as an error rather than zero stock. A successful exercise lets you show the connection between input, stages and outcome. When information is missing, a cautious answer is more useful than invented details. Compare more than style: check conditions, sources and operations too.
When it helps and what can go wrong
A tool description is not a security control. Choose this approach when it improves a measured need. Keep a simple baseline and compare outcomes using identical inputs. One successful example does not establish reliability in every situation.
Check your understanding
Who executes a call proposed by the model?
The application or host service after validation. The model does not automatically gain unrestricted access.
Does a server with tools automatically offer resources and prompts?
No. Capabilities are optional and must be discovered and checked.
What outcome should this exercise produce?
The call reads permitted SKU stock and treats access denial as an error rather than zero stock.
Words to remember
- Tool calling: A structured request to use an external capability.
- MCP server: A service exposing capabilities through Model Context Protocol.
- Autorizare / Authorization: Checking the right to access an operation or resource.
Sources and your next step
To prepare: A03 — An agent connected to knowledge