Local openQA mcp client
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"openqa-mcp","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# openqa-mcp An [MCP](https://modelcontextprotocol.io) server that exposes curated, typed tools over the [openQA](https://open.qa) REST API. It is built on [fastmcp](https://github.com/jlowin/fastmcp) 3.x and the [openqa-async](https://pypi.org/project/openqa-async/) transport client. Read tools work anonymously; mutating tools require API credentials and return `403` without them. ## Install ```sh uv sync ``` This installs the package and its dependencies into a project virtualenv and exposes the `openqa-mcp` console script. ## Configuration The server reads its configuration from environment variables, falling back to the openQA client config file for credentials. ### Environment variables | Variable | Default | Purpose | | --- | --- | --- | | `OPENQA_SERVER` | openqa-async default | openQA host (e.g. `openqa.opensuse.org`). | | `OPENQA_API_KEY` | *(unset)* | API key; overrides the config file when set. | | `OPENQA_API_SECRET` | *(unset)* | API secret; overrides the config file when set. | | `OPENQA_VERIFY` | `true` | TLS verification: `true`/`false`, or a path to a CA bundle. | | `OPENQA_MCP_TIMEOUT` | `30.0` | Per-request HTTP timeout (seconds) for openQA calls; raise for slow queries like large `latest=1` failed-job lists. `<=0` disables the timeout. | `OPENQA_API_KEY` and `OPENQA_API_SECRET` only take effect when **both** are set; a partial pair is ignored so the client is never half-configured. ### Config file If the env credentials are not set, openqa-async loads them from `~/.config/openqa/client.conf` (or `/etc/openqa/client.conf`). Generate a key/secret from the *API keys* page of your openQA instance and add a section keyed by the host: ```ini [openqa.opensuse.org] key = YOUR_API_KEY secret = YOUR_API_SECRET ``` Without any credentials the server is GET-only (read tools succeed, mutating tools get `403`). ## Tools ### Read tools | Tool | Description | | --- | --- | | `list_jobs` | List jobs matching the given filters. Pass `summary=True…
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.