Skip to main content

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

Project description

groundworkers

groundworkers is the reusable capability layer for OMOP-grounded lookup, mapping, source planning, and knowledge-pack discovery.

You can use it in three ways:

  • as an MCP service for agentic clients and tool discovery
  • as a REST service for fixed workflow applications
  • as a direct Python library for in-process orchestration

No patient-level writes. No session state. No transport-specific business logic.

What it provides

  • OMOP concept lookup and hierarchy navigation
  • exact, normalized, full-text, and embedding-backed retrieval
  • mapping-oriented candidate bundles and context assembly
  • stateless source-planning workflows
  • LLM-backed text normalization and domain classification

Runtime model

flowchart TD
    STACK[shared stack config] --> BOOT[build_app_config]
    BOOT --> CFG[AppConfig]
    CFG --> APP[build_application]
    APP --> GW[GroundworkersApp]
    GW --> SVC[services]
    GW --> ADP[adapters]
    MCP[MCP client] --> TOOLS[MCP tools]
    REST[REST client] --> API[REST transport]
    PY[Python caller] --> SVC
    TOOLS --> SVC
    TOOLS -. adapter-backed primitives .-> ADP
    API --> SVC

build_application(...) is the composition root. It builds one reusable runtime container with transport-agnostic services plus dependency-facing adapters. Most caller-facing workflows go through services; some MCP tools are intentionally adapter-backed when the capability is closer to a backend primitive than a domain service.

Quick start

Install

pip install groundworkers

Optional extras:

pip install "groundworkers[llm,embedding-pgvector]"

Configure the shared stack

omop-config configure omop_alchemy
omop-config configure omop_graph
omop-config configure groundworkers
# optional if you want embedding-backed capabilities
omop-config configure omop_emb

Start MCP

groundworkers --describe
groundworkers --transport streamable-http --host 0.0.0.0 --port 8000

Start REST

groundworkers --transport rest --host 0.0.0.0 --port 8080

Use from Python

from groundworkers.app import build_application
from groundworkers.bootstrap import build_app_config

config = build_app_config()
app = build_application(config)

mapping = app.services.mapping
bundle = mapping.concept_candidate_bundle(
    "type 2 diabetes",
    domain="Condition",
    include_normalized=True,
    include_fulltext=True,
    include_embedding=True,
)

Main surfaces

Surface Best for
MCP tools Tool discovery, agent interoperability, shared capability services
REST routes Typed HTTP workflows such as candidate bundles and assisted source planning
app.services.* In-process Python applications and batch workflows
app.adapters.* Backend wrappers used when you intentionally need dependency-shaped primitives

Learn more

  • Docs home: docs/index.md
  • Configuration: docs/usage/configuration.md
  • Integrations: docs/usage/integrations.md
  • Architecture: docs/architecture.md

Companion repos

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.3.2.tar.gz (96.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.3.2-py3-none-any.whl (119.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: groundworkers-0.3.2.tar.gz
  • Upload date:
  • Size: 96.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.3.2.tar.gz
Algorithm Hash digest
SHA256 855e19e686f00ef4a9e168f4610368cafadd6af2ee3233aa295bbd55bd9d16ea
MD5 c87752c8969697dead234c60c27c568d
BLAKE2b-256 0ccabfd2f9e7ffd8948f7318304057166f535a60348007f6ef95f45e2c343d03

See more details on using hashes here.

Provenance

The following attestation bundles were made for groundworkers-0.3.2.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.3.2-py3-none-any.whl.

File metadata

  • Download URL: groundworkers-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 119.9 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.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1a190492091739be8c7356213db6e22cc59a6a9dcc83c6c21a7df08f7e9811fe
MD5 d03b5fe9f7f21a01ec3ea3c553af744b
BLAKE2b-256 aabc94b7e0a0deed442e402006d24b35a7d6e85e5219503a2aa4a5e6dd7aa311

See more details on using hashes here.

Provenance

The following attestation bundles were made for groundworkers-0.3.2-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