MCP server for AgentForge — trust audit (check_trust, evaluate_policy, list_trusted, recommend) plus action tools (discover, broadcast_search, call_tool, register_agent) so any agent can find and use 100+ MCP servers in one connection.
AgentForge Trust MCP provides 8 tools with complete input schemas and descriptions. Naming follows verb_noun convention (check_trust, evaluate_policy, list_trusted, recommend, discover, broadcast_search, call_tool, register_agent). All tools have descriptions (range 80 - 250 chars, within baseline 34 - 392). Input schemas are well-defined with type constraints, enums, min/max bounds, and maxLength limits. However, output schemas are NOT documented, the code shows API calls but no explicit response structure definitions. Error handling is minimal; tools lack recovery guidance and actionable error messages. Parameter descriptions are present but generic (e.g., 'AgentForge server UUID' without format hints). No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk profiles (call_tool and register_agent are WRITE operations). Sanitization layer exists (input validation, rate limiting, anomaly detection) but is not exposed in tool definitions, so LLMs cannot reason about constraints.
Search across multiple MCP servers in one call. Queries the AgentForge marketplace for servers matching a use case, then broadcasts a search query to the top N servers and aggregates results.
Invoke any tool on any registered MCP server. Proxies the call through AgentForge with billing, rate limiting, and response sanitization. Requires AGENTFORGE_API_KEY.
Fetch the AgentForge Trust Score for an MCP server. Returns the overall score (0-100), per-dimension breakdown (code_health, security_scan, behavioral_audit, community_trust, eu_compliance), and badges. Use before connecting to any MCP server.
Browse the AgentForge catalog of MCP servers. Supports full-text search, semantic search, and filtering by category, featured status, and pricing model.
Check whether a server passes a trust policy. Returns allowed:true/false plus individual check results. Example policy: {min_overall: 70, required_badges: ['actively_maintained']}. Use this to gate agent decisions like 'should I use this server for financial data?'.
Output schemas not documented. Tools return JSON from AgentForge API but no explicit response structure is defined in tool definitions. LLMs cannot plan downstream calls or extract required fields (e.g., server_id, trust_score dimensions).
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). call_tool and register_agent are WRITE operations with side effects; check_trust, evaluate_policy, list_trusted, recommend, discover are READ-ONLY. Annotations enable LLMs to reason about safety and retry semantics.
Error handling lacks recovery guidance. Code references 'AgentForge API {status}' errors but does not provide actionable next steps (e.g., 'Try check_trust() first', 'Verify AGENTFORGE_API_KEY is set'). LLMs cannot self-correct.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Search AgentForge catalog for servers matching a category and minimum trust threshold. Returns up to 25 results sorted by trust score.
Given a natural-language use case, recommend MCP servers filtered by trust. Example: 'I need to validate Czech VAT IDs and convert ISDOC invoices'. Uses AgentForge semantic search + trust filter.
Self-register an AI agent with AgentForge and receive an af_agent_* API key for future calls. Agents can then use broadcast_search and call_tool without a pre-existing key.
Parameter descriptions are minimal. 'AgentForge server UUID (preferred)' lacks format hints (e.g., 'UUID v4 format'). 'Natural language description of the use case' in recommend does not explain what 'use case' means or give examples of valid queries.
Pagination not documented. discover and broadcast_search accept limit/offset but do not document total count, next_cursor, or whether results are sorted. LLMs cannot reliably iterate through large result sets.