Model Context Protocol (MCP) for LLM Tool Integration › What Are “Tools” in LLMs?
Michael BrenndoerferMay 22, 20253 min read
Model Context Protocol (MCP) for LLM Tool Integration › What Are “Tools” in LLMs?One section · Sections in this article1 / 8 ↓
Sections in this article8
<TLDR>
MCP is not fundamentally different from the tool calls you may already be using. However, it introduces a clean and standardized way for language models to discover and use tools based on the prompt. With frameworks like FastMCP, you can expose and call these tools with very little setup. The model is able to determine which tools to use and what parameters to pass, all without custom routing logic.
* **MCP servers** are simple APIs that expose Python functions as tools by adding lightweight annotations.
* **MCP clients** are applications such as Cursor or Claude Desktop that connect to these servers, discover available tools, and allow the language model to use them automatically based on user input.
</TLDR>
If you have spent time working with LLMs like GPT or Claude, you have probably run into the limits of what they can do out of the box. They are excellent at answering questions, summarizing content, and even writing code. However, they are not well suited for tasks like fetching live stock prices, interacting with local developer tools, or performing real-time computations.
Traditionally, solving these kinds of problems meant wiring up custom function calls and writing logic to determine when and how to use them. That approach works, but it can quickly become difficult to maintain and scale.
**Model Context Protocol (MCP)** offers a cleaner alternative. It provides a lightweight and standardized way for language models to discover and use tools based entirely on the prompt. In this article, we will take a closer look at what MCP is, how it compares to traditional tool usage, and why it is an important upgrade for anyone building more advanced or flexible LLM-powered applications.
Tools are essentially function calls that a language model can execute in order to extend its capabilities beyond its training data.
For example, suppose you want your LLM to look up live stock prices. It does not know current prices on its own, but it can call a function like `search_web()` or `get_stock_price("AAPL")`. These functions, or “tools,” are implemented in the application that wraps around the model. They are not part of the model itself, whether that is GPT, Claude, Gemini, or something else.
Here is a simple example using FastMCP:
```python
# stocks.py
from fastmcp import mcp
@mcp.tool()
def get_stock_price(ticker: str) -> float:
# call a stock API
...
```
When the model receives a prompt like “What is the latest price of AAPL?”, it can decide to call this function to get an up-to-date answer.