Deployment-readiness checks for document-QA and extraction AI: grounding, extraction, CI gate.
MCPpedia last refreshed this data
io.github.nickjlamb/groundwork is an MCP server that deployment-readiness checks for document-QA and extraction AI: grounding, extraction, CI gate. Its tool list has not been published yet over stdio, sse and http, requires no API key, and scores 51/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"groundwork": {
"args": [
"-y",
"@pharmatools/groundwork",
"mcp"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Deployment-readiness checks for document-QA and extraction AI: grounding, extraction, CI gate.
Run this in your terminal to verify the server starts. Then let us know if it worked - your result helps other developers.
npx -y '@pharmatools/groundwork' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories - click any category to see the underlying evidence.
No known CVEs.
Checked @pharmatools/groundwork against OSV.dev.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in devops
MCP server for using the GitLab API
MCP server for discovering, reading, and changing ZenML resources with compact generic tools
MCP server for Dynatrace Managed to access logs, events, and metrics.
An MCP server for Azure DevOps
MCP Security Weekly
Get CVE alerts and security updates for io.github.nickjlamb/groundwork and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Deployment-readiness harnesses for AI deployment patterns.
Redaction · evals from your real failures · a CI gate that fails fabrication
Website · Getting started · Examples · Roadmap · Contributing · Changelog
You have a prototype: your documents, a model, useful output. What you don't have is the apparatus that makes it responsible to ship — a privacy pre-step, an evaluation built from your own failures, and a gate that stops a quiet prompt tweak from deploying a system that fabricates. That apparatus usually requires an ML engineer. Groundwork scaffolds it instead.
Groundwork's units are deployment patterns, not products — think Terraform modules for trustworthy AI deployments. groundwork init <archetype> scaffolds the whole harness for a pattern:
| Archetype | The pattern | Status |
|---|---|---|
document-qa | documents → retrieval → grounded answers → human review | ✅ shipped |
extraction | documents → structured fields → schema validation → human review | ✅ shipped |
| research synthesis | questions → evidence → synthesis → human review | planned — see the roadmap |
Every check is deterministic: same inputs, same result, every time — no LLM judge, and no API key for the checks themselves.
git clone https://github.com/nickjlamb/groundwork.git && cd groundwork
npm install && npm run build
npm run demo # document QA: the whole loop passes, fully offline
npm run demo:break # the system starts fabricating — watch the gate go red
✗ GROUNDING demo-savings: ungrounded number "14" — not in the provided context
✗ GROUNDING demo-unanswerable-appeals: unanswerable question — the answer did not abstain
The same loop for structured extraction:
npm run demo:extraction # documents → fields, every check green
npm run demo:extraction:break # a guessed date of birth, a dropped field — red, by name
✗ EXTRACTION demo-referral: SCHEMA: /referral_date must be string
✗ EXTRACTION demo-referral: FABRICATED field "date_of_birth": document does not state it (got "12 April 1988")
That red build is the product: a fabricated figure, a guessed field, or a failed abstention becomes a CI failure, not a user complaint.
Ready for your own system?
npm install -D @pharmatools/groundwork
npx groundwork init # document QA
npx groundwork init extraction # structured extraction
| You edit | Groundwork runs | The gate enforces |
|---|---|---|
adapter.mjs — one file: answer() for document QA, extract() for extraction | Redaction pre-step (Redacta) — identifiers become labelled tokens locally, before anything is sent | check --baseline freezes a good run as the floor |
datasets/cases/*.json — gold cases from real que |