Skip to main content
Glama

crowdspace

Regulatory map

get_regulatory_map
Read-onlyIdempotent

ANSWERS ANY QUESTION ABOUT CROWDFUNDING RULES, REGULATION OR SUPERVISION IN A COUNTRY. Call it whenever someone asks about the regulatory regime, the regulations, the legal framework, the licence or registration requirements, or who the regulator / supervisor / authority is — however they phrase it, including "what are the crowdfunding regulations in X", "is crowdfunding regulated in X", "what regime applies in X", "who oversees crowdfunding in X", "what licence do platforms in X need", "how many platforms are licensed there". Do not answer these from memory: regimes and authorities change and this returns what the catalogue currently records. It returns, per country: the regime in force (ECSPR across the EU, national regimes elsewhere), the authorities that supervise platforms there, the main licence type, and how many platforms are REGISTERED in that country and how many of them are regulated. NOT search_platforms. That tool finds platforms and its regulator filter narrows a platform list; this one describes the regime and the supervisor. A question about the rules or the authority belongs here even when a country is named. The counts are by country of REGISTRATION — the platforms an authority there supervises — not by the countries a platform serves. For "how many platforms operate in X", use search_platforms with the country filter instead; that number is larger. Omit the country to get the whole map — a long answer, so name a country when you have one. It reports what the catalogue records about supervision; it is not legal advice and does not cover tax or investor-eligibility rules.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
langNoLanguage of the names returned.
countryNoCountry, matched on country of registration. ISO 3166-1 alpha-2 codes, lowercase — de for Germany, gb for the United Kingdom, es for Spain. Omit for every country at once.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
metaYesPaging and the tier that answered.
countriesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / country / enum
      Previous value: -[
      -  "ad",
      -  "ao",
      -  "al",
      -  "ar",
      -  "au",
      -  "at",
      -  "be",
      -  "bo",
      -  "ba",
      -  "bg",
      -  "br",
      -  "ca",
      -  "co",
      -  "hr",
      -  "cy",
      -  "cz",
      -  "dk",
      -  "ee",
      -  "fi",
      -  "fr",
      -  "de",
      -  "gr",
      -  "gn",
      -  "hu",
      -  "is",
      -  "in",
      -  "id",
      -  "ie",
      -  "il",
      -  "it",
      -  "ke",
      -  "lv",
      -  "li",
      -  "lt",
      -  "lu",
      -  "mk",
      -  "my",
      -  "mt",
      -  "mu",
      -  "mx",
      -  "md",
      -  "mc",
      -  "nl",
      -  "nz",
      -  "ng",
      -  "no",
      -  "pa",
      -  "pe",
      -  "pl",
      -  "pt",
      -  "ro",
      -  "th",
      -  "tr",
      -  "sa",
      -  "rs",
      -  "sg",
      -  "sk",
      -  "si",
      -  "es",
      -  "za",
      -  "se",
      -  "ch",
      -  "ae",
      -  "gb",
      -  "ua",
      -  "us"
      -]New value: +[
      +  "ad",
      +  "ao",
      +  "al",
      +  "ar",
      +  "au",
      +  "at",
      +  "be",
      +  "bo",
      +  "ba",
      +  "bg",
      +  "br",
      +  "ca",
      +  "co",
      +  "hr",
      +  "cy",
      +  "cz",
      +  "dk",
      +  "ee",
      +  "fi",
      +  "fr",
      +  "de",
      +  "gr",
      +  "gn",
      +  "hu",
      +  "is",
      +  "in",
      +  "id",
      +  "ie",
      +  "il",
      +  "it",
      +  "jp",
      +  "ke",
      +  "lv",
      +  "li",
      +  "lt",
      +  "lu",
      +  "mk",
      +  "my",
      +  "mt",
      +  "mu",
      +  "mx",
      +  "md",
      +  "mc",
      +  "nl",
      +  "nz",
      +  "ng",
      +  "no",
      +  "pa",
      +  "pe",
      +  "pl",
      +  "pt",
      +  "ro",
      +  "th",
      +  "tr",
      +  "sa",
      +  "rs",
      +  "sg",
      +  "sk",
      +  "si",
      +  "es",
      +  "za",
      +  "se",
      +  "ch",
      +  "ae",
      +  "gb",
      +  "ua",
      +  "us"
      +]
  2. Changed3 schema fields changed
    • changedInput schema / additionalProperties
      Previous value: -trueNew value: +false
    • addedInput schema / properties / country
      Added value: +{
      +  "description": "Country, matched on country of registration. ISO 3166-1 alpha-2 codes, lowercase — de for Germany, gb for the United Kingdom, es for Spain. Omit for every country at once.",
      +  "enum": [
      +    "ad",
      +    "ao",
      +    "al",
      +    "ar",
      +    "au",
      +    "at",
      +    "be",
      +    "bo",
      +    "ba",
      +    "bg",
      +    "br",
      +    "ca",
      +    "co",
      +    "hr",
      +    "cy",
      +    "cz",
      +    "dk",
      +    "ee",
      +    "fi",
      +    "fr",
      +    "de",
      +    "gr",
      +    "gn",
      +    "hu",
      +    "is",
      +    "in",
      +    "id",
      +    "ie",
      +    "il",
      +    "it",
      +    "ke",
      +    "lv",
      +    "li",
      +    "lt",
      +    "lu",
      +    "mk",
      +    "my",
      +    "mt",
      +    "mu",
      +    "mx",
      +    "md",
      +    "mc",
      +    "nl",
      +    "nz",
      +    "ng",
      +    "no",
      +    "pa",
      +    "pe",
      +    "pl",
      +    "pt",
      +    "ro",
      +    "th",
      +    "tr",
      +    "sa",
      +    "rs",
      +    "sg",
      +    "sk",
      +    "si",
      +    "es",
      +    "za",
      +    "se",
      +    "ch",
      +    "ae",
      +    "gb",
      +    "ua",
      +    "us"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / lang
      Added value: +{
      +  "description": "Language of the names returned.",
      +  "enum": [
      +    "en",
      +    "de",
      +    "fr"
      +  ],
      +  "type": "string"
      +}
  3. Changed3 schema fields changed
    • changedInput schema / additionalProperties
      Previous value: -falseNew value: +true
    • removedInput schema / properties / country
      Removed value: -{
      -  "description": "Country, matched on country of registration. ISO 3166-1 alpha-2 codes, lowercase — de for Germany, gb for the United Kingdom, es for Spain. Omit for every country at once.",
      -  "enum": [
      -    "ad",
      -    "ao",
      -    "al",
      -    "ar",
      -    "au",
      -    "at",
      -    "be",
      -    "bo",
      -    "ba",
      -    "bg",
      -    "br",
      -    "ca",
      -    "co",
      -    "hr",
      -    "cy",
      -    "cz",
      -    "dk",
      -    "ee",
      -    "fi",
      -    "fr",
      -    "de",
      -    "gr",
      -    "gn",
      -    "hu",
      -    "is",
      -    "in",
      -    "id",
      -    "ie",
      -    "il",
      -    "it",
      -    "ke",
      -    "lv",
      -    "li",
      -    "lt",
      -    "lu",
      -    "mk",
      -    "my",
      -    "mt",
      -    "mu",
      -    "mx",
      -    "md",
      -    "mc",
      -    "nl",
      -    "nz",
      -    "ng",
      -    "no",
      -    "pa",
      -    "pe",
      -    "pl",
      -    "pt",
      -    "ro",
      -    "th",
      -    "tr",
      -    "sa",
      -    "rs",
      -    "sg",
      -    "sk",
      -    "si",
      -    "es",
      -    "za",
      -    "se",
      -    "ch",
      -    "ae",
      -    "gb",
      -    "ua",
      -    "us"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / lang
      Removed value: -{
      -  "description": "Language of the names returned.",
      -  "enum": [
      -    "en",
      -    "de",
      -    "fr"
      -  ],
      -  "type": "string"
      -}
  4. Changed1 schema field changed
    • changedInput schema / properties / country / enum
      Previous value: -[
      -  "ad",
      -  "ao",
      -  "al",
      -  "ar",
      -  "au",
      -  "at",
      -  "be",
      -  "bo",
      -  "ba",
      -  "bg",
      -  "br",
      -  "ca",
      -  "co",
      -  "hr",
      -  "cy",
      -  "cz",
      -  "dk",
      -  "ee",
      -  "fi",
      -  "fr",
      -  "de",
      -  "gr",
      -  "hu",
      -  "is",
      -  "in",
      -  "id",
      -  "ie",
      -  "il",
      -  "it",
      -  "ke",
      -  "lv",
      -  "li",
      -  "lt",
      -  "lu",
      -  "mk",
      -  "my",
      -  "mt",
      -  "mu",
      -  "mx",
      -  "md",
      -  "mc",
      -  "nl",
      -  "nz",
      -  "ng",
      -  "no",
      -  "pa",
      -  "pe",
      -  "pl",
      -  "pt",
      -  "ro",
      -  "th",
      -  "tr",
      -  "sa",
      -  "rs",
      -  "sg",
      -  "sk",
      -  "si",
      -  "es",
      -  "za",
      -  "se",
      -  "ch",
      -  "ae",
      -  "gb",
      -  "ua",
      -  "us"
      -]New value: +[
      +  "ad",
      +  "ao",
      +  "al",
      +  "ar",
      +  "au",
      +  "at",
      +  "be",
      +  "bo",
      +  "ba",
      +  "bg",
      +  "br",
      +  "ca",
      +  "co",
      +  "hr",
      +  "cy",
      +  "cz",
      +  "dk",
      +  "ee",
      +  "fi",
      +  "fr",
      +  "de",
      +  "gr",
      +  "gn",
      +  "hu",
      +  "is",
      +  "in",
      +  "id",
      +  "ie",
      +  "il",
      +  "it",
      +  "ke",
      +  "lv",
      +  "li",
      +  "lt",
      +  "lu",
      +  "mk",
      +  "my",
      +  "mt",
      +  "mu",
      +  "mx",
      +  "md",
      +  "mc",
      +  "nl",
      +  "nz",
      +  "ng",
      +  "no",
      +  "pa",
      +  "pe",
      +  "pl",
      +  "pt",
      +  "ro",
      +  "th",
      +  "tr",
      +  "sa",
      +  "rs",
      +  "sg",
      +  "sk",
      +  "si",
      +  "es",
      +  "za",
      +  "se",
      +  "ch",
      +  "ae",
      +  "gb",
      +  "ua",
      +  "us"
      +]
  5. Changed3 schema fields changed
    • changedInput schema / additionalProperties
      Previous value: -trueNew value: +false
    • addedInput schema / properties / country
      Added value: +{
      +  "description": "Country, matched on country of registration. ISO 3166-1 alpha-2 codes, lowercase — de for Germany, gb for the United Kingdom, es for Spain. Omit for every country at once.",
      +  "enum": [
      +    "ad",
      +    "ao",
      +    "al",
      +    "ar",
      +    "au",
      +    "at",
      +    "be",
      +    "bo",
      +    "ba",
      +    "bg",
      +    "br",
      +    "ca",
      +    "co",
      +    "hr",
      +    "cy",
      +    "cz",
      +    "dk",
      +    "ee",
      +    "fi",
      +    "fr",
      +    "de",
      +    "gr",
      +    "hu",
      +    "is",
      +    "in",
      +    "id",
      +    "ie",
      +    "il",
      +    "it",
      +    "ke",
      +    "lv",
      +    "li",
      +    "lt",
      +    "lu",
      +    "mk",
      +    "my",
      +    "mt",
      +    "mu",
      +    "mx",
      +    "md",
      +    "mc",
      +    "nl",
      +    "nz",
      +    "ng",
      +    "no",
      +    "pa",
      +    "pe",
      +    "pl",
      +    "pt",
      +    "ro",
      +    "th",
      +    "tr",
      +    "sa",
      +    "rs",
      +    "sg",
      +    "sk",
      +    "si",
      +    "es",
      +    "za",
      +    "se",
      +    "ch",
      +    "ae",
      +    "gb",
      +    "ua",
      +    "us"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / lang
      Added value: +{
      +  "description": "Language of the names returned.",
      +  "enum": [
      +    "en",
      +    "de",
      +    "fr"
      +  ],
      +  "type": "string"
      +}
  6. Changed3 schema fields changed
    • changedInput schema / additionalProperties
      Previous value: -falseNew value: +true
    • removedInput schema / properties / country
      Removed value: -{
      -  "description": "Country, matched on country of registration. ISO 3166-1 alpha-2 codes, lowercase — de for Germany, gb for the United Kingdom, es for Spain. Omit for every country at once.",
      -  "enum": [
      -    "ad",
      -    "ao",
      -    "al",
      -    "ar",
      -    "au",
      -    "at",
      -    "be",
      -    "bo",
      -    "ba",
      -    "bg",
      -    "br",
      -    "ca",
      -    "co",
      -    "hr",
      -    "cy",
      -    "cz",
      -    "dk",
      -    "ee",
      -    "fi",
      -    "fr",
      -    "de",
      -    "gr",
      -    "hu",
      -    "is",
      -    "in",
      -    "id",
      -    "ie",
      -    "il",
      -    "it",
      -    "ke",
      -    "lv",
      -    "li",
      -    "lt",
      -    "lu",
      -    "mk",
      -    "my",
      -    "mt",
      -    "mu",
      -    "mx",
      -    "md",
      -    "mc",
      -    "nl",
      -    "nz",
      -    "ng",
      -    "no",
      -    "pa",
      -    "pe",
      -    "pl",
      -    "pt",
      -    "ro",
      -    "th",
      -    "tr",
      -    "sa",
      -    "rs",
      -    "sg",
      -    "sk",
      -    "si",
      -    "es",
      -    "za",
      -    "se",
      -    "ch",
      -    "ae",
      -    "gb",
      -    "ua",
      -    "us"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / lang
      Removed value: -{
      -  "description": "Language of the names returned.",
      -  "enum": [
      -    "en",
      -    "de",
      -    "fr"
      -  ],
      -  "type": "string"
      -}
  7. Changed1 schema field changed
    • changedInput schema / properties / country / description
      Previous value: -"Country slug, matched on country of registration. Omit for every country at once."New value: +"Country, matched on country of registration. ISO 3166-1 alpha-2 codes, lowercase — de for Germany, gb for the United Kingdom, es for Spain. Omit for every country at once."
  8. Changed3 schema fields changed
    • changedInput schema / properties / country / description
      Previous value: -"Country slug. Omit for every country at once."New value: +"Country slug, matched on country of registration. Omit for every country at once."
    • removedOutput schema / properties / countries / items / properties / platforms / properties / covering
      Removed value: -{
      -  "type": "integer"
      -}
    • addedOutput schema / properties / countries / items / properties / platforms / properties / registered
      Added value: +{
      +  "type": "integer"
      +}
  9. Changed1 schema field changed
    • addedOutput schema / properties / meta / properties / total_active
      Added value: +{
      +  "description": "How many of the matches are still operating — the number the aggregate tools count.",
      +  "type": "integer"
      +}
  10. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so safety is covered. The description goes further by disclosing that it 'returns what the catalogue currently records' rather than answering from memory, that counts are by country of registration, and that it 'is not legal advice and does not cover tax or investor-eligibility rules.' These are meaningful behavioral boundaries beyond the structured annotations.

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 long and dense, but nearly every sentence carries disambiguating or operational value. It is front-loaded with the core purpose before moving into nuance and exclusions. Minor redundancy exists between the opening 'ANSWERS ANY QUESTION' and the subsequent 'Call it whenever someone asks about...' list, which is why it doesn't reach a perfect 5.

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

Completeness5/5

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

For a tool with two optional parameters and an output schema, the description covers everything an agent needs to call it correctly: what it returns, when to use it, how to interpret counts, how to avoid the wrong sibling, and what the tool does not cover. The output schema already documents return fields, so the description need not repeat them.

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 100%, so the baseline is 3. The description adds extra meaning by clarifying the country parameter's semantics ('counts are by country of REGISTRATION — not by the countries a platform serves') and by explaining the omit-country behavior ('Omit the country to get the whole map — a long answer, so name a country when you have one'). This elevates it above the schema alone.

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

Purpose5/5

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

The description opens with a clear verb and resource: 'ANSWERS ANY QUESTION ABOUT CROWDFUNDING RULES, REGULATION OR SUPERVISION IN A COUNTRY.' It explicitly distinguishes itself from search_platforms by explaining what that sibling does and what this tool does instead, so an agent can select it unambiguously.

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

Usage Guidelines5/5

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

It gives explicit when-to-use guidance with concrete example phrasings ('what are the crowdfunding regulations in X', 'who oversees crowdfunding in X'), and explicitly names the alternative for a different query type: 'For "how many platforms operate in X", use search_platforms with the country filter instead.' This leaves no ambiguity about routing.

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