Governed Agentic Companion
OfficialClick on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Governed Agentic Companionwhat is the deployment policy?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Governed Agentic Companion — a starter kit
A fork-and-build starter kit for a governed, orchestrator-driven multi-agent builder companion on Amazon Bedrock AgentCore, reachable from Kiro, Claude Code, or any MCP client. It is safe by construction: it never deploys or mutates an environment, never leaks a secret, and never presents an ungrounded guess as fact — and the boundary that keeps it safe has no off switch.
⚠️ Sample code — not for production as-is. This project is provided for demonstration and educational purposes only. It ships with example specialists and a generic knowledge base to illustrate the governance model. It is not intended for production use without additional security review, testing, and hardening — including your own review of the authentication, authorization, IAM, and credential-provisioning guidance in the deployment docs before you deploy anything to an AWS account.
This kit is the reference implementation of the AWS Prescriptive Guidance pattern "The Governed Companion". It is product- and customer-agnostic: it ships with two example specialists and a tiny generic knowledge base so you can see the governance work in seconds, then swap in your own specialists and knowledge.
What it helps with
The problem. On a delivery engagement it's easy to stand up an AI assistant; the hard part is making it safe to trust — and making the hard-won project knowledge outlast the people who learned it. That knowledge (the constraints, the decisions, the gotchas) lives in a few experts' heads and scattered docs, so every team rotation and every new customer builder pays to rediscover it. And an assistant that confidently invents a config value, or — worse — claims it "deployed to prod," is more dangerous than no assistant at all. Most "governed AI" is a hopeful instruction in a prompt that the model can ignore.
The core idea. Capture the project's knowledge once and put it to work every day — for the delivery team and the customer's own builders — as if each had a dedicated, project-trained expert on tap. The knowledge base is the durable asset: it's versioned and cited, it self-evolves as experts correct it and confirm new facts (human-reviewed, never auto-promoted), and it grows more valuable over the life of the engagement instead of walking out the door with the team. You're not renting answers from a generic model — you're building the customer a companion that knows their system and stays with them.
What this does. It gives you a governed team of agents whose guardrails are code, not prompts. Every response passes an always-on governance gate — with no off switch — that hard-blocks any answer that:
claims a deployment, apply, promote, restart, or environment mutation happened (a human deploys — always);
claims a write to a read-only system of record;
leaks a secret or credential; or
is an ungrounded LLM guess below the grounding bar.
When it can't ground an answer in the knowledge base, it says so and offers a path forward instead of guessing.
Who it's for. Any ProServe / builder team standing up an agentic assistant for an engagement that must be safe-by-construction and auditable — especially in regulated or production-adjacent work. It's meant for everyday use by both audiences: the delivery team leans on it while building, and the customer's own engineers keep using it to operate and extend the system after handover. Fork it, drop in your engagement's specialists and knowledge, and hand the customer a governed companion they keep — the knowledge you captured keeps paying off. MIT-0, so there are no strings on reuse.
Why it's different from a chatbot wrapper. The core answers deterministically with no LLM in the path (so factual recall can't hallucinate); the LLM tiers are optional and still gated; and every response carries a governance-outcome footer showing which tenets were checked, the measured grounding confidence, and the knowledge sources it used. Trust is demonstrated, not asserted.
Run it now, no cloud, no LLM:
python3 -m venv .venv && .venv/bin/pip install -r requirements.txt ./run.sh status # governance integrity + knowledge load ./run.sh ask "what is the deployment policy?" # grounded, deterministic, with a footer echo "I have deployed to production." | ./run.sh gate # watch the gate BLOCK it
Related MCP server: agentic-orchestrator MCP server
How to think about this tool — the human decides, always
Read this before you use the companion. It accelerates your work and puts a project-trained expert and a reasoning engine at your fingertips — but at its core, the human makes every decision and the human uses the tool. The companion never acts on the world on its own.
ReAct (Reasoning + Acting), operated by you. The engine reasons over the knowledge base and acts only by producing review-ready artifacts — an answer, a plan, a config, a command to run, a diff to apply. It does not deploy, apply, promote, restart, or mutate anything. You read the reasoning, judge it, and take the action if you agree.
Human-in-the-loop (HITL) at every decision. Nothing the companion produces is self-executing. A deployment is run by a human (Tenet 1); a knowledge correction is promoted by a human (Tenet 8); a system of record is never written by the agent (Tenet 3). The governance gate exists to keep those boundaries even if a model tries to cross them.
A tool, not an authority. Treat every answer as input to your judgment, not a verdict. The governance footer (trust zone, grounding confidence, cited sources) is there so you can weigh it — a verified/deterministic answer is grounded by construction; an exploration-zone (LLM) answer is a claim to verify. When the companion can't ground an answer, it says so rather than guessing — that is your cue to verify, not to trust.
You own the outcome. The companion makes you faster and better-informed; it does not transfer accountability. The right decision — and the responsibility for it — stays with you.
Everything below (the gate, the tenets, the trust zones) is the machinery that enforces this human-decides model so you can rely on it.
What you get
A governed Orchestrator that classifies each request and routes it to one specialist.
An always-on Governance Gate (
agents/governance_gate.py) that enforces the tenets as code — with no mode flag to turn it off.Example specialists over a common
BaseAgent(measured confidence + grounding sources).A three-tier execution model — deterministic → local LLM (Ollama) → cloud LLM (Bedrock) — so the core works with no LLM at all.
A hybrid knowledge base — an in-repo Tier-A baseline (locked) + an optional S3 Tier-B overlay (human-promoted) that fails open to the baseline.
An optional evidence gateway (
evidence.provider, defaultnone— a no-op until you turn it on) — a provider-neutral provenance contract (agents/evidence_gateway.py) that, when enabled, builds a packet before dispatch and lets the gate BLOCK on a missing/tampered/ not-READY packet. It only ever TIGHTENS the gate (never feeds confidence scoring)../run.sh biblederives the evidence corpus fromknowledge/— a pointer into the KB, not a rival ledger (Tenet 8);.evidence/is gitignored.Multi-IDE front doors — reach the companion from Kiro, Claude Code, or any MCP client: a local stdio MCP bridge (
frontdoor/mcp_bridge.py), a direct AgentCore Gateway HTTP path, a token-refresh helper (frontdoor/gateway_token.py), an installable Claude Code plugin (plugin/) with a Stop-hook governance backstop, and a one-command onboarding installer (onboarding/) that wires routing pointers for both IDEs.A governance re-baseline script (
scripts/rebaseline_integrity.py) — human-run, for when you adapt the constitution. The AWS provisioning steps (identity, S3, gateway, the KB-read IAM grant) are documented as human-run commands indocs/DEPLOY.md(Tenet 1 — the kit prepares configs and commands; a human runs every cloud mutation).Tests that run with no AWS and no LLM.
The governance model (13 tenets)
Codified in PRINCIPLES.md, SHA-256 integrity-verified at startup. Two are
absolute — they cannot be relaxed by configuration, prompt, or agent reasoning:
# | Tenet | # | Tenet |
1 | Human-Owned Deployment | 8 | Knowledge Compounds Safely |
2 | Autonomous, Grounded Review | 9 | Governance Integrity |
3 | Bounded Agency | 10 | Relentless Quality |
4 | Grounded Reasoning / No Hallucination | 11 | Bounded Egress |
5 | Transparency & Audit | 12 | Bounded Resource |
6 | Security & Data Governance | 13 | Layered Action-Level Enforcement |
7 | Sustainability & Cost |
Make it yours (adoption path)
Run it locally —
./run.sh statusshows the integrity check passing; ask a question and watch it answer on the deterministic tier with a governance-outcome footer. No AWS/LLM yet.Keep the constitution; adjust the wording of the non-absolute tenets to your org, then re-baseline the integrity hash (
scripts/rebaseline_integrity.py). Do not add an off switch.Replace the example specialists (
agents/specialists/) with your domain specialists — each is a small class overBaseAgent; routing and gating come for free.Seed your knowledge base — locked constraints in
knowledge/tier_a/, medium-velocity references inknowledge/tier_b/(S3-overlay-eligible via the explicit allowlist).Turn on a model tier when you want depth (
config.yaml).Provision AgentCore + identity (human-run) — see
docs/DEPLOY.md.Point your IDE at it — run
onboarding/install-companion-frontdoor.sh, install the Claude Code plugin fromplugin/, or wire the MCP server directly. Seedocs/FRONT-DOORS.md.
Layout
governed-agentic-companion/
├── PRINCIPLES.md # the constitution (the 13 tenets)
├── governance/
│ ├── integrity.yaml # SHA-256 baseline of PRINCIPLES.md
│ └── integrity_check.py # startup tamper verification
├── agents/
│ ├── base_agent.py # measured confidence + grounding sources
│ ├── orchestrator.py # classify + route to one specialist
│ ├── governance_gate.py # the always-on gate (no off switch)
│ ├── kb_overlay.py # hybrid KB: Tier-A baseline + Tier-B S3 overlay
│ └── specialists/ # platform_specialist.py, security_specialist.py (examples)
├── knowledge/
│ ├── PRINCIPLES.yaml # machine-readable threat model + enforcement roadmap
│ ├── tier_a/ # locked, in-repo, code-reviewed only
│ └── tier_b/ # medium-velocity, S3-overlay-eligible (explicit allowlist)
├── frontdoor/ # IDE front doors (see frontdoor/README.md)
│ ├── mcp_bridge.py # local stdio MCP bridge (wired to the deployed runtime)
│ ├── runtime_client.py # invokes the deployed AgentCore runtime (bearer + retry-on-401)
│ ├── cognito_token.py # mints + auto-refreshes the runtime token
│ ├── gateway_token.py # gateway JWT refresh helper (print/write-env/daemon)
│ └── mcp.example.json # copy into your IDE's MCP config
├── plugin/ # installable Claude Code plugin (see plugin/README.md)
│ ├── .claude-plugin/ # plugin.json (MIT-0) + marketplace.json
│ ├── .mcp.json # MCP servers (systems of record read-only)
│ ├── agents/ # orchestrator + example specialists (disallowedTools: Bash)
│ ├── hooks/ # Stop-hook governance backstop (runs main.py gate)
│ ├── skills/companion/ # SKILL.md
│ └── permissions.example.json
├── onboarding/ # one-command multi-IDE front-door installer
│ ├── install-companion-frontdoor.sh / Install-CompanionFrontDoor.ps1
│ ├── companion-pointer.md # Kiro inclusion:auto steering pointer
│ ├── companion-claude-pointer.md # Claude Code CLAUDE.md block
│ └── companion-kiro-mcp.example.json / companion-kiro-gateway.example.json
├── agentcore/ # AgentCore Runtime packaging
│ ├── agentcore.json.example # runtime/gateway config template
│ └── app/ # container entrypoint(s) — /invocations + /mcp faces
├── scripts/
│ └── rebaseline_integrity.py # re-baseline the PRINCIPLES.md hash after a governance change
├── docs/ # ARCHITECTURE, SECURITY, COST, DEPLOY, FRONT-DOORS, GOVERNANCE (+ setup/)
├── tests/ # run with no AWS / no LLM
├── config.yaml.example # copy to config.yaml (gitignored)
├── run.sh / main.py # the governed CLI (status / ask / gate)
└── requirements.txtDocumentation
Six focused documents, each reviewable on its own (and written to survive public security scanning — no real account ids, ARNs, endpoints, or secrets):
System Overview & Architecture — component topology (with diagram), the three-tier execution model, trust boundaries, and the request/governance data flow.
Security — identity & authorization, least-privilege IAM, data protection, the always-on boundary, security scanning, and an accepted-security-debt table.
Cost analysis — the pay-per-use cost model, a sample monthly estimate, the cost drivers/levers, right-sizing guidance, and teardown.
Deploy & implementation — the human-run Terraform sequence to provision the AgentCore stack, verify it end-to-end, and tear it down.
Integration (Kiro & Claude Code) — connect either IDE to the companion as an MCP server over the AgentCore Gateway (native OAuth/PKCE + fallbacks).
Governance & operations — how the boundary is enforced as code, the operations runbook and change-management handshake, and the security standards this kit implies.
Governance, honestly
The absolute boundaries (no deploy, no system-of-record write, no secret leak, no
fetch-and-execute directive, grounding-block) are enforced today. Some mechanical controls —
a network-layer egress allowlist, hard resource ceilings, a single action-layer seam across all
front doors — ship as first-increment text detectors now, with mechanical enforcement on a
tracked roadmap (knowledge/PRINCIPLES.yaml). We state which controls are deterministic vs
advisory rather than overclaiming — that honesty is itself a tenet.
License
MIT No Attribution (MIT-0) — see LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP facade over the Nebelus Construction API. ~48 tools give full agent build parity: create/update/probe agents, edit graphs, attach knowledge and vector stores, wire connectors, set governance policies and locked guardrails, enable grounding-trace, and read deployment wiring. Purpose-built for regulated industries: data residency is enforced per region (EU / GCC-KSA), with PII controls and an audit trail. Agents are created as drafts — no deploy tool is exposed over MCP by design; publishing happens in the Nebelus console.
MCP-Native LLM Orchestration Agent
Give AI agents identity, scoped access, trusted context, and verifiable actions through MCP.
- gatewayOAuthai.sealgate
MCP gateway with runtime security policy, tool-call-level control, and audit of agent actions.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI coding environments to enforce engineering governance through MCP tools and resources for init, check, route, and review workflows.12 npm2MIT
- AlicenseAqualityCmaintenanceEnables any MCP client to drive a multi-agent orchestration engine with planning, specialist tools, critic revision, and human-in-the-loop approval for sensitive actions.3MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to safely call enterprise tools through a governed MCP gateway with permission enforcement, blast-radius controls, input validation, and a full audit trail for every invocation.MIT
- AlicenseNot gradedqualityBmaintenanceTurns any AI coding agent or MCP client into a governed DevOps engineer by exposing policy-enforced tools for Kubernetes, Docker, Jira, Git/PR, CI/CD, AWS, Terraform, and incident response, with approvals, audit logging, secret redaction, and rollback enforced outside the model.390 PyPI5Apache 2.0