fix(config): Add support for MCP server configuration parameters (#812)

* fix(config): Add support for MCP server configuration parameters

* refact: rename the sse_readtimeout to sse_read_timeout

* update the code with review comments

* update the MCP document for the latest change
This commit is contained in:
Willem Jiang
2026-01-10 15:59:49 +08:00
committed by GitHub
parent e52e69bdd4
commit 6b73a53999
9 changed files with 207 additions and 13 deletions

View File

@@ -376,13 +376,41 @@ class TestMCPEndpoint:
request_data = {
"transport": "stdio",
"command": "test_command",
"timeout_seconds": 600,
"timeout_seconds": 60,
}
response = client.post("/api/mcp/server/metadata", json=request_data)
assert response.status_code == 200
mock_load_tools.assert_called_once()
# Verify timeout_seconds is passed to load_mcp_tools
call_kwargs = mock_load_tools.call_args[1]
assert call_kwargs["timeout_seconds"] == 60
@patch("src.server.app.load_mcp_tools")
@patch.dict(
os.environ,
{"ENABLE_MCP_SERVER_CONFIGURATION": "true"},
)
def test_mcp_server_metadata_with_sse_read_timeout(self, mock_load_tools, client):
"""Test that sse_read_timeout is passed to load_mcp_tools."""
mock_load_tools.return_value = []
request_data = {
"transport": "sse",
"url": "http://localhost:3000/sse",
"timeout_seconds": 30,
"sse_read_timeout": 15,
}
response = client.post("/api/mcp/server/metadata", json=request_data)
assert response.status_code == 200
mock_load_tools.assert_called_once()
# Verify both timeout_seconds and sse_read_timeout are passed
call_kwargs = mock_load_tools.call_args[1]
assert call_kwargs["timeout_seconds"] == 30
assert call_kwargs["sse_read_timeout"] == 15
@patch("src.server.app.load_mcp_tools")
@patch.dict(