File size: 2,205 Bytes
2f203f5 9892398 a83e3a6 0d3fd72 2f203f5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
[project]
name = "data360-mcp"
version = "0.1.2"
description = "Model Context Protocol (MCP) server that gives LLM agents and chatbots direct access to the World Bank's Data360 Platform. Search, validate, and retrieve development indicators—from GDP and poverty to gender equality and climate—with structured metadata and time-series data, without hallucinating values."
readme = "README.md"
requires-python = ">=3.11"
dependencies = [
"fastmcp>=3.4.3",
"prefab-ui>=0.20.2",
"mcp>=1.18.0",
"fastapi>=0.115.0",
"uvicorn[standard]>=0.30.0",
"typer>=0.20.1",
"gunicorn>=23.0.0",
"pydantic-settings>=2.0.0",
"python-dotenv>=1.0.0",
"draco @ git+https://github.com/avsolatorio/draco2.git@data360-mcp",
"pandas>=3.0.0",
"cachetools>=6.2.4",
"scikit-learn>=1.8.0",
"vl-convert-python>=1.9.0.post1",
"huggingface-hub",
"openai",
"Pillow>=10.0.0",
"deepeval>=4.1.0",
]
[build-system]
requires = ["setuptools>=42", 'setuptools-scm']
build-backend = "setuptools.build_meta"
[tool.setuptools.packages.find]
where = ["src"]
[tool.setuptools.package-data]
data360 = ["tool_contract_version.json", "databases.json", "ref_area_groups.json"]
[tool.ruff.lint]
select = ['I', 'UP', 'PL', 'F401']
[[tool.uv.index]]
name = "pypi"
url = "https://pypi.org/simple"
default = true
[tool.pyright]
typeCheckingMode = "standard"
extraPaths = ["packages/data360-mcp-agent/src"]
[tool.poe.tasks.serve]
help = "Run the Data360 MCP server"
cmd = "uv run fastmcp run src/data360/server.py --transport ${transport} --port ${port}"
args = [
{name = "transport", options = ["--transport", "-t"], default = "streamable-http"},
{name = "port", options = ["--port", "-p"], default = "8021"},
]
[tool.poe.tasks.test]
help = "Run tests"
cmd = "pytest"
[tool.poe.tasks.test-cov]
help = "Run tests with coverage"
cmd = "pytest --cov=src/data360 --cov-report=term-missing"
[tool.poe.tasks.licenses]
help = "Regenerate THIRD_PARTY_LICENSES.md"
cmd = "python scripts/generate_licenses.py"
[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = ["test_*.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "function"
|