Model Context Protocol server for Framework-RAI with MCP-compliant endpoints for responsible AI analysis
Framework-RAI exposes 5 tools with basic schemas and descriptions, but falls short of production quality. All tools have descriptions (10-60 chars, below the 50-200 char baseline for LLM optimization) and input schemas are present but minimal. Parameters lack depth: most have no type constraints, enums, or validation guidance. No output schemas documented. Error handling is absent, no recovery guidance, categorization, or actionable messages. The server uses stateful session management (initialize → session_id → tools/call), which is deprecated in the current MCP spec. Tool naming is verb-forward (scan, generate, analyze, get, update) but descriptions are too terse to guide LLM selection. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk profiles (4 READ_ONLY, 1 WRITE).
Analyze a model file for potential issues
Generate responsible AI suggestions based on project code
Get responsible AI documentation
Scan project for AI components
Update responsible AI documentation
Descriptions are too terse (10-60 chars vs. 50-200 char baseline). LLMs cannot determine when to select each tool or what distinguishes them. E.g., 'Scan project for AI components' lacks context on what 'AI components' means or when to call this vs. analyzeModel.
No output schemas documented. LLMs cannot plan downstream calls or extract structured data. What does scanProject return? A list of files? A risk assessment? Unknown.
Parameters lack type constraints and validation guidance. 'type' parameter in getDocumentation accepts free-form strings instead of an enum (checklist|model_card|risk_file). 'modelType' in analyzeModel has no guidance on valid values.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 42 | 2026-07-28+ | v2 |
No error handling or recovery guidance. If a tool fails, the LLM receives no actionable message. No categorization of errors as retryable, user-fixable, or fatal.
Tool annotations missing. updateDocumentation is marked WRITE but has no destructiveHint. scanProject and others marked READ_ONLY but have no readOnlyHint. Annotations enable agents to reason about safety and idempotency.