From b442e970ce30458af1d7bb14dcaed1da97bfc7ca Mon Sep 17 00:00:00 2001 From: Richa Shiny Date: Mon, 21 Sep 2026 20:08:01 -0400 Subject: [PATCH] Forward server instructions through proxy --- src/mcp_proxy/proxy_server.py | 5 ++++- tests/test_proxy_server.py | 14 +++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/mcp_proxy/proxy_server.py b/src/mcp_proxy/proxy_server.py index 0cced2e..1a2b73b 100644 --- a/src/mcp_proxy/proxy_server.py +++ b/src/mcp_proxy/proxy_server.py @@ -20,7 +20,10 @@ async def create_proxy_server(remote_app: ClientSession) -> server.Server[object capabilities = response.capabilities logger.debug("Configuring proxied MCP server...") - app: server.Server[object] = server.Server(name=response.serverInfo.name) + app: server.Server[object] = server.Server( + name=response.serverInfo.name, + instructions=response.instructions, + ) if capabilities.prompts: logger.debug("Capabilities: adding Prompts...") diff --git a/tests/test_proxy_server.py b/tests/test_proxy_server.py index cf1e0a5..8a19896 100644 --- a/tests/test_proxy_server.py +++ b/tests/test_proxy_server.py @@ -25,6 +25,7 @@ from mcp_proxy.proxy_server import create_proxy_server TOOL_INPUT_SCHEMA = {"type": "object", "properties": {"input1": {"type": "string"}}} +SERVER_INSTRUCTIONS = "Use this server when you need the proxied tools." SessionContextManager = Callable[[Server[object]], AbstractAsyncContextManager[ClientSession]] @@ -62,7 +63,18 @@ def session_generator(request: pytest.FixtureRequest) -> SessionContextManager: @pytest.fixture def server() -> Server[object]: """Return a server instance.""" - return Server("test-server") + return Server("test-server", instructions=SERVER_INSTRUCTIONS) + + +async def test_server_instructions_are_preserved( + session_generator: SessionContextManager, + server: Server[object], +) -> None: + """Return the wrapped server's instructions during initialization.""" + async with session_generator(server) as session: + result = await session.initialize() + + assert result.instructions == SERVER_INSTRUCTIONS @pytest.fixture