Skip to content

fix: improve DuckDuckGo MCP gateway reliability and clarify platform … #91

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

nickorefice
Copy link

fix: improve DuckDuckGo MCP gateway reliability and clarify platform usage

  • Added mcp-config.yaml with explicit DDG_USER_AGENT to help bypass DuckDuckGo bot detection.
  • Updated compose.yaml to mount the new MCP config and explicitly set platform: linux/amd64 for all services.
  • Specifying the platform ensures consistent builds across different host architectures (e.g., Apple Silicon).
  • These changes make web search more reliable for all users and reduce bot detection issues.

…usage

- Added mcp-config.yaml with explicit DDG_USER_AGENT to help bypass DuckDuckGo bot detection.
- Updated compose.yaml to mount the new MCP config and explicitly set platform: linux/amd64 for all services.
- Specifying the platform ensures consistent builds across different host architectures (e.g., Apple Silicon).
- These changes make web search more reliable for all users and reduce bot detection issues.
@jeampyz
Copy link

jeampyz commented Jul 20, 2025

Rretiro duck

services:
adk:
platform: linux/amd64
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question: why does this need to hardcode the platform? What problem is solved by adding it?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's possible its simply just my local environment that's broken.

When I remove 'platform' the build hangs.

docker compose up ─╯

[+] Running 2/2
✔ Container adk-adk-1 Recreate... 2.5s
! adk The requested image's platform (linux/arm64) does not match the detected host platform (linux/amd64/v3) and no specific platform was requested 0.0s
Attaching to adk-1, mcp-gateway-1
mcp-gateway-1 | - Reading configuration...
mcp-gateway-1 | - Reading catalog from https://desktop.docker.com/mcp/catalog/v2/catalog.yaml
mcp-gateway-1 | - Configuration read in 55.178129ms
mcp-gateway-1 | - No server is enabled
mcp-gateway-1 | - Listing MCP tools...
mcp-gateway-1 | > 0 tools listed in 11.371µs
mcp-gateway-1 | > Initialized in 56.841104ms
mcp-gateway-1 | > Start sse server on port 8811
adk-1 | exec /entrypoint.sh: exec format error
adk-1 exited with code 255

use_api_socket: true
volumes:
# allow gateway to spin up MCP servers via Docker
- /var/run/docker.sock:/var/run/docker.sock:ro
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

issue: I think this can be safely removed, use_api_socket takes care of mounting the socket.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

valid point. This is a copilot hallucination

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense, that was recently added to compose :-)

@@ -1,33 +1,40 @@
version: "3.8"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

issue: version is obsolete and should not be used anymore

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

valid point. This is a copilot hallucination

- --cpus=1
- --memory=2Gb
- -e
- DDG_USER_AGENT="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question: I'm not sure if we should get into agent spoofing, but in any case could you please clarify how this environment variable gets used? I cannot find any references to it in https://github.com/nickclyde/duckduckgo-mcp-server - Thanks!

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The DDG_USER_AGENT is another hallucination. I just tested without it and it works. When I tried to run with mcp-gateway as written it wasn't working for me so this was a best effort to get it to work. :)

mcp-gateway:
# mcp-gateway secures your MCP servers
image: docker/mcp-gateway:latest
use_api_socket: true
command:
- --transport=sse
# add any MCP servers you want to use
- --servers=duckduckgo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants