Skip to main content

Groundworkers MCP server — read-only agentive access to OMOP vocabularies, concept graphs, and embeddings.

Project description

groundworkers

groundworkers is an atomic, read-only MCP (Model Context Protocol) tool library for navigating the OMOP vocabularies. It exposes OMOP vocabulary lookups, embedding similarity search, cohort concept references, and system status as typed MCP tools that any MCP client can call — including groundcrew, Claude Code, and autonomous agents.

Read-only. No patient-level data. No write operations.

What it exposes

Group Tools
Concept concept_get, concept_by_code, concept_ancestors, concept_descendants, concept_relationships, concept_equivalency_path, concept_path, concept_map_to_standard, concept_neighbors
Resolver concept_ground (with parent_ids, scoring fields, and grounding_explanation)
Search concept_search_exact, concept_search_fulltext, concept_navigate_to_standard
Embedding embedding_index_status, embedding_neighbours, embedding_search, embedding_encode
Cohort cohort_find_concept_references
System system_status, system_vocabulary_catalogue

Tools are registered conditionally — if an adapter is not configured, its tools are simply not registered. system_status and system_vocabulary_catalogue are always registered so clients can always query adapter availability.

Quick start

uv venv
uv sync --extra dev --extra embedding-tools
uv run groundworkers --config config/groundworkers.example.yaml --describe

Start the server:

uv run groundworkers --config config/groundworkers.example.yaml

Example config

omop_graph:
  db_url: "postgresql+psycopg://user:pass@localhost:5432/omop"
  vocab_schema: omop_vocab

omop_emb:
  enabled: true
  backend_type: pgvector
  db_url: "postgresql+psycopg://user:pass@localhost:5432/omop"
  default_model_name: qwen3-embedding:0.6b
  api_base: "http://localhost:11434/v1"
  api_key: "ollama"

Install matrix

Use case Extras
Core server only none
Concept tools concept-tools
Cohort tools cohort-tools
Embedding tools (sqlite-vec) embedding-tools
Embedding tools (pgvector) embedding-pgvector
Embedding tools (FAISS sidecar) embedding-faiss
All tool families all-tools
All + pgvector embeddings all-tools-pgvector
All + FAISS embeddings all-tools-faiss
Development dev
Development + all tools dev-all

Layout

src/groundworkers/
  adapters/          — omop_graph, omop_emb, oa_cohorts adapter classes
  base/              — GroundcrewServer, errors, results, SQL helpers
  tools/             — MCP tool registrations by domain
  config.py          — Pydantic config models (AppConfig, OmopGraphConfig, etc.)
  server.py          — Server factory and CLI entry point
config/              — Example YAML configs
_design/             — Architecture notes and spec documents
tests/               — Unit and integration tests

Adapter backends

  • omop-graph — concept lookup, hierarchy traversal, full-text search
  • omop-emb — embedding index (sqlite-vec, pgvector, or FAISS sidecar)
  • OpenAnalytics cohorts — cohort concept reference queries (Phase N)

Companion repos

  • groundcrew — ACP orchestration layer that drives this tool substrate
  • omop-graph — OMOP virtual knowledge graph library
  • omop-emb — OMOP embedding index library

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

groundworkers-0.1.0.tar.gz (30.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

groundworkers-0.1.0-py3-none-any.whl (34.3 kB view details)

Uploaded Python 3

File details

Details for the file groundworkers-0.1.0.tar.gz.

File metadata

  • Download URL: groundworkers-0.1.0.tar.gz
  • Upload date:
  • Size: 30.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for groundworkers-0.1.0.tar.gz
Algorithm Hash digest
SHA256 83842d8670b8a1253194728c1224372f59d2acd1657c219841b94ef5defc316a
MD5 aacdf29a30fe33812a31453dc0f9010a
BLAKE2b-256 2a69335b0813a46e294689d06908435272c58dba3e6256c20385ab0ad7bb04d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for groundworkers-0.1.0.tar.gz:

Publisher: pypi.yml on AustralianCancerDataNetwork/groundworkers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file groundworkers-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: groundworkers-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 34.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for groundworkers-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a8bad5866314410e15d5e1767c9e9b329a877a0b3f24ad8da71dc58318a5c404
MD5 0e5d24fa816a82c9efaeeda6b2026cab
BLAKE2b-256 39583c55bf8134fcbce55c46e51597f565237333c0c2139d5616caaa4e7cb8dc

See more details on using hashes here.

Provenance

The following attestation bundles were made for groundworkers-0.1.0-py3-none-any.whl:

Publisher: pypi.yml on AustralianCancerDataNetwork/groundworkers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page