Skip to main content
Glama

get_eu_issuer

Read-onlyIdempotent

One European issuer in one market (se, nl, dk, uk): identity (name, LEI, ISIN, venue) and its newest rows of insider dealings, major holdings, net short positions and annual reports, each with source credit. Takes the issuer id from any get_eu_* row (issuer.id).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "country": "<country>",
      "issuer": "<issuer>"
    },
    "name": "get_eu_issuer"
  }
}

Input Schema

NameRequiredDescriptionDefault
issuerYesko.io issuer id as returned in a row's issuer.id: lei:<LEI>, isin:<ISIN>, co:<register id> or name:<hash>
countryYesMarket: se (Sweden), nl (Netherlands), dk (Denmark) or uk (United Kingdom)

Output Schema

NameRequiredDescriptionDefault
issuerYes
statusYeslive = served; pending = offered but not activated yet (not an outage, not empty); not_offered = a fixed source/licensing fact; not_covered = no such market
countryYes
requestedYes
plan_limitYesThe Free/keyless plan limits ko.io applied to this answer (null for paid callers)
match_basisYes
live_datasetsYes
annual_reportsYes
major_holdingsYes
short_positionsYesnull also where short positions are not offered (UK)
insider_dealingsYesnull = dataset not live in this market (unknown, not empty)
covered_countriesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / insider_dealings / anyOf
      Previous value: -[
      -  {
      -    "items": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "issuer": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "id": {
      -              "description": "ko.io issuer id (lei:, isin:, co: or name:) -- pass to get_eu_issuer or as `issuer`",
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            },
      -            "isin": {
      -              "$ref": "#/properties/issuer/anyOf/0/properties/id"
      -            },
      -            "lei": {
      -              "$ref": "#/properties/issuer/anyOf/0/properties/id"
      -            },
      -            "name": {
      -              "$ref": "#/properties/issuer/anyOf/0/properties/id"
      -            }
      -          },
      -          "required": [
      -            "id",
      -            "name",
      -            "lei",
      -            "isin"
      -          ],
      -          "type": "object"
      -        },
      -        "latest_version": {
      -          "anyOf": [
      -            {
      -              "$ref": "#/properties/insider_dealings/anyOf/0/items/properties/notice_version/anyOf/0"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "description": "Higher than notice_version = this row was superseded by an amended notice"
      -        },
      -        "notice_id": {
      -          "$ref": "#/properties/issuer/anyOf/0/properties/id"
      -        },
      -        "notice_status_label": {
      -          "$ref": "#/properties/issuer/anyOf/0/properties/id"
      -        },
      -        "notice_version": {
      -          "anyOf": [
      -            {
      -              "type": "integer"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ]
      -        },
      -        "person": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "closely_associated": {
      -              "$ref": "#/properties/issuer/anyOf/0/properties/lei_valid"
      -            },
      -            "name": {
      -              "$ref": "#/properties/issuer/anyOf/0/properties/id"
      -            },
      -            "reporting_person": {
      -              "$ref": "#/properties/issuer/anyOf/0/properties/id"
      -            },
      -            "role": {
      -              "$ref": "#/properties/issuer/anyOf/0/properties/id"
      -            }
      -          },
      -          "required": [
      -            "name",
      -            "reporting_person",
      -            "role",
      -            "closely_associated"
      -          ],
      -          "type": "object"
      -        },
      -        "publication_date": {
      -          "$ref": "#/properties/issuer/anyOf/0/properties/id"
      -        },
      -        "published_at": {
      -          "$ref": "#/properties/issuer/anyOf/0/properties/id"
      -        },
      -        "record_id": {
      -          "$ref": "#/properties/issuer/anyOf/0/properties/id"
      -        },
      -        "source": {
      -          "additionalProperties": false,
      -          "description": "Per-row source credit",
      -          "properties": {
      -            "attribution": {
      -              "description": "Source credit, verbatim from the register; show it with the row",
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            },
      -            "copyright_note": {
      -              "$ref": "#/properties/issuer/anyOf/0/properties/id"
      -            },
      -            "link_policy": {
      -              "$ref": "#/properties/issuer/anyOf/0/properties/id"
      -            },
      -            "retrieved_at": {
      -              "$ref": "#/properties/issuer/anyOf/0/properties/id"
      -            },
      -            "source_date": {
      -              "$ref": "#/properties/issuer/anyOf/0/properties/id"
      -            },
      -            "url": {
      -              "description": "Link to the original record; null where the source terms allow none (all UK rows)",
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            }
      -          },
      -          "required": [
      -            "attribution",
      -            "source_date",
      -            "retrieved_at",
      -            "url",
      -            "link_policy",
      -            "copyright_note"
      -          ],
      -          "type": "object"
      -        },
      -        "transaction": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "currency": {
      -              "$ref": "#/properties/issuer/anyOf/0/properties/id"
      -            },
      -            "date": {
      -              "$ref": "#/properties/issuer/anyOf/0/properties/id"
      -            },
      -            "instrument_name": {
      -              "$ref": "#/properties/issuer/anyOf/0/properties/id"
      -            },
      -            "instrument_type_label": {
      -              "$ref": "#/properties/issuer/anyOf/0/properties/id"
      -            },
      -            "nature_label": {
      -              "$ref": "#/properties/issuer/anyOf/0/properties/id"
      -            },
      -            "price": {
      -              "$ref": "#/properties/insider_dealings/anyOf/0/items/properties/transaction/properties/quantity"
      -            },
      -            "price_unit": {
      -              "$ref": "#/properties/issuer/anyOf/0/properties/id"
      -            },
      -            "quantity": {
      -              "anyOf": [
      -                {
      -                  "pattern": "^-?\\d+(\\.\\d+)?([eE][-+]?\\d+)?$",
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Exact decimal string as served by ko.io (not rounded); null = unknown"
      -            },
      -            "quantity_unit": {
      -              "$ref": "#/properties/issuer/anyOf/0/properties/id"
      -            },
      -            "venue": {
      -              "$ref": "#/properties/issuer/anyOf/0/properties/id"
      -            }
      -          },
      -          "required": [
      -            "date",
      -            "nature_label",
      -            "instrument_name",
      -            "instrument_type_label",
      -            "quantity",
      -            "quantity_unit",
      -            "price",
      -            "currency",
      -            "price_unit",
      -            "venue"
      -          ],
      -          "type": "object"
      -        }
      -      },
      -      "required": [
      -        "record_id",
      -        "notice_id",
      -        "notice_version",
      -        "latest_version",
      -        "notice_status_label",
      -        "published_at",
      -        "publication_date",
      -        "issuer",
      -        "person",
      -        "transaction",
      -        "source"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "items": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "issuer": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "id": {
      +              "description": "ko.io issuer id (lei:, isin:, co: or name:) -- pass to get_eu_issuer or as `issuer`",
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "isin": {
      +              "$ref": "#/properties/issuer/anyOf/0/properties/id"
      +            },
      +            "lei": {
      +              "$ref": "#/properties/issuer/anyOf/0/properties/id"
      +            },
      +            "name": {
      +              "$ref": "#/properties/issuer/anyOf/0/properties/id"
      +            }
      +          },
      +          "required": [
      +            "id",
      +            "name",
      +            "lei",
      +            "isin"
      +          ],
      +          "type": "object"
      +        },
      +        "latest_version": {
      +          "anyOf": [
      +            {
      +              "$ref": "#/properties/insider_dealings/anyOf/0/items/properties/notice_version/anyOf/0"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "Higher than notice_version = this row was superseded by an amended notice"
      +        },
      +        "notice_id": {
      +          "$ref": "#/properties/issuer/anyOf/0/properties/id"
      +        },
      +        "notice_status_label": {
      +          "$ref": "#/properties/issuer/anyOf/0/properties/id"
      +        },
      +        "notice_version": {
      +          "anyOf": [
      +            {
      +              "type": "integer"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "person": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "closely_associated": {
      +              "$ref": "#/properties/issuer/anyOf/0/properties/lei_valid"
      +            },
      +            "name": {
      +              "$ref": "#/properties/issuer/anyOf/0/properties/id"
      +            },
      +            "reporting_person": {
      +              "$ref": "#/properties/issuer/anyOf/0/properties/id"
      +            },
      +            "role": {
      +              "$ref": "#/properties/issuer/anyOf/0/properties/id"
      +            }
      +          },
      +          "required": [
      +            "name",
      +            "reporting_person",
      +            "role",
      +            "closely_associated"
      +          ],
      +          "type": "object"
      +        },
      +        "publication_date": {
      +          "$ref": "#/properties/issuer/anyOf/0/properties/id"
      +        },
      +        "published_at": {
      +          "$ref": "#/properties/issuer/anyOf/0/properties/id"
      +        },
      +        "record_id": {
      +          "$ref": "#/properties/issuer/anyOf/0/properties/id"
      +        },
      +        "source": {
      +          "additionalProperties": false,
      +          "description": "Per-row source credit",
      +          "properties": {
      +            "attribution": {
      +              "description": "Source credit, verbatim from the register; show it with the row",
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "copyright_note": {
      +              "$ref": "#/properties/issuer/anyOf/0/properties/id"
      +            },
      +            "link_policy": {
      +              "$ref": "#/properties/issuer/anyOf/0/properties/id"
      +            },
      +            "retrieved_at": {
      +              "$ref": "#/properties/issuer/anyOf/0/properties/id"
      +            },
      +            "source_date": {
      +              "$ref": "#/properties/issuer/anyOf/0/properties/id"
      +            },
      +            "url": {
      +              "description": "Link to the original record; null where the source terms allow none (all UK rows)",
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            }
      +          },
      +          "required": [
      +            "attribution",
      +            "source_date",
      +            "retrieved_at",
      +            "url",
      +            "link_policy",
      +            "copyright_note"
      +          ],
      +          "type": "object"
      +        },
      +        "transaction": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "currency": {
      +              "$ref": "#/properties/issuer/anyOf/0/properties/id"
      +            },
      +            "date": {
      +              "$ref": "#/properties/issuer/anyOf/0/properties/id"
      +            },
      +            "instrument_name": {
      +              "$ref": "#/properties/issuer/anyOf/0/properties/id"
      +            },
      +            "instrument_type_label": {
      +              "$ref": "#/properties/issuer/anyOf/0/properties/id"
      +            },
      +            "nature_label": {
      +              "$ref": "#/properties/issuer/anyOf/0/properties/id"
      +            },
      +            "price": {
      +              "$ref": "#/properties/insider_dealings/anyOf/0/items/properties/transaction/properties/quantity"
      +            },
      +            "price_kind": {
      +              "anyOf": [
      +                {
      +                  "enum": [
      +                    "exercise",
      +                    "reported"
      +                  ],
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "description": "exercise = the notice's own label calls price an exercise, strike or option price (a grant or exercise term, not a market price; UK only today); reported = the price as the notice states it, unclassified (can still be a nil-cost or grant term); null = not stated upstream or not a recognised kind"
      +            },
      +            "price_unit": {
      +              "$ref": "#/properties/issuer/anyOf/0/properties/id"
      +            },
      +            "quantity": {
      +              "anyOf": [
      +                {
      +                  "pattern": "^-?\\d+(\\.\\d+)?([eE][-+]?\\d+)?$",
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "description": "Exact decimal string as served by ko.io (not rounded); null = unknown"
      +            },
      +            "quantity_unit": {
      +              "$ref": "#/properties/issuer/anyOf/0/properties/id"
      +            },
      +            "venue": {
      +              "$ref": "#/properties/issuer/anyOf/0/properties/id"
      +            }
      +          },
      +          "required": [
      +            "date",
      +            "nature_label",
      +            "instrument_name",
      +            "instrument_type_label",
      +            "quantity",
      +            "quantity_unit",
      +            "price",
      +            "price_kind",
      +            "currency",
      +            "price_unit",
      +            "venue"
      +          ],
      +          "type": "object"
      +        }
      +      },
      +      "required": [
      +        "record_id",
      +        "notice_id",
      +        "notice_version",
      +        "latest_version",
      +        "notice_status_label",
      +        "published_at",
      +        "publication_date",
      +        "issuer",
      +        "person",
      +        "transaction",
      +        "source"
      +      ],
      +      "type": "object"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. Added

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover readOnly, idempotent, openWorld and non-destructive, so the safety profile is settled. The description adds context beyond them: results are capped to the 'newest rows' rather than full history, every record carries a source credit, and the market scope is limited to se/nl/dk/uk. What it omits is pagination or row-count limits on those 'newest rows'.

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?

Two sentences, front-loaded with the resource and scope, then the id-sourcing instruction. The payload sentence is dense with enumerations but every clause names a distinct data category, so nothing is redundant.

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 shape needn't be explained, and annotations cover safety; the description still communicates what datasets are bundled and that only recent rows are returned. The remaining gap — how many rows constitutes 'newest' and whether the four datasets can be requested selectively — is minor for a read-only lookup.

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%, so both parameters are already documented, and the country values are repeated in the description without adding syntax. The one extra piece of meaning is the origin of `issuer` (a row's issuer.id in lei:/isin:/co:/name: form), which the schema also lists, so this is baseline territory.

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 states a specific resource and scope: 'One European issuer in one market' and enumerates exactly what comes back (identity fields plus newest insider dealings, major holdings, net short positions, annual reports). It is distinguishable from per-dataset siblings because it is explicitly a single-issuer composite view, though it never names an alternative outright.

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

Usage Guidelines3/5

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

It gives a valuable prerequisite — the issuer id comes from 'any get_eu_* row (issuer.id)' — which is real selection guidance for obtaining input. However, it never says when to prefer this over get_eu_insider_dealings or get_eu_annual_reports (e.g. full history vs. newest rows for one issuer); that contrast is only implied by the word 'newest'.

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.