Check the contract quality of any MCP server. Use this when you want to evaluate whether an MCP server is well-designed for agents, humans, and distribution platforms.
mcp-doctor exposes 2 well-named tools with clear descriptions and proper schema definitions. Both tools are read-only, properly annotated with tool safety hints, and have explicit input schemas with type information. However, parameter descriptions could be more detailed in some cases, and output schemas are documented in prose rather than formal JSON Schema. The tool set is narrowly scoped to evaluation/reporting, which is appropriate for its domain.
Run contract quality checks on an MCP server at the given path. Use this to evaluate any MCP server's readiness for agents, distribution platforms, and human users. Args: path: Absolute path to the MCP server repository directory. format: Output format — "json" for structured data (default), "markdown" for human-readable report. mode: "rule" for deterministic rule-based evaluation (default), "ai" for LLM-enhanced qualitative review (requires OPENAI_API_KEY environment variable). model: LLM model name for AI mode. Defaults to $MCP_DOCTOR_MODEL env var or "gpt-4o-mini". Returns a structured report with: - evaluation: {mode, model_name, model_version} (if AI mode) - overall_grade: A/B/C/D - dimensions: 6 check results with grade, score, findings - ai_review: qualitative AI feedback (if AI mode)
List the 6 contract quality dimensions that mcp-doctor checks. Use this to understand what mcp-doctor evaluates before running a check. Returns a list of dimension names with brief descriptions.
Output schemas lack formal JSON Schema definitions. Both tools return structured data, but the return format is only documented in prose descriptions rather than as explicit JSON Schema.
Parameter descriptions for 'format' and 'mode' in check_server are adequate but could more explicitly state constraints and side effects. For example, the 'mode=ai' parameter states it requires OPENAI_API_KEY but does not document retry behavior if the key is missing or invalid.
list_dimensions has no input parameters, making the schema technically empty. While this is valid (the tool needs no input), the rubric expects all tools to have at least placeholder documentation of what triggers the tool.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | B | 73 | 2025-06-18+ | v2 |
| 2026-03-09 | C | 61 | - | v1 |