FIDE Laws of Chess
FIDE Laws of Chess (2023) as an executable model: arbiter cases, answers with rules and judgments
| Endpoint | https://mcp.arxo.io/mcp/fide-chess (streamable-http) |
|---|---|
| Registry version | 0.1.1 |
| Now | 16 tools · grade F (27) · pin ts_530d7bcb70604e21d8610c30d0481d06 · protocol 2025-06-18 |
| First / last listed | 2026-11-10 01:31 UTC / 2026-11-10 01:31 UTC |
| Grade over time | 2026-11-10: F (27), 16 tools |
Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.
Tools: law_search law_passport law_answer_capabilities law_capture_answer law_prepare_answer law_publish_answer law_revoke_answer law_packages law_ask law_screen law_rules law_explain law_inspect law_case_ask law_sources law_query
law_search | A semantic SEARCH over formalised law: a question or a notion in your own words → candidates with addresses — predicates with signatures, rules, article fragments. This is the layer of DISCOVERY, not of the answer: the result says WHAT to ask next (law_ask by signature, law_rules, law_sources) and establishes neither a fact nor a norm. The ranking is a deterministic lexical embedder, and similarit params: kinds, limit, package, query* |
law_passport | Passport of an exact release: purpose, interface, boundaries, checks and performance. The reports section holds the history of measurements, failures included. Entries are paged by JSON Pointer; next continues the answer. params: contentHash*, limit, name*, offset, sections, version* |
law_answer_capabilities | A machine-readable matrix of the Lens producers that are actually installed, of replay/projection checks, profiles, limits and the contract tests that confirm them. declared_only means a schema with no executable witness. params: none |
law_capture_answer | Run a registered producer and obtain producerControl/0.2 for a later verifiable preparation of a Lens. The producer is chosen only from the shipped registry. params: producer*, request* |
law_prepare_answer | At the explicit request of the user, repeat between 1 and 12 earlier law_ask or law_process_run calls, compare their replayControl strictly, and prepare a non-public frozen document for 24 hours. The client never supplies the machine answer: the server obtains it only by executing afresh. A divergence in any input, in the law, in a resource, in the server code, in the engine library or in the resu params: assistant, calculations, documentVersion, language, producerRuns, question* |
law_publish_answer | Publish a prepared document. Repeating it with the same preparationId idempotently returns the same URL and the same separate revocation secret. params: preparationId* |
law_revoke_answer | Revoke a published document using its separate secret. The public id alone grants no control; revocation closes the HTML page, the API and the download. params: publicId*, revokeSecret* |
law_packages | The catalogue of formalised law: instruments, predicates with signatures, the boundaries of coverage. This is where the NAMES of predicates come from — they must never be guessed. But do NOT start from the catalogue when looking for the right instrument: the overview is large, and the title of an instrument rarely matches the words of a question ("Newton's laws of motion" contains no word "physics params: catalog, guide, limit, offset, package, query |
law_ask | Put a question to formalised law. When the answer is "not established" it carries whyNot — the engine's why_not report: the candidate rules and the state of every conjunct (satisfied / not satisfied / undetermined); the missing facts are visible there and need not be guessed. BEFORE THE FIRST call obtain the predicate names through law_search (a question in your own words → addresses) or law_packa params: after, afterTime, args, calc, context, cutoff, days, deadlinePolicy, evidence, evidencePolicy, facts, focused, kind, legalTime, package, predicate, proof, responseMode, selectedInterpretations, supportEdges, unit, version |
law_screen | Build a necessary condition — a superset — for the preliminary selection of rows from an external source. This is NOT a legal answer and NOT SQL: the result is a typed tree and a manifest of the extensions up to TRUE. Every row that passes must then be computed in full by the engine, with a proof graph, on the same snapshot of the data. The binding is passed as a pinnable object; sourceSchemaConte params: binding*, goal*, legalTime, package*, sourceSchemaContentHash* |
law_rules | The rules of formalised law put into words: exactly how a predicate is derived (premises, source articles). Call this BEFORE supplying facts to law_ask — the rules say which facts are needed instead of leaving them to be guessed. For large instruments package=… returns a table of contents; the full text comes from predicate=…. The listing by package is paged: limit (20 by default, 500 at most) and params: contract, inputLimit, inputOffset, lang, limit, offset, package, predicate |
law_explain | Unfold the proof of a law_ask answer into a chain "rule ← premises → conclusion". The compact input: question (the original law_ask arguments, truth/collect), resultHash and codeHash from the provenance of the answer. The server repeats the computation and compares the hashes; if anything changed it refuses explicitly. Alternatively pass the evaluation from law_ask(proof=true). answerResource=full params: answerResource, codeHash, evaluation, nodeId, question, resultHash |
law_inspect | Evaluation inspector over a SAVED evaluation document: summary — the origin card, resultHash and snapshot verification, listings of results, positions and issues; slice — the closure of proof nodes for a query, rule, position or node with addresses, both sides of BOTH, defeats, values, names resolved against the snapshot; diff — what changed between two documents on the context, result and justifi params: against, answerResource, bundle, context, evaluation, index, operation*, page, select, snapshot, sources |
law_case_ask | The ask operation: run a registered case of a case package over its pinned dependencies and return the answer: by default a projection of the evaluation document without the proof graph, on responseMode full or proof: true the canonical document with a proof and a manifest. The question is JSON per query.schema.json (query), an evaluate string (evaluate + queryId), a saved queryId without query, o params: args, card, case, evaluate, package*, proof, query, queryId, responseMode |
law_sources | Sources: by default short excerpts (view=summary), 5 texts per page, with the address of the full text in fragments[].full. Either package or fragment is required (a StableId from law_search/law_rules). view=full returns exact parts of the text: textRange sets a range of Unicode characters, fragments[].next is the continuation with a contentHash. The hash refers to the WHOLE source, not to the exc params: contentHash, fragment, language, limit, offset, package, status, textLimit, textOffset, view |
law_query | A deterministic LawQL query over the CLIR of a formalization: a question about the model of the act itself, not about a case. Relations (14): anchors, edges, fields, imports, interpretations, labels, links, literals, nodes, norms, positions, rules, variables, windows. Full field lists: `law query --schema`. Functions (9): anchor/1, labels/1..2, short/1, contains/2, overlaps/2, starts_with/2, ends_ params: arguments, case, corpus, engine, full, limit, query, question, rowLimit, rowOffset, snapshot |
Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.