Skip to content

Commit 96f3cf2

Browse files
authored
CR
1 parent dabe327 commit 96f3cf2

File tree

1 file changed

+21
-18
lines changed

1 file changed

+21
-18
lines changed

src/mcp/server/fastmcp/server.py

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,8 @@ class Settings(BaseSettings, Generic[LifespanResultT]):
8080
# prompt settings
8181
warn_on_duplicate_prompts: bool = True
8282

83+
show_server_info: bool = True
84+
8385
dependencies: list[str] = Field(
8486
default_factory=list,
8587
description="List of dependencies to install in the server environment",
@@ -140,7 +142,7 @@ def name(self) -> str:
140142
def instructions(self) -> str | None:
141143
return self._mcp_server.instructions
142144

143-
def run(self, transport: Literal["stdio", "sse"] = "stdio", show_server_info = True) -> None:
145+
def run(self, transport: Literal["stdio", "sse"] = "stdio") -> None:
144146
"""Run the FastMCP server. Note this is a synchronous function.
145147
146148
Args:
@@ -150,25 +152,26 @@ def run(self, transport: Literal["stdio", "sse"] = "stdio", show_server_info = T
150152
if transport not in TRANSPORTS.__args__: # type: ignore
151153
raise ValueError(f"Unknown transport: {transport}")
152154

153-
run = lambda: self._run(transport, show_server_info)
155+
run = lambda: self._run(transport)
154156
anyio.run(run)
155157

156-
async def _run(transport: Literal["stdio", "sse"], show_server_info: bool = True):
157-
logger.info(f"Server name: {mcp.name}")
158-
logger.info(f"Server: {mcp.settings.host}:{mcp.settings.port}")
159-
assets = {
160-
'tools': await mcp.list_tools(),
161-
'resources': await mcp.list_resources(),
162-
'prompts': await mcp.list_prompts(),
163-
'resource_templates': await mcp.list_resource_templates()
164-
}
165-
for asset_type, asset_list in assets.items():
166-
if not asset_list:
167-
continue
168-
logger.info(f"{asset_type}:")
169-
for asset in asset_list:
170-
logger.info(f" - {asset.name} - {asset.description}")
171-
logger.info("Server running...")
158+
async def _run(transport: Literal["stdio", "sse"]):
159+
if self.settings.show_server_info:
160+
logger.info(f"Server name: {mcp.name}")
161+
logger.info(f"Server: {mcp.settings.host}:{mcp.settings.port}")
162+
assets = {
163+
'tools': await mcp.list_tools(),
164+
'resources': await mcp.list_resources(),
165+
'prompts': await mcp.list_prompts(),
166+
'resource_templates': await mcp.list_resource_templates()
167+
}
168+
for asset_type, asset_list in assets.items():
169+
if not asset_list:
170+
continue
171+
logger.info(f"{asset_type}:")
172+
for asset in asset_list:
173+
logger.info(f" - {asset.name} - {asset.description}")
174+
logger.info("Server running...")
172175
if transport == "stdio":
173176
await self.run_stdio_async()
174177
else: # transport == "sse"

0 commit comments

Comments
 (0)