MCP server for querying the Ubergraph biomedical ontology SPARQL endpoint
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":"mcp-ubergraph-query","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.
# mcp-ubergraph-query An [MCP](https://modelcontextprotocol.io) server for querying the [Ubergraph](https://github.com/INCATools/ubergraph) biomedical ontology SPARQL endpoint. Ubergraph is a merged knowledge graph of OBO ontologies including MONDO, UBERON, HP, CHEBI, GO, CL, and more. This server exposes four tools that let AI assistants query it naturally. ## Tools | Tool | Description | |---|---| | `query_ubergraph` | Execute custom SPARQL SELECT queries | | `get_term_info` | Get label, definition, synonyms, and types for an ontology term | | `search_terms` | Search terms by label or synonym across ontologies | | `get_hierarchy` | Traverse parents, children, ancestors, or descendants | ## Quick Start ### Prerequisites - Python 3.10+ - [uv](https://docs.astral.sh/uv/) ### Install ```bash git clone https://github.com/twhetzel/mcp-ubergraph-query cd mcp-ubergraph-query uv sync --all-extras ``` ### Run the server locally The server uses **stdio** (stdin/stdout) for MCP transport. Start it with: ```bash uv run mcp-ubergraph-query ``` Or: ```bash uv run python -m ubergraph_query.server ``` Leave this process running; MCP clients (e.g. Claude Desktop, Cursor) connect by spawning this command and talking over stdin/stdout. ### Configure Claude Desktop Add to `~/Library/Application Support/Claude/claude_desktop_config.json`: ```json { "mcpServers": { "ubergraph": { "command": "uv", "args": [ "--directory", "/path/to/mcp-ubergraph-query", "run", "mcp-ubergraph-query" ] } } } ``` ## Configuration Copy `.env.example` to `.env` and adjust as needed: ```bash cp .env.example .env ``` | Variable | Default | Description | |---|---|---| | `UBERGRAPH_ENDPOINT` | `https://ubergraph.apps.renci.org/sparql` | SPARQL endpoint URL | | `QUERY_TIMEOUT_DEFAULT` | `30` | Default query timeout (seconds) | | `QUERY_LIMIT_MAX` | `1000` | Maximum allowed LIMIT value | | `ENABLE_QUERY_CACHE` | `true` | Enable in-…
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.