Tools
The tools the Moonlit MCP server exposes to your assistant. The model picks which one to use; you ask the question.
How usage counts
Usage is metered per call against your plan's monthly quota. Searches, document retrievals, and filter lookups count as one call each. Two tools are pure computation and never count: get_account_status and convert_to_celex.
Operating rules
The server enforces a few rules. Invalid filter values and incomplete date bounds return errors; language and semantic-coverage mismatches return empty results, which is worth knowing when an answer comes back thinner than expected:
Language matching
National jurisdictions must be searched in the national language: Dutch for the Netherlands, German for Germany, French for France. English queries will not find national-language documents. EU sources work in English.
Date bounds
Date filters always take both a from-date and an until-date.
Filter values
Filter IDs (jurisdictions, portals, document types, fields of law, sources) come from get_filters, never from guesses or search results.
Semantic coverage
Not every portal supports semantic search. The model checks get_filters("semantic_portals") before running a hybrid search.
Citations
Every document has a stable identifier, and every identifier resolves to a readable page on the Moonlit platform:
https://app.moonlit.ai/document/{identifier}/read
Results also carry the source URL to the original document at the publisher. Well-grounded answers cite one or both.
keyword_search
Find documents by exact words, phrases, or boolean expressions (AND, OR, NOT, quotes, wildcards). Best when the citation, ECLI, CELEX, or article number is already known.
hybrid_search
Find documents using a natural-language question. Combines keyword and semantic search into one ranked list. The default choice for conceptual questions where exact wording varies.
hybrid_search_reranked
Hybrid search with an additional reranking pass. Slower, and the most precise on complex questions. Only works on portals with semantic coverage.
reference_search
Find documents that cite a given regulation or judgment, or documents it cites, in either or both directions. Works at document level and at article level, so it can answer "which judgments interpret Article 22" with article-level precision.
get_filters
Return the canonical lists for jurisdictions and portals, semantic portals, document types, fields of law, and sources. The model uses these to scope searches accurately; you rarely ask for this directly.
retrieve_document
Return a document's full text and metadata: title, date, jurisdiction, source, and the source URL to the original document at the publisher. Used after a search to read or quote a document in full.
get_document_articles
Return the article-level structure of a composite document such as the GDPR or the AI Act. Used to locate a specific article inside a regulation, and to get the article identifiers that reference_search accepts.
convert_to_celex
Resolve an EU directive or regulation given as (type, year, number) to its canonical CELEX identifier. Example: (regulation, 2016, 679) returns 32016R0679, the GDPR. Free; never counts against your quota.
get_account_status
Report your plan and remaining monthly call quota. Free; never counts against your quota. Ask your assistant "what is my Moonlit account status?" any time, or use it as a health check in deployed services.