A first verdict in under five minutes
Describe your agent's rules in plain English. An LLM writes the model, one MCP server validates it, and a second checks your agent's choices against it.
1. Install
uv tool install pdtk-val-mcpInstalls the command predictika-validator-mcp. Add it as an MCP server in your client, for example Claude Desktop.
2. Describe your rules
"Support agents can refund up to $250. A team's refunds stop at its monthly budget. Anything over needs a supervisor." Your LLM turns that into a validator model.
3. Point your agent at it
Before each risky action the agent sends its choices. Each message list is written for a different reader: the agent, the audit trail, and the person.
Tools the server provides
| Tool | What it does |
|---|---|
| launch_validator | Starts a validator from a model |
| validate_model | Checks that a model is well formed |
| validate_choices | Checks an agent's choices and returns the verdict |
| reset_session | Starts a fresh scenario on the same validator |
| delete_validator | Removes a validator you are done with |
Example response (illustrative)
{
"valid": true,
"llm_messages": ["Refund exceeds team budget. Ask a supervisor."],
"audit_messages": ["TeamRefundBudgetExceeded: $4,870 + $180 > $5,000"],
"user_messages": ["Your refund needs a supervisor's approval."],
"assigned": { "amount": 180.0, "team_budget_used": 4870.0 }
}
A soft finding keeps valid true and returns messages. A hard rule failure rejects the choice.
Start from something that runs
EU flight-delay bot
A conversational agent whose compensation answers are checked against the regulation.
Try the botRiver Crossing puzzle
A four-constraint puzzle that shows why a model can know the rules and still break them.
Read the paperEveryday validators
Trip check, coupon check, PC build, mortgage program, travel expense and more.
Browse the gallery