Regulatory MCP Server — requirements, compliance reviews with artifact screening, submissions/filings, regulatory-change monitoring, and change control for energy, food & beverage, legal, and pharma agents
Regulatory MCP Server
A regulatory-affairs layer for ADK-Rust Enterprise agents across energy, food & beverage, legal, and pharmaceuticals. 27 MCP tools spanning requirements, compliance reviews (with artifact screening), submissions/filings, regulatory-change monitoring, and change control.
What It Does
The spine is requirements (the rules) → compliance reviews that check artifacts against them → submissions to authorities, plus change monitoring and change control. One model serves all 7 agents.
| Domain | Agents this server backs | |--------|--------------------------| | Energy & Utilities | Rate Case Evidence Builder | | Food & Beverage | Allergen Label Review · Nutritional Claims Reviewer | | Legal | Policy Compliance Reviewer · Regulatory Change Monitor | | Pharmaceuticals | CMC Change Control · Regulatory Submission Builder |
Architecture
Key Mechanics
- Artifact screening —
auto_screenmatches an artifact's text against active requirements' keywords and seeds advisory findings ("this references a topic governed by 21 CFR 101.4 — verify"). A heuristic aid, not a compliance determination. - Review gating — a review can't be completed while open critical/major findings remain; the verdict (compliant / compliant-with-conditions / non-compliant) is derived if not supplied.
- Submission gating — a filing can only be
submit-ted once it has dossier sections and every section is complete. Filing to an authority is classedexternal_write. - Change-control interlock — a change control must have its reportability assessed before a decision, and a prior-approval change can only be marked implemented once its linked submission is Approved.
Tools (27)
Requirements (3)
add_requirement · get_requirement · search_requirements
Compliance Reviews (7)
create_review · get_review · search_reviews · auto_screen · add_finding · set_finding_disposition · complete_review (gated)
Submissions / Filings (7)
create_submission · get_submission · search_submissions · add_section · set_section_complete · submit (gated, external) · record_determination (gated)
Regulatory Change Monitoring (4)
log_change · get_change · search_changes · assess_change
Change Control (6)
open_change_control · get_change_control · assess_reportability · link_submission · decide_change_control (gated) · implement_change_control (gated)
Example — label compliance review
> create_review(domain: "food_beverage", artifact_ref: "label:BAR-7", artifact_kind: "label", reviewer: "ra.lee")
> auto_screen(review_id: "REV-…", artifact_text: "Contains peanut and milk. All natural protein bar, supports immune health.")
→ 2 findings flagged: 21 CFR 101.4 (allergen labeling) · 16 CFR 260 (claims)
> complete_review(review_id: "REV-…") → completed · verdict "compliant"
Example — change control with prior approval (CMC)
> open_change_control(title: "New API supplier", change_area: "manufacturing site", requested_by: "cmc")
> assess_reportability(change_control_id: "CC-…", reportability: "prior_approval", justification: "site change needs PAS")
> decide_change_control(change_control_id: "CC-…", approve: true)
> implement_change_control(change_control_id: "CC-…")
→ Error: prior-approval change requires an Approved linked submission
> create_submission(...) → add_section(complete:true) → submit(...) → record_determination(approved: true)
> link_submission(change_control_id: "CC-…", submission_id: "SUB-…")
> implement_change_control(change_control_id: "CC-…") → implemented ✓
Installation
1. Build
git clone https://github.com/zavora-ai/mcp-regulatory
cd mcp-regulatory
cargo build --release
2. Add to your MCP client
Claude Desktop / Kiro / Cursor / Windsurf:
{
"mcpServers": {
"regulatory": {
"command": "/path/to/mcp-regulatory"
}
}
}
3. Use it
> search_requirements(domain: "food_beverage", query: "allergen")
> search_changes(status: "action_required")
Governance & Data Handling
- Gated regulatory-significant writes — review completion, submission filing, authority determination, and change-control decision/implementation require approval in production; reads and screening are
read_only. - Filing is an external write —
submitis classedexternal_write(it represents transmitting to a regulator). - Defensible records — reviews, submissions, and change controls carry immutable audit trails.
auto_screenis advisory — keyword screening is a triage aid, never a substitute for qualified regulatory review.- Integration scaffold — the in-memory store is for development; back it with your real RIM/regulatory system and bind actors to authenticated identities in production.
MCP Server Manifest
server_id = "mcp_regulatory"
display_name = "Regulatory Affairs"
version = "1.0.0"
domain = "compliance"
risk_level = "high"
writes_allowed = "gated"
transports = ["stdio"]
Contributors
| 
James Karanja Maina |
|:---:|
License
Apache-2.0 — see LICENSE for details.
Part of the ADK-Rust Enterprise MCP server ecosystem.
Registry Compliance
This server implements the ADK MCP SDK contract:
- HealthCheck — async health probe for registry monitoring
- mcp-server.toml — manifest declaring tools, risk classes, and approval gates
- Structured tracing —
RUST_LOGenv-filter for observability