Skip to main content
Glama

RegAlert - fintech and crypto compliance and regulatory documents

Recent documents

recent_documents
Read-onlyIdempotent

What was published, newest first, with the exact total. Free. No input = the newest documents of all regulators. Documents with no publication date are not listed here (search_documents finds them). licence (slug; also matches documents for all regulated firms) and in_force_only (drops superseded; keeps those with no known superseding document, not proof they are in force). fields adds effective_date, effective_kind, in_force_status (in_force = no newer amending or superseding document known to RegAlert; not a checked commencement date), ended_on, ended_by, applies_scope, applies_licences, applies_activities.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "recent_documents"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNo
sinceNoFirst date, inclusive: YYYY-MM-DD.
topicNoOne topic tag, e.g. capital, aml (list_topics).
untilNoLast date, inclusive: YYYY-MM-DD.
fieldsNoColumns of each row. Default: uid, title, published, regulator, summary. More: summary_full, topics, type, in_force_status, applies_licences, effective_date, …
offsetNoRows to skip, to page through `total`.
regionNoRegion, e.g. Africa, EU, MENAP, USA.
licenceNoLicence slug, e.g. psp, emi, bank: documents that apply to that kind of licensed firm, plus documents that apply to all regulated firms. Documents not yet checked are not matched. Search needs the index to carry the facts; until then the hits are filtered after the search (the answer says so).
regulatorNoRegulator code, e.g. CBN, MAS. Not the name.
jurisdictionNoJurisdiction code, e.g. NG, SG, GB; a US state is US-NY.
in_force_onlyNotrue = leave out documents marked superseded (a newer document replaces them). It keeps documents with no known superseding document; that does not prove they are in force.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / fields / description
      Previous value: -"Columns of each row. Default: uid, title, published, regulator, summary. More: summary_full, topics, type, language, source, …"New value: +"Columns of each row. Default: uid, title, published, regulator, summary. More: summary_full, topics, type, in_force_status, applies_licences, effective_date, …"
    • addedInput schema / properties / in_force_only
      Added value: +{
      +  "description": "true = leave out documents marked superseded (a newer document replaces them). It keeps documents with no known superseding document; that does not prove they are in force.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / licence
      Added value: +{
      +  "description": "Licence slug, e.g. psp, emi, bank: documents that apply to that kind of licensed firm, plus documents that apply to all regulated firms. Documents not yet checked are not matched. Search needs the index to carry the facts; until then the hits are filtered after the search (the answer says so).",
      +  "maxLength": 48,
      +  "type": "string"
      +}
  2. Changed12 schema fields changed
    • addedInput schema / properties / fields
      Added value: +{
      +  "description": "Columns of each row. Default: uid, title, published, regulator, summary. More: summary_full, topics, type, language, source, …",
      +  "items": {
      +    "maxLength": 32,
      +    "type": "string"
      +  },
      +  "maxItems": 20,
      +  "type": "array"
      +}
    • addedInput schema / properties / jurisdiction / description
      Added value: +"Jurisdiction code, e.g. NG, SG, GB; a US state is US-NY."
    • addedInput schema / properties / offset
      Added value: +{
      +  "default": 0,
      +  "description": "Rows to skip, to page through `total`.",
      +  "maximum": 9007199254740991,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedInput schema / properties / region / description
      Added value: +"Region, e.g. Africa, EU, MENAP, USA."
    • addedInput schema / properties / regulator / description
      Added value: +"Regulator code, e.g. CBN, MAS. Not the name."
    • changedInput schema / properties / since / description
      Previous value: -"Inclusive start date."New value: +"First date, inclusive: YYYY-MM-DD."
    • addedInput schema / properties / since / maxLength
      Added value: +10
    • removedInput schema / properties / since / pattern
      Removed value: -"^\\d{4}-\\d{2}-\\d{2}$"
    • addedInput schema / properties / topic / description
      Added value: +"One topic tag, e.g. capital, aml (list_topics)."
    • changedInput schema / properties / until / description
      Previous value: -"Inclusive end date."New value: +"Last date, inclusive: YYYY-MM-DD."
    • addedInput schema / properties / until / maxLength
      Added value: +10
    • removedInput schema / properties / until / pattern
      Removed value: -"^\\d{4}-\\d{2}-\\d{2}$"
  3. First observed

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already establish read-only, idempotent, non-destructive behavior, and the description adds meaningful context beyond them: newest-first ordering, exact total, free access, default no-input behavior, and the exclusion of undated documents. It also warns that in_force and in_force_only are not proof of legal commencement or force, which is important caveat information for an agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and default behavior, and every sentence carries relevant information. It is somewhat dense with parenthetical caveats, but there is little wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 11-parameter read-only listing tool with no output schema, the description covers the key behavioral caveats, default behavior, ordering, total, and important field semantics. It is largely complete, though it could say more about pagination or the response shape beyond the exact total.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 91%, so the baseline is 3, but the description adds useful meaning for licence, in_force_only, and fields, including caveats about licensed-firm matching and what in_force_status does not guarantee. It does not explain every parameter, but it compensates beyond the schema for the most semantically sensitive ones.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies a listing of published documents ordered newest first, with an exact total, and explicitly distinguishes the no-publication-date case from search_documents. It does not name a direct verb such as 'list', but the resource and ordering are clear enough for an agent to recognize the tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states the default behavior ('No input = the newest documents of all regulators') and gives an explicit exclusion with the alternative: documents without publication dates are not listed here and should be found via search_documents. This is strong usage guidance, though it does not fully compare against all siblings such as get_document.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources