Skip to content

Commit 78e3f4c

Browse files
committed
fix: pass version and description correctly to MCP Server
1 parent e5cad13 commit 78e3f4c

2 files changed

Lines changed: 10 additions & 1 deletion

File tree

fastapi_mcp/server.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@ def __init__(
3434
Optional[str],
3535
Doc("Name for the MCP server (defaults to app.title)"),
3636
] = None,
37+
version: Annotated[
38+
Optional[str],
39+
Doc("Version for the MCP server (defaults to app.version)"),
40+
] = None,
3741
description: Annotated[
3842
Optional[str],
3943
Doc("Description for the MCP server (defaults to app.description)"),
@@ -98,6 +102,7 @@ def __init__(
98102

99103
self.fastapi = fastapi
100104
self.name = name or self.fastapi.title or "FastAPI MCP"
105+
self.version = version or self.fastapi.version
101106
self.description = description or self.fastapi.description
102107

103108
self._base_url = "http://apiserver"
@@ -141,7 +146,7 @@ def setup_server(self) -> None:
141146
# Filter tools based on operation IDs and tags
142147
self.tools = self._filter_tools(all_tools, openapi_schema)
143148

144-
mcp_server: Server = Server(self.name, self.description)
149+
mcp_server: Server = Server(name=self.name, version=self.version, instructions=self.description)
145150

146151
@mcp_server.list_tools()
147152
async def handle_list_tools() -> List[types.Tool]:
@@ -654,3 +659,4 @@ def _filter_tools(self, tools: List[types.Tool], openapi_schema: Dict[str, Any])
654659
}
655660

656661
return filtered_tools
662+

tests/test_basic_functionality.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,13 @@ def test_create_mcp_server(simple_fastapi_app: FastAPI):
99
mcp = FastApiMCP(
1010
simple_fastapi_app,
1111
name="Test MCP Server",
12+
version="1.2.3",
1213
description="Test description",
1314
)
1415

1516
# Verify the MCP server was created correctly
1617
assert mcp.name == "Test MCP Server"
18+
assert mcp.version == "1.2.3"
1719
assert mcp.description == "Test description"
1820
assert isinstance(mcp.server, Server)
1921
assert len(mcp.tools) > 0, "Should have extracted tools from the app"
@@ -31,6 +33,7 @@ def test_default_values(simple_fastapi_app: FastAPI):
3133

3234
# Verify default values
3335
assert mcp.name == simple_fastapi_app.title
36+
assert mcp.version == simple_fastapi_app.version
3437
assert mcp.description == simple_fastapi_app.description
3538

3639
# Mount with default path

0 commit comments

Comments
 (0)