Skip to main content
Glama
lukwe

Geo-INQUIRE MCP Server

by lukwe
README.md
# Geo-INQUIRE MCP Server

This worktree contains the MCP-backed implementation for the Geo-INQUIRE OGC API Processes workflow. The baseline Skill.md-only implementation stays in the `main` worktree.

Install the package in editable mode from this worktree:

```bash
python3 -m pip install -e .
```

Then run the stdio server with:

```bash
python3 -m geoinquire_mcp.server
```

## MCP Client Configuration

An example MCP client configuration is available at:

```text
examples/mcp-client.json
```

Use it as the `mcpServers` entry for an MCP-capable client, or copy the `geoinquire` server block into an existing client config. The example does not use a machine-specific path. It expects `geoinquire-mcp` to be installed in the same Python environment that the client reaches through `python3`.

Before wiring it into a client, run the local smoke test without touching the remote API:

```bash
python3 -m geoinquire_mcp.server --self-test
```

## Operation Tools

- `geoinquire_plan_operation`: interpret a user request plus structured inputs into a preflight plan, candidate payload, missing values, warnings, and next question.
- `geoinquire_get_processes`: fetch the live process list and include local audited summaries.
- `geoinquire_describe_process`: fetch a live process description and include the local audited summary.
- `geoinquire_validate_payload`: validate an execution payload against local audited process rules.
- `geoinquire_execute_operation`: submit a confirmed execution payload. It refuses to run unless `confirmed: true`.
- `geoinquire_get_job_status`: poll a Geo-INQUIRE job using the correct `/geoinquire/jobs/{jobId}` path.
- `geoinquire_get_job_results`: fetch job results and preserve artifact metadata.
- `geoinquire_run_job_to_completion`: submit a confirmed async operation, poll to terminal status, and fetch results on success.

The server is intentionally not a 1:1 wrapper around the HTTP API. It groups related API calls and validation behavior into operations while leaving the natural-language preflight and confirmation discussion in `SKILL.md`.