diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b25c15b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*~ diff --git a/Containerfile b/Containerfile index 8697462..f783c7c 100644 --- a/Containerfile +++ b/Containerfile @@ -10,11 +10,11 @@ RUN pip install --no-cache-dir \ beautifulsoup4 # Copy the MCP server script -COPY ddg-mcp-server.py /app/ +COPY ddg_mcp_server.py /app/ # Expose the MCP server port EXPOSE 9870 # Run the MCP server -CMD ["python", "ddg-mcp-server.py"] +CMD ["python", "ddg_mcp_server.py"] diff --git a/ddg-mcp-server.py b/ddg_mcp_server.py similarity index 98% rename from ddg-mcp-server.py rename to ddg_mcp_server.py index 9e9cc91..cec4a5d 100644 --- a/ddg-mcp-server.py +++ b/ddg_mcp_server.py @@ -237,4 +237,8 @@ async def fetch_content(url: str, ctx: Context) -> str: """ return await fetcher.fetch_and_parse(url, ctx) -mcp.run(transport="streamable-http") +def main(): + mcp.run(transport="streamable-http") + +if __name__ == "__main__": + main() diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..c94ace3 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,31 @@ +[build-system] +requires = ["setuptools>=61.0", "wheel"] +build-backend = "setuptools.build_meta" + +[project] +name = "ddg-mcp-server" +version = "0.1.0" +authors = [{name = "Nick Clyde"}] +description = "DuckDuckGo MCP server for search and web content fetching" +readme = "README.md" +requires-python = ">=3.8" +dependencies = [ + "mcp", + "httpx", + "beautifulsoup4", +] +classifiers = [ + "Programming Language :: Python :: 3", + "License :: OSI Approved :: MIT License", + "Operating System :: OS Independent", +] + +[project.urls] +Homepage = "https://github.com/trustgraph-ai/ddg" +Original = "https://github.com/nickclyde/duckduckgo-mcp-server" + +[project.scripts] +ddg-mcp-server = "ddg_mcp_server:main" + +[tool.setuptools] +py-modules = ["ddg_mcp_server"] \ No newline at end of file