Skip to content

Commit a6e4d8e

Browse files
committedJan 18, 2025·
use mcpx docker transport
1 parent 05af1b9 commit a6e4d8e

File tree

6 files changed

+73
-152
lines changed

6 files changed

+73
-152
lines changed
 

‎mcp_bridge/config/final.py

+1-6
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from pydantic import BaseModel, Field
44

55
from mcp.client.stdio import StdioServerParameters
6+
from mcpx.client.transports.docker import DockerMCPServer
67

78

89
class InferenceServer(BaseModel):
@@ -36,12 +37,6 @@ class SSEMCPServer(BaseModel):
3637
# TODO: expand this once I find a good definition for this
3738
url: str = Field(description="URL of the MCP server")
3839

39-
class DockerMCPServer(BaseModel):
40-
container_name: str | None = Field(default=None, description="Name of the docker container")
41-
image: str = Field(description="Image of the docker container")
42-
args: list[str] = Field(default_factory=list, description="Command line arguments for the docker container")
43-
env: dict[str, str] = Field(default_factory=dict, description="Environment variables for the docker container")
44-
4540

4641
MCPServer = Annotated[
4742
Union[StdioServerParameters, SSEMCPServer, DockerMCPServer],

‎mcp_bridge/mcp_clients/DockerClient.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
import asyncio
2-
from mcp import ClientSession
32

43
from mcp_bridge.mcp_clients.session import McpClientSession
5-
from .transports.docker import docker_client
64
from mcp_bridge.config import config
7-
from mcp_bridge.config.final import DockerMCPServer
5+
from mcpx.client.transports.docker import docker_client, DockerMCPServer
86
from .AbstractClient import GenericMcpClient
97
from loguru import logger
108

‎mcp_bridge/mcp_clients/McpClientManager.py

+8-5
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
from typing import Union
2-
from mcp_bridge.config import config
3-
from mcp import McpError, StdioServerParameters
2+
43
from loguru import logger
4+
from mcp import McpError, StdioServerParameters
5+
from mcpx.client.transports.docker import DockerMCPServer
6+
7+
from mcp_bridge.config import config
8+
from mcp_bridge.config.final import SSEMCPServer
59

6-
from .StdioClient import StdioClient
7-
from .SseClient import SseClient
810
from .DockerClient import DockerClient
9-
from mcp_bridge.config.final import DockerMCPServer, SSEMCPServer
11+
from .SseClient import SseClient
12+
from .StdioClient import StdioClient
1013

1114
client_types = Union[StdioClient, SseClient, DockerClient]
1215

‎mcp_bridge/mcp_clients/transports/docker.py

-94
This file was deleted.

‎pyproject.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@ description = "A middleware to provide an openAI compatible endpoint that can ca
55
readme = "README.md"
66
requires-python = ">=3.11"
77
dependencies = [
8-
"aiodocker>=0.24.0",
98
"deepmerge>=2.0",
109
"fastapi>=0.115.6",
1110
"httpx>=0.28.1",
1211
"httpx-sse>=0.4.0",
1312
"lmos-openai-types",
1413
"loguru>=0.7.3",
1514
"mcp>=1.2.0",
15+
"mcpx[docker]>=0.1.1",
1616
"pydantic>=2.10.4",
1717
"pydantic-settings>=2.7.0",
1818
"sse-starlette>=2.2.0",

‎uv.lock

+62-43
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)
Please sign in to comment.