|
1 | 1 | # EVE MCP |
2 | 2 |
|
3 | | -An MCP server for EVE. |
| 3 | +An [MCP](https://modelcontextprotocol.io/) server that exposes the |
| 4 | +[EVE](https://eve-chat.chat) Earth Observation chat API as a set of MCP |
| 5 | +tools. |
4 | 6 |
|
| 7 | +> **Status: alpha (v0.0.1) — work in progress.** APIs, tool names, and |
| 8 | +> wire formats may change without notice. Not yet recommended for |
| 9 | +> production use. |
| 10 | +
|
| 11 | +## Tools |
| 12 | + |
| 13 | +The server registers the following MCP tools: |
| 14 | + |
| 15 | +- `query_eve` — query the EVE RAG system and return the assembled answer |
| 16 | +- `list_eve_collections` — list publicly available document collections |
| 17 | +- `check_eve_health` — unauthenticated health check against the EVE API |
| 18 | +- `extract_factuality_issues` — analyze a Google Earth Engine Python |
| 19 | + script and surface scientific assumptions worth verifying |
| 20 | +- `assess_factuality_issue` — produce an expert-style assessment of an |
| 21 | + issue raised against a GEE script |
| 22 | + |
| 23 | +## Installation |
| 24 | + |
| 25 | +The project uses [Poetry](https://python-poetry.org/) and a Git |
| 26 | +submodule for the upstream `eve-api` client. |
| 27 | + |
| 28 | +```bash |
| 29 | +git clone --recurse-submodules https://github.com/<org>/eve-mcp.git |
| 30 | +cd eve-mcp |
| 31 | +poetry install |
| 32 | +``` |
| 33 | + |
| 34 | +If you cloned without `--recurse-submodules`: |
| 35 | + |
| 36 | +```bash |
| 37 | +git submodule update --init --recursive |
| 38 | +``` |
| 39 | + |
| 40 | +Supported Python versions: 3.11–3.14. |
| 41 | + |
| 42 | +## Configuration |
| 43 | + |
| 44 | +The server authenticates to EVE on first tool invocation using the |
| 45 | +following environment variables: |
| 46 | + |
| 47 | +| Variable | Required | Default | Purpose | |
| 48 | +| --------------- | -------- | ----------------------------- | -------------------------------- | |
| 49 | +| `EVE_EMAIL` | yes | — | EVE account email | |
| 50 | +| `EVE_PASSWORD` | yes | — | EVE account password | |
| 51 | +| `EVE_BASE_URL` | no | `https://api.eve-chat.chat` | EVE API base URL | |
| 52 | + |
| 53 | +## Running the server |
| 54 | + |
| 55 | +Over stdio (the standard MCP transport): |
| 56 | + |
| 57 | +```bash |
| 58 | +poetry run python -m eve_mcp.server |
| 59 | +``` |
| 60 | + |
| 61 | +## Development |
| 62 | + |
| 63 | +Install the pre-commit hooks once: |
| 64 | + |
| 65 | +```bash |
| 66 | +poetry run pre-commit install |
| 67 | +``` |
| 68 | + |
| 69 | +Run the full hook suite (black, isort, mypy, pylint, pytest+coverage) |
| 70 | +against all files: |
| 71 | + |
| 72 | +```bash |
| 73 | +poetry run pre-commit run --all-files |
| 74 | +``` |
| 75 | + |
| 76 | +## License |
| 77 | + |
| 78 | +MIT — see [LICENSE](LICENSE). |
0 commit comments