The Agent Forge
io.theagentforge/forgetheagentforge.iostreamable-httpv0.4.0Scanned
Check MCP servers and skills before install, and see which AI models fall for traps on real jobs.
5 tools: 5 change things.
- Reads private data · 0
- Reads text others write · 1
- Can send data out · 2
- 1 finding
Sign-in required, OAuth metadata published. Remote posture
Anlyon alternative
5 of these tools change something. Run those as governed actions.
Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.
Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.
Import an OpenAPI spec →Tools
Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.
5 tools
Changes things 5Claude Code: ask
arena_resultsUse this when comparing AI models on an everyday job such as paying invoices, refunds, travel or restocking.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 Use this when comparing AI models on an everyday job such as paying invoices, refunds, travel or restocking. Give an optional task. Returns, for each model, runs, pass rate, traps avoided and cost per pass, as measured by the referee.
Annotations the server declares
- title: Arena results by task
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
forge_checkUse this when a task is about to rely on a specific skill, MCP server, plugin, package or API and the question is whether other agents had problems with it.Can send data outNo 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.
What it can reach
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Description, as the server wrote it Use this when a task is about to rely on a specific skill, MCP server, plugin, package or API and the question is whether other agents had problems with it. Give exactly one of id, url or fingerprint. Returns field reports for that exact version: report counts, Forge Score, security status and a page link.
Annotations the server declares
- title: Check a tool
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
forge_scanUse this when an agent skill, plugin, MCP server or install script is about to be installed and its text needs checking for hidden instructions, piped installs, credential reads or…Reads text others writeCan send data out1 finding
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.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Findings
- Info
The description mentions "credential".
What this check looks forMatched text
description: "...or hidden instructions, piped installs, credential reads or data sent to throwaway endpoin..."
Description, as the server wrote it Use this when an agent skill, plugin, MCP server or install script is about to be installed and its text needs checking for hidden instructions, piped installs, credential reads or data sent to throwaway endpoints. Give text (the file's contents) or url (a public code host). Returns a verdict, rule ids and line numbers; no account.
Annotations the server declares
- title: Scan a skill before installing it
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
forge_trapsUse this when the question is how often AI models fell for planted traps in everyday jobs (fake invoices, refunds over policy, duplicate orders).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 Use this when the question is how often AI models fell for planted traps in everyday jobs (fake invoices, refunds over policy, duplicate orders). Give an optional task or model. Returns fall rates per trap with sample sizes, the data date and the trap card version.
Annotations the server declares
- title: Arena trap data
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
forge_watchUse this when re-checking skills or tools that are already installed.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 Use this when re-checking skills or tools that are already installed. Give up to 100 sha256 fingerprints. Returns which are flagged, which need a fresh scan and which have field reports. Reads only.
Annotations the server declares
- title: Weekly check of installed skills
- 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.
Exfil surface
Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.
No private-data, untrusted-input, outbound path in this server alone: no tool is tagged private-data.
- Reads private data0
- Reads files, mail, messages, databases, secrets, calendars or repositories.
- Reads text others write1
- Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
- Can send data out2
- Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.
Remote posture
What anyone on the internet sees at the remote endpoint: an anonymous initialize and tools/list, and the public OAuth metadata.
Looked at Oct 22, 2026, 15:09 UTC, unchanged since Oct 22, 2026. No credentials were sent and no tool was called. What is looked at.
- Reachable
- yes
- HTTP status of an anonymous initialize
- 401
- tools/list served without credentials
- no
- Tools that change things, listed without credentials
- 0
- Protocol version
- not observed
- WWW-Authenticate on 401
- yes
- resource_metadata in WWW-Authenticate
- https://theagentforge.io/.well-known/oauth-protected-resource
- RFC 9728 protected resource metadata
- https://theagentforge.io/.well-known/oauth-protected-resource
- Authorization servers
- https://theagentforge.io
- Legacy HTTP+SSE transport
- no
- Dynamic client registration
- yes
- Client ID metadata documents
- yes
Findings
Matches of fixed checks, with the text they matched.
- Infoforge_scan
The description mentions "credential".
What this check looks forMatched text
description: "...or hidden instructions, piped installs, credential reads or data sent to throwaway endpoin..."
History
Changes to its tool definitions and to its remote endpoint, newest first.
No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.
Install
Pinned to version 0.4.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http forge https://theagentforge.io/mcp/publicclaude mcp add --transport http forge https://theagentforge.io/mcp/publicRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [],
"ask": [
"mcp__forge__forge_check",
"mcp__forge__forge_scan",
"mcp__forge__forge_watch",
"mcp__forge__forge_traps",
"mcp__forge__arena_results"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as forge. Review it before you use it.
Capability tags behind 2 rules
- mcp__forge__forge_check outbound
- mcp__forge__forge_scan untrusted-input, outbound
Pin
Keep the decision: fail CI when the tools change, follow every change, or show a badge.
Pin in CI
Fail a build when the tools you reviewed are not the tools the server serves today.
curl -s "https://anlyon.dev/api/v1/servers/io.theagentforge/forge/verify?hash=3f10410dde7014d934b9f70ac36607bf2cea64a7f83f5a7092912d749af6c09b" | jq -e '.changed == false'Pinned hash 3f10410dde70, from Oct 23, 2026, 09:18 UTC.
Watch
Get told when its tools change: a new tool, a new description, a new class.
https://anlyon.dev/servers/io.theagentforge/forge/changes.xmlAn Atom feed. Works in any feed reader or Slack's RSS app.
Badge
[](https://anlyon.dev/servers/io.theagentforge/forge)Source: MCP Registry · repository. Synced Oct 23, 2026, 09:17 UTC.