Use case · Rune Gurd + Rune Box

Know which MCP servers your agents trust, and when they change.

Every MCP server an agent connects to is code and text you did not write. Guard inventories them, flags risky configuration, and pins approved tool definitions so a silent change is reported.

The problem

What goes wrong today

MCP servers are configured per harness and per project, often by copying a snippet: inline API keys, a filesystem server rooted at the home directory, a plain-HTTP remote, or an npx package with no version, so each start can run a different release.

After approval, a server can rename a tool, rewrite its description or widen its schema without anything in the configuration changing. A description can also carry instructions aimed at the model rather than at the user.

How Runewrd Labs helps

What each product does here, and its status.

Guard

Inventory every configured server

guard mcp-inventory reads each harness’s MCP configuration in the home directory and in project directories, and reports transport, command or host, and risky configuration. It never reports secret values, arguments or URL paths.

Guard

Pin approved tools and report changes

guard mcp-tools approve records the tools a server exposes; guard mcp-tools check reports tools added, removed, or with a changed description, schema or annotations.

Guard

Check definitions for tool poisoning

Retrieved definitions are matched against catalog patterns for text that may steer the model. A match is suspicion, not proof of poisoning; approval refuses it until someone has reviewed it.

Guard

Treat MCP output as untrusted input

Harness hooks count MCP tool results as untrusted input in session rules, so a later credential read and upload in the same session completes lethal_trifecta.

Rune BoxLive

Serve governed tools over MCP

runeward mcp exposes Rune Box’s governed tools to any MCP-capable IDE or agent, so each call is policy-checked and audited.

Guard

Registry scanning; MCP findings reported from every device

guard scan checks Claude Code plugins, Gemini CLI extensions, skills and their source registries statically. The MCP server inventory reaches the Guard Console as metadata only; tool definitions stay on the device.

In the evidence

The exact identifiers you will see.

Names as they appear in Runeward Labs findings, rules and commands, so you can match this page to real output.

MCP findings this use case relies on
IdentifierSourceWhat it meansStatus
unpinned_packageguard mcp-inventoryA launcher such as npx or uvx fetches a package with no exact version.
insecure_transportguard mcp-inventoryAn http:// or ws:// URL to a host other than localhost.
inline_secret:FIELD:PATTERNguard mcp-inventoryAn env, header, argument or URL value matches a catalog secret pattern.
broad_path:homeguard mcp-inventoryAn argument is the home directory (or / for broad_path:root), which includes every credential file.
tool_description_changedguard mcp-tools checkAn approved tool’s description or title changed. tool_schema_changed and tool_annotations_changed cover the rest.
mcp_credential_file_instructionTool poisoning ruleDefinition text matches an instruction to read credential files. Related rules include mcp_consent_bypass_instruction and mcp_policy_override_instruction.
# configured servers across recorded projects
guard mcp-inventory --discover

# pin a server's tools after review
guard mcp-tools approve docs --remote

# later: report added, removed or changed tools
guard mcp-tools check --remote

Honest limitations

What this does not cover yet

A scan finding shows exposure. A sensor or hook finding shows what an agent attempted, or what was blocked. Neither proves a compromise, and a block decision without a report from the enforcing component doesn’t prove the action was stopped.

  • Guard compares what a server returns to Guard. A hostile server can serve different definitions to the harness or change them later; resources and prompts are not pinned.
  • Tool definitions are only retrieved when you ask: remote servers with --remote, stdio servers with --launch-stdio.
  • Poisoning checks are patterns. Paraphrased, translated or encoded instructions get past them, and legitimate tools match too: an SSH server naming ~/.ssh, for example. A finding is suspicion, not proof of an attack.
  • The inventory inspects configuration, not traffic. What a server actually reads or sends is only seen through the sensor or the harness hooks.
  • Remote servers are identified by host; who operates a server is not checked.

Your agents already have access. Ward off the risks.

Join Guard early access for your team, or run the free local scan today. Agents in automation too? Add the open-source Rune Box.