Skip to main content
Glama

Agent Data Tools: Company and VAT check

Finnish company lookup, PRH trade register

fi_company
Read-only

Finnish company by business ID (Y-tunnus 0112038-9 or VAT FI01120389) or name, live from the Finnish Patent and Registration Office (PRH): names incl. parallel and former, legal form, status, bankruptcy, liquidation or re-organisation, registration date, trade, VAT and employer registers, main business line, address, website. Use to verify a Finnish customer or supplier. Register facts only, not a credit report. Example: businessId=0112038-9. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.

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": "fi_company"
  }
}

Input Schema

NameRequiredDescriptionDefault
cityNoWith name: only companies registered in this town (Finnish or Swedish name)
nameNoCompany name to search for, instead of businessId: up to 10 current companies whose name holds every word
limitNoMatches for a name search (1-10, default 5)
businessIdNoFinnish business ID (Y-tunnus, 1234567-8) or VAT number FI12345678 (give businessId or name)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, and the description reinforces the no-side-effect nature ('Reads or computes only and changes nothing'). It adds genuinely new behavioral context annotations don't carry: pricing ($0.01/call via x402 USDC or card key, first 25 free, failed calls free) and the cost implication that repeats are not free, consistent with idempotentHint=false. It stops short of describing latency, rate limits, or what an error/empty response looks like.

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?

Front-loaded with the lookup key and return fields, then usage, then caveats and pricing — a sensible order with no filler sentences. It is dense and somewhat run-on, packing format, fields, semantics and billing into a few long clauses, but every clause carries information.

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?

There is no output schema, and the description compensates by enumerating exactly which register fields come back, so an agent knows what to expect without a return-value section. Cost, data source (live PRH), and the read-only nature are all covered, which is everything needed to call a zero-required-parameter lookup correctly.

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 the schema already explains businessId vs name, limit, and the city cross-filter. The description adds only a concrete example ('businessId=0112038-9') and the alternate VAT form, which mostly restates the schema. Baseline 3 is appropriate.

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?

Names a specific verb and resource ('Finnish company by business ID ... or name') and enumerates the returned fields (names, legal form, status, bankruptcy/liquidation, register memberships, address). It also draws a sharp boundary against an adjacent concept: 'Register facts only, not a credit report.' An agent can tell this apart from credit/enrichment style siblings without opening the schema.

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?

Gives an explicit usage context ('Use to verify a Finnish customer or supplier') and an implicit exclusion ('Register facts only, not a credit report'), which steers agents away from using it for creditworthiness checks. It does not name any specific sibling tool as the alternative, so routing between e.g. company/company_lookup/lei_lookup is left partly to inference.

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.