Skip to main content
Glama

Overfit — German tenders & procurement law

Firmenprofil abrufen

get_company_profile
Read-onlyIdempotent

Returns the register profile of one German company: name, address, legal form, register court, WZ industry code, website and alive verdict (active/dead/unknown) with the date of the status (as_of). Intended for requests where the user asks who a company is, where it is registered or whether it is still active, and the company_number_norm is known (otherwise find_company resolves it first). Example user questions: 'Wer steckt hinter HRB 52093, Amtsgericht Hamburg?' (key K1101_HRB52093), 'Welche Adresse hat K1101_HRB52093?', 'Is this company still active?' Related: check_company_status checks up to 25 companies at once; get_company_financials returns the financial history.

Input Schema

NameRequiredDescriptionDefault
registerYescompany_number_norm — the unique register key for a German company. Format: {CourtLetter}{4digits}_{HRB|HRA|PR|GnR|VR}{Nummer}, Example: 'K1101_HRB52093' is HRB 52093 at Amtsgericht Hamburg (court code K1101). Court codes are not derivable from city names or initials; the key comes from find_company (company name, register number + court, EUID, LEI, VAT ID) or from an earlier firm tool result. Input that is not a key (e.g. 'HRB 52093 Hamburg') is resolved the same way as in find_company; a well-formed key that belongs to no company is answered 'not found' (usually a wrong court code).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / register / description
      Previous value: -"company_number_norm — the unique register key for a German company. Format: {CourtLetter}{4digits}_{HRB|HRA|PR|GnR|VR}{Nummer}, Example: 'K1101_HRB52093' is HRB 52093 at Amtsgericht Hamburg (court code K1101). Court codes are not derivable from city names or initials; the key comes from find_company (register number + court, EUID, LEI, VAT ID) or from an earlier firm tool result. Input that is not a key (e.g. 'HRB 52093 Hamburg') is resolved the same way as in find_company; a well-formed key that belongs to no company is answered 'not found' (usually a wrong court code)."New value: +"company_number_norm — the unique register key for a German company. Format: {CourtLetter}{4digits}_{HRB|HRA|PR|GnR|VR}{Nummer}, Example: 'K1101_HRB52093' is HRB 52093 at Amtsgericht Hamburg (court code K1101). Court codes are not derivable from city names or initials; the key comes from find_company (company name, register number + court, EUID, LEI, VAT ID) or from an earlier firm tool result. Input that is not a key (e.g. 'HRB 52093 Hamburg') is resolved the same way as in find_company; a well-formed key that belongs to no company is answered 'not found' (usually a wrong court code)."
  2. Added

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds useful behavioral context by naming the returned fields, the alive verdict values, the status date, and the not-found behavior for a well-formed but unknown key.

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 return behavior and intended use, followed by examples and related tools. It is somewhat long for a one-parameter read tool, but every section adds routing or interpretation value rather than restating the name.

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 single-profile lookup with one required parameter, no output schema, and strong annotations, the description is complete enough to call correctly. It covers what is returned, when to use it, how to obtain the key, and how it differs from related tools.

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 the parameter schema already explains the company_number_norm format, court-code caveat, and resolution behavior in detail. The tool description reinforces that the key must be known or resolved via find_company, but it does not add parameter syntax or format details beyond the schema.

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?

States a specific verb and resource: returns the register profile of one German company, then enumerates the returned fields including name, address, legal form, register court, WZ code, website, and alive verdict. It also distinguishes itself from find_company, check_company_status, and get_company_financials, so an agent can identify the correct sibling.

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?

Explicitly describes when to use this tool: when the user asks who a company is, where it is registered, or whether it is still active, and the normalized company number is known. It also states the alternative when the key is not known: use find_company first, and names other related tools for batch status checks and financial history.

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