Skip to content

Commit 109a915

Browse files
authored
šŸ› Bugfix: Fixed the issue of being unable to add MCP services via containerization. (#3213)
[Specification Details] 1. Modify the DEFAULT_NETWORK_NAME when starting the MCP service in the container to match the name in docker-compose. 2. Modify the parameters passed to the add_mcp_service method; custom_headers defaults to None.
1 parent b6b6027 commit 109a915

3 files changed

Lines changed: 10 additions & 10 deletions

File tree

ā€Žbackend/services/remote_mcp_service.pyā€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ async def add_mcp_service(
230230
server_url: str,
231231
tags: list | None,
232232
authorization_token: str | None,
233-
custom_headers: dict | None,
233+
custom_headers: dict | None = None,
234234
container_config: dict | None,
235235
registry_json: dict | None,
236236
enabled: bool = False,

ā€Žsdk/nexent/container/docker_client.pyā€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ class ContainerConnectionError(Exception):
5757
class DockerContainerClient(ContainerClient):
5858
"""Docker container client implementation"""
5959

60-
DEFAULT_NETWORK_NAME = "nexent_nexent"
60+
DEFAULT_NETWORK_NAME = "nexent_network"
6161

6262
def __init__(self, config: DockerContainerConfig):
6363
"""

ā€Žtest/sdk/container/test_docker_client.pyā€Ž

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1627,10 +1627,10 @@ def test_ensure_network_exists(self, docker_container_client):
16271627
mock_network = MagicMock()
16281628
docker_container_client.client.networks.get.return_value = mock_network
16291629

1630-
docker_container_client._ensure_network("nexent_nexent")
1630+
docker_container_client._ensure_network("nexent_network")
16311631

16321632
docker_container_client.client.networks.get.assert_called_once_with(
1633-
"nexent_nexent")
1633+
"nexent_network")
16341634
docker_container_client.client.networks.create.assert_not_called()
16351635

16361636
def test_ensure_network_create_new(self, docker_container_client):
@@ -1640,12 +1640,12 @@ def test_ensure_network_create_new(self, docker_container_client):
16401640
mock_network = MagicMock()
16411641
docker_container_client.client.networks.create.return_value = mock_network
16421642

1643-
docker_container_client._ensure_network("nexent_nexent")
1643+
docker_container_client._ensure_network("nexent_network")
16441644

16451645
docker_container_client.client.networks.get.assert_called_once_with(
1646-
"nexent_nexent")
1646+
"nexent_network")
16471647
docker_container_client.client.networks.create.assert_called_once_with(
1648-
"nexent_nexent")
1648+
"nexent_network")
16491649

16501650
def test_ensure_network_race_condition(self, docker_container_client):
16511651
"""Test ensuring network when race condition occurs (another process creates it)"""
@@ -1657,7 +1657,7 @@ def test_ensure_network_race_condition(self, docker_container_client):
16571657
docker_container_client.client.networks.create.side_effect = APIError(
16581658
"Network already exists")
16591659

1660-
docker_container_client._ensure_network("nexent_nexent")
1660+
docker_container_client._ensure_network("nexent_network")
16611661

16621662
assert docker_container_client.client.networks.get.call_count == 2
16631663
docker_container_client.client.networks.create.assert_called_once()
@@ -1672,15 +1672,15 @@ def test_ensure_network_create_fails_then_get_fails(self, docker_container_clien
16721672
"Create failed")
16731673

16741674
with pytest.raises(ContainerError, match="Failed to create or get Docker network"):
1675-
docker_container_client._ensure_network("nexent_nexent")
1675+
docker_container_client._ensure_network("nexent_network")
16761676

16771677
def test_ensure_network_get_api_error(self, docker_container_client):
16781678
"""Test ensuring network when get raises APIError"""
16791679
docker_container_client.client.networks.get.side_effect = APIError(
16801680
"API error")
16811681

16821682
with pytest.raises(ContainerError, match="Failed to get Docker network"):
1683-
docker_container_client._ensure_network("nexent_nexent")
1683+
docker_container_client._ensure_network("nexent_network")
16841684

16851685

16861686
# ---------------------------------------------------------------------------

0 commit comments

Comments
Ā (0)