-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Closed
Labels
bugSomething isn't working. Reports of errors, unexpected behavior, or broken functionality.Something isn't working. Reports of errors, unexpected behavior, or broken functionality.serverRelated to FastMCP server implementation or server-side functionality.Related to FastMCP server implementation or server-side functionality.
Description
Description
When using FastMCP.as_proxy(), the title parameter of tools is set to None instead of preserving the original value.
>>> await mcp.get_tools()
# {'name': FunctionTool(name='name', title='title', description=None, tags=set(), enabled=True)}
>>> await FastMCP.as_proxy(mcp).get_tools()
# {'name': ProxyTool(name='name', title=None, description=None, tags=set(), enabled=True)}Example Code
# /// script
# requires-python = ">=3.14"
# dependencies = [
# "fastmcp==2.13.1",
# ]
# ///
from anyio import run
from fastmcp import FastMCP
mcp = FastMCP()
@mcp.tool("name", title="title")
def _(): ...
@run
async def _():
print(await mcp.get_tools())
print(await FastMCP.as_proxy(mcp).get_tools())Version Information
FastMCP version: 2.13.1
MCP version: 1.22.0
Python version: 3.14.0
Platform: Windows-11-10.0.26200-SP0
FastMCP root path: D:\dev\deep-search\.venv\Lib\site-packages
Metadata
Metadata
Assignees
Labels
bugSomething isn't working. Reports of errors, unexpected behavior, or broken functionality.Something isn't working. Reports of errors, unexpected behavior, or broken functionality.serverRelated to FastMCP server implementation or server-side functionality.Related to FastMCP server implementation or server-side functionality.