AI Governance Institute
All governance templates →How do we govern MCP servers and other agent tool connections?

Implementation Kit

MCP Server Inventory Template and Security Review Checklist

Which MCP servers agents may connect to, what each exposes, and what contains a compromised one. An inventory and allowlist, an intake review template, a credential scoping standard, and a re-review trigger log.

Who this is for: The platform or security owner governing agent tool connections.

Download the kit (Markdown) ↓4 artifacts. Every table also copies as CSV.

1. MCP server inventory and allowlist register

Spreadsheet

Every MCP server any agent can reach, with what it exposes and its risk tier.

Template

ServerPublisherExposed toolsData scope (read / write / external)Ingests untrusted content?Risk tierAllowlisted?Review date
<server>Y / N (web, tickets, issues)Low / Medium / HighY / NYYYY-MM-DD

Worked example

ServerPublisherExposed toolsData scopeIngests untrusted content?Risk tierAllowlisted?Review date
internal-docs-mcpPlatform teamsearch_docs, get_docinternal readNLowY2026-08-15
ticketing-mcpPlatform teamlist_tickets, commentinternal read + writeY (ticket bodies)HighY (write requires confirm)2026-09-01
github-issues-mcpthird party (pinned v1.2)list_issues, create_issueexternal repo read + writeY (issue text)HighY (read only)2026-09-01
random-web-fetch-mcpunknownfetch_urlexternalYHighNblocked 2026-08-20

Acceptance criteria

  • Every reachable MCP server is listed, including ones developers added themselves.
  • Each server records whether it ingests untrusted external content, since that sets the risk tier.
  • Only allowlisted servers are reachable from agent runtimes; the rest are network-blocked.

2. MCP server intake review template

Spreadsheet

The documented review a new server needs before any agent connects.

Template

QuestionFinding
Publisher identity verified? How?
Full list of tools exposed, and what each can do
Data the server can read
Data or actions the server can write or trigger externally
Does it ingest untrusted content (web pages, tickets, issues, PRs)?
How is untrusted-content ingestion separated from tool-execution authority?
Authentication model; can we scope a dedicated least-privilege credential?
Version pinning and update mechanism
Decision: allow / allow with constraints / deny

Worked example

QuestionFinding
Publisher verifiedthird-party; verified via signed release + org on the registry
Tools exposedlist_issues (read), create_issue (write), add_comment (write)
Can readissues, comments, labels in allowlisted repos
Can write / triggercreates issues and comments in allowlisted repos
Ingests untrusted contentyes: issue and comment bodies from external contributors
Separation of untrusted content from authorityagent runs issue text through a constrained "summarize only" step; tool calls require an explicit plan the orchestrator validates
Credential scopingdedicated fine-grained token, 3 repos, issues-only
Versionpinned v1.2; updates via PR with review
DecisionAllow, read-only for v1; create_issue behind human confirmation

Acceptance criteria

  • The review lists every tool the server exposes, not a summary.
  • It documents how untrusted-content ingestion is separated from tool-execution authority in the architecture, not just the prompt.
  • A signed-off decision exists before any agent connects.

3. Agent-to-MCP credential scoping standard

Document

The rule for how agent-to-server connections authenticate.

Template

One page. Applies to every agent-to-MCP-server connection.

  • Every connection uses a dedicated, non-human identity. Never a shared credential, never a standing personal token.
  • The identity is scoped to the minimum: specific tools, specific data scopes, specific targets (repos, projects, tables).
  • Credentials are short-lived where the protocol allows, and rotated on a schedule otherwise.
  • Write and external-action scopes are granted only where the intake review approved them, and gated per the autonomy boundary.
  • Every credential has an owner, an expiry, and a line in the identity register.
  • Revocation is tested: killing the identity stops the agent's access within a defined time.

Worked example

github-issues-mcp connection for the triage agent:

  • Identity: svc-triage-gh (fine-grained GitHub App installation token).
  • Scope: issues read/write on 3 repos; no code, no actions, no admin.
  • Lifetime: 1-hour installation tokens minted per run.
  • Write: create_issue and add_comment allowed; both behind orchestrator confirmation.
  • Register line: owner Platform, expiry 2027-03, last review 2026-09-01.
  • Revocation drill: uninstalling the app cut access in under 1 minute (tested 2026-09-03).

Acceptance criteria

  • No agent-to-server connection uses a shared or standing personal credential.
  • Each credential is scoped to specific tools, data, and targets.
  • Revocation has been tested and stops access within a stated time.

4. Re-review trigger log

Spreadsheet

Material changes to a server force a fresh intake review.

Template

DateServerChange (capability / maintainer / publisher / version)Re-review outcomeEffective date
YYYY-MM-DD<server><what changed>re-approved / constrained / removedYYYY-MM-DD

Worked example

DateServerChangeRe-review outcomeEffective date
2026-09-12github-issues-mcpv1.3 adds a run_workflow toolConstrained: run_workflow denied at the allowlist; stayed on v1.22026-09-12
2026-09-20internal-docs-mcpmaintainer team merged into PlatformRe-approved, no change2026-09-20

Acceptance criteria

  • Capability, maintainer, publisher, and version changes each trigger a re-review.
  • A new tool on an existing server is denied by default until reviewed.
  • The log records the outcome and when it took effect.

Governance controls this kit produces evidence for

Completing the artifacts above gives you a head start on the evidence requirements for these controls.

AGT-019
AGT-019

The inventory and intake review are the AI tool and plugin supply-chain risk assessment for MCP servers.

AGT-011
AGT-011

The credential scoping standard and re-review log address agent OAuth scope drift.

AGT-002
AGT-002

Separating untrusted-content ingestion from tool authority is the agent prompt-injection defense.

AGT-006
AGT-006

MCP tool-call logging feeds the agent action audit trail.

AGT-008
AGT-008

Allowlisting and network-blocking non-approved servers is part of agent environment isolation.

This kit backs one playbook. Read the full guidance for the reasoning behind each artifact.

Decide what to implement next

Assess your governance gaps, then create an action plan with owners and target dates. Build and export without an account; sign in when you want to save your plan.

Start the AI governance assessment →