Skip to main content
Glama

European IP Data & Analytics — IPRATE

Get a European IP market snapshot

get_ip_market_snapshot
Read-onlyIdempotent

Return one already-computed static cohort snapshot and up to five leading released firms. No dates, raw records, SQL, arbitrary grouping, or free-form question are accepted.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tierYesReleased national or European route.
windowYesReleased long or recent analytical window.
right_typeYesIP right type.
jurisdictionYesISO 3166-1 alpha-2 jurisdiction code.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataYesTool result. Which fields are present depends on status.
as_ofYesGeneration time of the selected static release.
linksYes
statusYes
coverageYes
release_idYes
limitationsYes
source_urlsYesPublic URLs to cite.
server_versionYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "as_of": {
      +      "description": "Generation time of the selected static release.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "coverage": {
      +      "properties": {
      +        "availability": {
      +          "type": "string"
      +        },
      +        "error_type": {
      +          "type": "string"
      +        },
      +        "exclusions": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "hold_state": {
      +          "type": "string"
      +        },
      +        "jurisdiction": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "right_type": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "static_assets": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "tier": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "data": {
      +      "description": "Tool result. Which fields are present depends on status.",
      +      "properties": {
      +        "jurisdiction": {
      +          "type": "string"
      +        },
      +        "leading_representatives": {
      +          "items": {
      +            "properties": {
      +              "city": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "confidence_grade": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "home_country_code": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "profile_url": {
      +                "type": "string"
      +              },
      +              "quoted_name": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "registration_rate": {
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "representative_id": {
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "score_tier": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "slug": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "time_to_grant_days": {
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "top_class": {
      +                "type": [
      +                  "string",
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "volume_per_year": {
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "message": {
      +          "description": "Explanation when status is not ok.",
      +          "type": "string"
      +        },
      +        "released_statistics": {
      +          "type": "object"
      +        },
      +        "right_type": {
      +          "type": "string"
      +        },
      +        "tier": {
      +          "type": "string"
      +        },
      +        "window": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "limitations": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "links": {
      +      "properties": {
      +        "explore": {
      +          "type": "string"
      +        },
      +        "methodology": {
      +          "type": "string"
      +        },
      +        "request_analysis": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "release_id": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "server_version": {
      +      "type": "string"
      +    },
      +    "source_urls": {
      +      "description": "Public URLs to cite.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "status": {
      +      "enum": [
      +        "ok",
      +        "no_results",
      +        "ambiguous",
      +        "not_public",
      +        "not_covered",
      +        "source_unavailable",
      +        "invalid_request"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "status",
      +    "data",
      +    "as_of",
      +    "release_id",
      +    "coverage",
      +    "limitations",
      +    "source_urls",
      +    "links",
      +    "server_version"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, closed-world, non-destructive. The description adds meaning beyond them: the snapshot is 'already-computed static' and the firm list is capped at five, telling the agent the output is a fixed shape rather than a queryable result set.

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

Conciseness5/5

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

Two tight sentences, zero filler, with the return shape front-loaded ahead of the constraint list.

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?

An output schema exists, so return-value documentation is not required. The description covers scope and output shape for a fixed-snapshot tool; only the exclusion-to-alternative mapping is missing.

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

Parameters3/5

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

Schema description coverage is 100% and three of four parameters carry enum descriptions, so the schema fully documents inputs. The description adds no parameter-level detail (e.g., what 'long' vs 'recent' windows mean), so the baseline 3 applies.

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?

States a specific verb and resource (return a static cohort snapshot plus up to five leading firms), which is clear and concrete. It does not name any sibling tool, so differentiation from fetch/search/find_ip_representatives is left to inference.

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?

Explicitly states what is not accepted (dates, raw records, SQL, arbitrary grouping, free-form questions), which strongly scopes when this tool applies. However, it never names the alternative tool to use for those cases, so the routing signal is negative-only.

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.