A self-validating agent graph that uses LangGraph to build a multi-agent workflow with validation checkpoints. Agents produce outputs that are scored using rule-based or LLM-as-judge strategies, with retry logic and halting conditions.
LangValidator is a validation/scoring framework, not an MCP server. It exposes 7 tools but lacks proper MCP integration. Tool names are descriptive (check_facts, score_rule_based, validate_json_schema) but descriptions are minimal (10-60 chars, well below the 194-char baseline). Input schemas are present but sparse: most parameters lack type constraints and descriptions are generic. No error handling guidance, no output schema documentation, and no security considerations. The codebase shows a LangGraph-based agent framework, not an MCP server with proper tool registration. Tools appear to be Python functions, not MCP-compliant tool definitions.
Simple fact-checking tool: checks if output contradicts known facts. Returns (confidence 0.0-1.0, explanation).
Validate output against a simple schema descriptor. Checks for required keys, type correctness, and non-empty values.
Compute cosine similarity between two vectors.
Use Claude as an LLM-as-judge to score the agent output on a 0-10 scale using a strict rubric.
Score output using deterministic rules: minimum length, not repeating query, no placeholder text, keyword relevance, and no toxic phrases.
Embed query and output, return cosine similarity as the score. Requires an embedding function provided by the caller.
Descriptions are critically short (10-60 chars vs 194-char baseline). 'Simple fact-checking tool' and 'Compute cosine similarity' lack context for LLM tool selection. No explanation of WHEN to use each tool or what it returns.
Parameter descriptions are missing or generic. 'output' and 'query' parameters lack context. 'embed_fn' is described as 'Embedding function that takes text and returns list[float]' but no guidance on how to obtain or validate it.
No output schema documentation. Tools return tuples (score, feedback) or floats, but LLMs cannot plan downstream calls without knowing the structure. No field names, types, or ranges documented.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 36 | 2026-07-28+ | v2 |
Check that output is valid JSON matching a simple required-keys schema.
No error handling guidance. Tools may fail (invalid JSON, missing embedding function, API errors) but descriptions do not explain failure modes or recovery steps. LLMs cannot self-correct.
Not an MCP server. Code shows a LangGraph agent framework with Python function validators, not MCP tool definitions. No MCP transport, no tool registration via MCP protocol, no _meta or capabilities negotiation.