[build-system] requires = ["setuptools>=77"] build-backend = "setuptools.build_meta" [project] name = "agent-web-search-mcp" version = "0.8.1" description = "Agent-native web search MCP server and CLI for AI agents: model-native grounding, agent search APIs, keyless defaults" readme = "README.md" requires-python = ">=3.10" license = "MIT" license-files = ["LICENSE"] authors = [{name = "Jerry Liu"}] keywords = [ "ai-agents", "claude-code", "codex", "deepseek-harness", "dsh", "dsh-plugin", "exa", "grounding", "hermes-agent", "llm", "mcp", "mcp-server", "model-context-protocol", "opencode", "parallel", "search-grounding", "tavily", "web-search", ] classifiers = [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Topic :: Internet :: WWW/HTTP :: Indexing/Search", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Topic :: Software Development :: Libraries :: Python Modules", ] dependencies = [ "ddgs>=9.0", # Hermes pins mcp==2.0.0 (the httpx2-based line); the Hermes-native adapter # path never imports mcp, and the MCP-server entry points import cleanly on # 2.0.0, so the floor is 2.0 rather than 2.1. "mcp>=2.0,<3", "mcp-types>=2.0,<3", # starlette/uvicorn are deliberately not listed: `mcp` requires both # unconditionally, and stdio-only installs (pipx default) should not # carry HTTP-server constraints owned elsewhere. ] [project.urls] Homepage = "https://github.com/JerryLiu369/agent-web-search" Repository = "https://github.com/JerryLiu369/agent-web-search" Documentation = "https://github.com/JerryLiu369/agent-web-search#readme" Changelog = "https://github.com/JerryLiu369/agent-web-search/releases" Issues = "https://github.com/JerryLiu369/agent-web-search/issues" [project.optional-dependencies] dev = ["build>=1.2", "pytest>=8", "ruff>=0.6", "twine>=5"] [project.scripts] agent-web-search = "agent_web_search.cli:main" agent-web-search-mcp = "agent_web_search.mcp:main" [tool.setuptools.packages.find] include = ["agent_web_search*"] [tool.vercel] entrypoint = "agent_web_search.vercel:app" [tool.ruff] exclude = [".git", ".venv", "build", "dist", "*.egg-info"] [tool.ruff.lint] select = ["E4", "E7", "E9", "F", "BLE", "I", "UP", "B", "SIM", "RUF", "C4", "PT", "E501"] [tool.ruff.lint.per-file-ignores] "__init__.py" = ["N999"]