Skip to content

Multiple server instances #12

Open
@jtabox

Description

@jtabox

Hi,
I'm not 100% sure if the following issue is this mcp server's or Docker's MCP Toolkit's, if it doesn't belong here let me know and I'll post it there.
It happens only with this mcp server in any case.

So using this server with Docker's new MCP Toolkit, it seems that when a new instance is created (e.g. after a reboot, potentially when a client e.g. VS Code is restarted) the previous containers aren't being removed. So after some reboots and a couple VS Code restarts, the list of containers looks like this:

Image

Their logs are pretty much the same too, so I can't figure out what each container is used for:

  • Container 1:
2025-06-05 18:38:37.766 | {"jsonrpc":"2.0","id":1,"result":{"protocolVersion":"2024-11-05","capabilities":{"experimental":{},"prompts":{"listChanged":false},"resources":{"subscribe":false,"listChanged":false},"tools":{"listChanged":false}},"serverInfo":{"name":"ddg-search","version":"1.7.0"}}}
2025-06-05 18:38:37.774 | [06/05/25 16:38:37] INFO     Processing request of type            server.py:534
2025-06-05 18:38:37.774 |                              ListToolsRequest                                   
2025-06-05 18:38:37.775 | {"jsonrpc":"2.0","id":2,"result":{"tools":[{"name":"search","description":"\n    Search DuckDuckGo and return formatted results.\n\n    Args:\n        query: The search query string\n        max_results: Maximum number of results to return (default: 10)\n        ctx: MCP context for logging\n    ","inputSchema":{"properties":{"query":{"title":"Query","type":"string"},"max_results":{"default":10,"title":"Max Results","type":"integer"}},"required":["query"],"title":"searchArguments","type":"object"}},{"name":"fetch_content","description":"\n    Fetch and parse content from a webpage URL.\n\n    Args:\n        url: The webpage URL to fetch content from\n        ctx: MCP context for logging\n    ","inputSchema":{"properties":{"url":{"title":"Url","type":"string"}},"required":["url"],"title":"fetch_contentArguments","type":"object"}}]}}
2025-06-05 18:38:37.778 |                     INFO     Processing request of type            server.py:534
2025-06-05 18:38:37.778 |                              ListPromptsRequest                                 
2025-06-05 18:38:37.779 | {"jsonrpc":"2.0","id":3,"result":{"prompts":[]}}
2025-06-05 18:38:37.782 |                     INFO     Processing request of type            server.py:534
2025-06-05 18:38:37.782 |                              ListResourcesRequest                               
2025-06-05 18:38:37.783 | {"jsonrpc":"2.0","id":4,"result":{"resources":[]}}
2025-06-05 18:38:37.786 |                     INFO     Processing request of type            server.py:534
2025-06-05 18:38:37.786 |                              ListResourceTemplatesRequest                       
2025-06-05 18:38:37.787 | {"jsonrpc":"2.0","id":5,"result":{"resourceTemplates":[]}}
  • Container 2:
2025-06-05 18:45:17.797 | {"jsonrpc":"2.0","id":1,"result":{"protocolVersion":"2024-11-05","capabilities":{"experimental":{},"prompts":{"listChanged":false},"resources":{"subscribe":false,"listChanged":false},"tools":{"listChanged":false}},"serverInfo":{"name":"ddg-search","version":"1.7.0"}}}
2025-06-05 18:45:17.804 | [06/05/25 16:45:17] INFO     Processing request of type            server.py:534
2025-06-05 18:45:17.804 |                              ListToolsRequest                                   
2025-06-05 18:45:17.805 | {"jsonrpc":"2.0","id":2,"result":{"tools":[{"name":"search","description":"\n    Search DuckDuckGo and return formatted results.\n\n    Args:\n        query: The search query string\n        max_results: Maximum number of results to return (default: 10)\n        ctx: MCP context for logging\n    ","inputSchema":{"properties":{"query":{"title":"Query","type":"string"},"max_results":{"default":10,"title":"Max Results","type":"integer"}},"required":["query"],"title":"searchArguments","type":"object"}},{"name":"fetch_content","description":"\n    Fetch and parse content from a webpage URL.\n\n    Args:\n        url: The webpage URL to fetch content from\n        ctx: MCP context for logging\n    ","inputSchema":{"properties":{"url":{"title":"Url","type":"string"}},"required":["url"],"title":"fetch_contentArguments","type":"object"}}]}}
2025-06-05 18:45:17.811 |                     INFO     Processing request of type            server.py:534
2025-06-05 18:45:17.811 |                              ListPromptsRequest                                 
2025-06-05 18:45:17.812 | {"jsonrpc":"2.0","id":3,"result":{"prompts":[]}}
2025-06-05 18:45:17.814 |                     INFO     Processing request of type            server.py:534
2025-06-05 18:45:17.814 |                              ListResourcesRequest                               
2025-06-05 18:45:17.815 | {"jsonrpc":"2.0","id":4,"result":{"resources":[]}}
2025-06-05 18:45:17.817 |                     INFO     Processing request of type            server.py:534
2025-06-05 18:45:17.817 |                              ListResourceTemplatesRequest                       
2025-06-05 18:45:17.818 | {"jsonrpc":"2.0","id":5,"result":{"resourceTemplates":[]}}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions