Verify MCP servers follow proper FastMCP framework structure and conventions
Verify MCP servers follow FastMCP framework conventions and identify non-compliant servers with detailed remediation recommendations. Use this when auditing server security or preparing for production deployment.
/plugin marketplace add vanman2024/mcp-servers-marketplace/plugin install fastmcp@mcp-servers-marketplaceserver-path or "all"šØ EXECUTION NOTICE FOR CLAUDE
When you invoke this command via SlashCommand, the system returns THESE INSTRUCTIONS below.
YOU are the executor. This is NOT an autonomous subprocess.
Immediately after SlashCommand returns, start executing Phase 0, then Phase 1, etc.
See @CLAUDE.md section "SlashCommand Execution - YOU Are The Executor" for detailed explanation.
CRITICAL: All generated files must follow security rules:
@docs/security/SECURITY-RULES.md
Key requirements:
your_service_key_here.env files with .gitignore.env.example with placeholders onlyArguments: $ARGUMENTS
Goal: Analyze Python-based MCP servers to verify they follow FastMCP framework conventions, identifying non-compliant servers and providing detailed remediation recommendations.
Core Principles:
Phase 1: Discovery Goal: Identify which MCP servers need to be verified
Actions:
Phase 2: Initial Analysis Goal: Quick scan to categorize servers
Actions:
from fastmcp import FastMCP)mcp = FastMCP(...))@asynccontextmanager async def lifespan())Phase 3: Detailed Verification Goal: Run comprehensive FastMCP framework validation
Actions:
Launch the fastmcp-verifier agent to perform deep analysis:
Task(description="Verify FastMCP compliance", subagent_type="fastmcp-verifier", prompt="You are the fastmcp-verifier agent. Analyze the MCP servers identified to verify they follow proper FastMCP framework structure and conventions.
Servers to verify: $ARGUMENTS
For each server, validate:
Framework Import & Initialization
fastmcp packagemcp = FastMCP(name, instructions, version)Lifecycle Management (FastMCP 2.x)
@asynccontextmanager async def lifespan() functionlifespan=lifespan parameterwith_context or manual server start)Tool Definitions
@mcp.tool decorator for all toolsAnnotated[type, Field(description=...)]Context parameter for logging/progressctx.info(), ctx.warning(), ctx.report_progress() appropriatelyResource Definitions
@mcp.resource(uri) decoratorservername://resource/path)Prompt Definitions
@mcp.prompt decoratorServer Execution
if __name__ == \"__main__\": blockmcp.run() for STDIO modeEnvironment & Configuration
.env from server directoryload_dotenv() properlyCode Quality
For each server analyzed, provide:
Compliance Report Structure:
Server: [name]
Path: [path]
Status: [COMPLIANT / NEEDS_UPDATES / NON_COMPLIANT]
ā
Passing Checks:
- [List what's correct]
ā Failing Checks:
- [List violations]
ā ļø Warnings:
- [List concerns]
š Remediation Steps:
1. [Step-by-step fixes needed]
2. [Include code examples]
3. [Reference FastMCP docs]
Priority: [HIGH / MEDIUM / LOW]
Expected output:
Update todos as verification progresses.
Phase 4: Generate Remediation Plan Goal: Create actionable next steps
Actions:
Phase 5: Summary Goal: Present verification results and recommendations
Actions:
Mark all todos complete
Display comprehensive summary:
Offer to: