Moltline Agent Governance
by moltlinestudio.com · remote · no sign-in to list tools · v1.2.0 · published by com.moltlinestudio
Audit MCP configs and skill files for over-broad scope and injection risk. 6 of 8 free.
8 tools: 7 change things and 1 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things7Claude Code: ask: see these tools
- Only reads1Claude Code: allow: see these tools
6 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http govern https://mcp.moltlinestudio.com/governFindings
Matches of fixed checks, with the text they matched.
- Highaudit_mcp_config
The description refers to "mcp.json".
What this check looks forMatched text
description: "...Typical input {"config": "<mcpize.yaml, mcp.json, or a Claude/Cursor servers block>"} re..."
- Highaudit_mcp_config
The input schema at properties.config.description refers to "mcp.json".
What this check looks forMatched text
inputSchema.properties.config.description: "..., pasted as text or JSON — mcpize.yaml, mcp.json, or a Claude/Cursor servers block."
- Highaudit_skill_file
The description contains "don't tell the user", an instruction to keep something from the user.
What this check looks forMatched text
description: "...ss phrasing, concealment instructions ('don't tell the user'), exfiltration language, and exposed c..."
The server marks "governance_policy" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "generate": a word for a change.
- Infoaudit_mcp_config
The description mentions "credentials".
What this check looks forMatched text
description: "...findings. FREE. Flags exposed machine credentials in the config, required inputs that are..."
- Infoaudit_skill_file
The description mentions "credential".
What this check looks forMatched text
description: "...r'), exfiltration language, and exposed credential material. Typical input {"content": "<S..."
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
8 tools
Changes things 7Claude Code: ask
agent_readiness_scanScore a public domain against 21 agent-readiness checks.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Score a public domain against 21 agent-readiness checks. FREE. Use when you need to know whether an autonomous agent can discover, read, use or pay a website - your own, or a vendor you are evaluating before recommending it. Typical input {"domain": "example.com"} returns {"score": 8, "total": 21, "grade": "F", "passed": [...], "failed": [{"title": "...", "detail": "...", "fix": "..."}], "report_url": "..."} where report_url is a permanent shareable page for the same result. Not for auditing an MCP client configuration (audit_mcp_config) and not for scanning text for injection (injection_scan) - this one reaches out over the network and fetches public URLs on a live domain. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "The readiness scanner is not reachable right now."}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Annotations the server declares
- title: Agent Readiness Scan
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
audit_mcp_configAudit an MCP server config for risk-ranked posture findings.3 findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- High
The description refers to "mcp.json".
What this check looks forMatched text
description: "...Typical input {"config": "<mcpize.yaml, mcp.json, or a Claude/Cursor servers block>"} re..."
- Info
The description mentions "credentials".
What this check looks forMatched text
description: "...findings. FREE. Flags exposed machine credentials in the config, required inputs that are..."
- High
The input schema at properties.config.description refers to "mcp.json".
What this check looks forMatched text
inputSchema.properties.config.description: "..., pasted as text or JSON — mcpize.yaml, mcp.json, or a Claude/Cursor servers block."
Description, as the server wrote it Audit an MCP server config for risk-ranked posture findings. FREE. Flags exposed machine credentials in the config, required inputs that aren't gated/optional, unpinned versions, over-broad env access, and dangerous auto-run flags. It never echoes any matched secret value back. Typical input {"config": "<mcpize.yaml, mcp.json, or a Claude/Cursor servers block>"} returns {"posture_score": 0-100, "verdict": "...", "findings": [{"line": N, "severity": 1-5, "issue": "...", "fix": "..."}], "note": "..."}. Use on a server configuration document. Not for a skill or instruction file (audit_skill_file) and not for untrusted content an agent is about to read (injection_scan). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Annotations the server declares
- title: Audit Mcp Config
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
audit_skill_fileAudit an agent skill or instruction file before you trust it.2 findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- High
The description contains "don't tell the user", an instruction to keep something from the user.
What this check looks forMatched text
description: "...ss phrasing, concealment instructions ('don't tell the user'), exfiltration language, and exposed c..."
- Info
The description mentions "credential".
What this check looks forMatched text
description: "...r'), exfiltration language, and exposed credential material. Typical input {"content": "<S..."
Description, as the server wrote it Audit an agent skill or instruction file before you trust it. FREE. Checks for governance smells: prompt-injection and guardrail-bypass phrasing, concealment instructions ('don't tell the user'), exfiltration language, and exposed credential material. Typical input {"content": "<SKILL.md, system prompt, or tool description text>"} returns {"verdict": "reject — do not install" | "no governance red flags on a pattern pass", "findings": [{"severity": 1-5, "issue": "..."}], "note": "..."}. Use before trusting a skill or instruction file that came from outside your own repository. Not for arbitrary untrusted input at run time (injection_scan). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Annotations the server declares
- title: Audit Skill File
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
governance_policyGenerate an audit-ready agent-governance policy for a fleet.1 finding
Why it is in this group
- The description's first verb is "generate": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "governance_policy" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "generate": a word for a change.
Description, as the server wrote it Generate an audit-ready agent-governance policy for a fleet. PREMIUM (license). Covers inventory cadence, ownership rules, least-privilege approval gates, injection defense, logging/retention, and decommissioning triggers. Typical input {"fleet_context": "20 agents, 3 with shell access, one finance bot"} returns {"policy": ..., "sections": {...}, "context_note": ..., "audit_checklist": ["...", ...]}. Use when a fleet needs a written policy document. Not for assessing what the fleet currently does (inventory_report, audit_mcp_config). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Annotations the server declares
- title: Governance Policy
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
injection_scanScan untrusted text for prompt-injection patterns before ingestion.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Scan untrusted text for prompt-injection patterns before ingestion. FREE. Use on any web page, email, or document an agent is about to ingest to catch prompt-injection and data-exfiltration patterns before they reach the agent's context. Typical input {"text": "<untrusted content>"} returns {"injection_suspected": bool, "count": N, "hits": [{"line": N, "pattern": "...", "text": "<flagged line>"}], "note": "..."}. Not for reviewing a skill file you control (audit_skill_file), and a clean result is not a guarantee of safety - it reports pattern matches only. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Annotations the server declares
- title: Injection Scan
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
inventory_reportBuild a governance inventory with risk tiers from a raw agent list.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Build a governance inventory with risk tiers from a raw agent list. FREE. Turns a list of agents / MCP servers / skills into an audit-ready summary with critical/elevated/standard tiers and unowned-agent flags. Typical input {"items": "[{\"name\": \"deploy-bot\", \"owner\": \"ana\"}]"} returns {"total": N, "tiers": {"critical": N, ...}, "unowned_agents": [...], "inventory": [{"name": ..., "owner": ..., "tier": ..., "orphaned": bool}], "reading": "...", "note": "..."}. Use to turn a raw agent list into risk tiers. Not for auditing any single agent in depth (audit_mcp_config, scope_check). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Annotations the server declares
- title: Inventory Report
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
scope_checkScore the blast radius of every tool in a permission manifest.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Score the blast radius of every tool in a permission manifest. FREE. Ranks each tool by capability risk (command exec > money/delete > file-write/messaging > read > network) and flags the over-privileged ones that need approval gates. Typical input {"tools": "[\"run_shell\", \"read_docs\"]"} returns {"tools_scored": N, "high_risk_tools": N, "ranking": [{"tool": ..., "blast_radius": 0-5, "capabilities": [...]}], "recommendation": ["..."], "note": "..."}. Use on a permission manifest to rank tools by blast radius. Not for the configuration that mounts them (audit_mcp_config). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Annotations the server declares
- title: Scope Check
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Only reads 1Claude Code: allow
get_auditor_personaLoad the Governance Auditor persona for consistent fleet audits.No findings
Why it is in this group
- The name "get_auditor_persona" says "get": a word for reading.
Description, as the server wrote it Load the Governance Auditor persona for consistent fleet audits. PREMIUM (license). The persona is methodical, evidence-driven, and allergic to 'it's probably fine'. Takes no arguments. Returns {"persona": ..., "identity": ..., "rules": ["...", ...], "opening_move": "..."} ready to adopt as a system prompt. Use to keep repeated audits consistent in voice and rigor. Not for running an audit - the audit tools do that. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Annotations the server declares
- title: Get Auditor Persona
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.2.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http govern https://mcp.moltlinestudio.com/governRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__govern__get_auditor_persona"
],
"ask": [
"mcp__govern__audit_mcp_config",
"mcp__govern__scope_check",
"mcp__govern__audit_skill_file",
"mcp__govern__injection_scan",
"mcp__govern__inventory_report",
"mcp__govern__governance_policy",
"mcp__govern__agent_readiness_scan"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as govern. Review it before you use it.