Skip to main content
Glama
emilpinski

mcp-polish-data

by emilpinski

Server Quality Checklist

75%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.0

  • Disambiguation4/5

    Tools are mostly distinct: CEIDG vs KRS for different entity types, GUS tools for different statistics. However, ceidg_search_business and krs_search_company could be confused when searching for a company that might be in both, but descriptions clarify which to use.

    Naming Consistency5/5

    All tools follow a consistent 'datasource_action_entity' pattern (e.g., ceidg_search_business, gus_get_average_salary, krs_search_company). No mixing of conventions.

    Tool Count5/5

    7 tools is appropriate for a Polish business data server covering CEIDG, KRS, and GUS statistical data. Each tool serves a distinct purpose without being too few or too many.

    Completeness4/5

    Covers key business lookup (CEIDG, KRS) and major GUS indicators (salary, population, unemployment) with a generic search. Missing some Polish databases (e.g., REGON) but core workflows are well-supported.

  • Average 4/5 across 7 of 7 tools scored. Lowest: 3.4/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • Tools from this server were used 14 times in the last 30 days.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior3/5

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

    No annotations provided, so the description must carry the entire burden. It correctly implies a read-only data retrieval operation, but does not disclose whether it requires authentication, rate limits, or data freshness (e.g., if only one year is available). It's adequate but not thorough.

    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 a single concise sentence that clearly communicates the purpose. It is front-loaded but uses a non-standard term 'Pobierz' which may or may not be universally understood; however, it's efficient.

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

    Completeness3/5

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

    Given the tool's simplicity (one optional parameter, no nested objects, has output schema), the description is mostly adequate. However, it could mention that the output schema exists and note any regional coverage limitations (e.g., only for Polish voivodeships). The context signals show low complexity, so a moderate score is fair.

    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% (one parameter 'year' with default and Polish description). The description adds 'domyślnie 2023' which is already in the schema default, and does not provide additional meaning beyond that. 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?

    The description uses a specific verb 'Pobierz' (download/get) and clearly states the resource: 'przeciętne miesięczne wynagrodzenie brutto dla województw z GUS BDL'. This distinguishes it from sibling tools which retrieve population, unemployment, or search variables/companies.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool vs alternatives. It doesn't state any prerequisites, limitations, or when it would be inappropriate compared to other tools like 'gus_get_unemployment_rate' or 'gus_search_variable'.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

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

    No annotations provided, so description must disclose behavioral traits. Description implies this is a read operation retrieving data. It does not mention any destructive actions, authentication, or rate limits. However, it's a simple retrieval with one parameter, so the risk is low. A 3 is adequate given no annotations.

    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?

    One short sentence that conveys essential information. No wasted words. Front-loaded with key verb 'Pobierz' (retrieve) and object.

    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?

    Given the tool is simple (one optional parameter, output schema present), the description covers the main purpose. It could mention that data is for Poland and specifies the granularity (16 voivodeships). Output schema likely describes return structure, so description need not detail return values. High completeness for its complexity.

    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 coverage is 100% (one parameter 'year' with description and default). The description adds no extra meaning to the parameter beyond what the schema provides. 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?

    Description clearly states Polish and English: retrieves registered unemployment rates for 16 voivodeships from GUS BDL. It's specific about resource (unemployment rate), scope (16 voivodeships), and source (GUS BDL), distinguishing it from siblings like average salary or population.

    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?

    The description does not explicitly state when to use this tool vs siblings. Context implies it's for unemployment rate data. No guidance on when not to use it or alternatives.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    With no annotations provided, the description carries full burden. It explicitly lists the data returned (rejestrowe, siedzibę, zarząd, kapitał zakładowy, PKD, prokurentów, sprawozdania finansowe) and implies it provides the full current extract, revealing scope beyond simple retrieval.

    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 3 lines, front-loads the main action, and lists key data elements efficiently. It is concise but covers essential aspects without waste.

    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?

    For a one-parameter tool with full schema coverage and an output schema present, the description adequately covers what the tool returns. It does not explain error cases or prerequisites, but for this simple tool, completeness is high.

    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?

    The input schema already fully describes the parameter (krs_number with format example). The description adds no additional meaning beyond what the schema provides, so 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?

    The description clearly states 'Pobierz pełne dane spółki z KRS' (download full company data from KRS) and specifies the resource (based on KRS number), distinguishing it from sibling tools like 'krs_search_company' which likely searches, not retrieves detailed data.

    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?

    The description does not explicitly state when to use this tool versus alternatives, but the context signals indicate siblings: 'krs_search_company' likely for searching vs this for details. Usage is implied by the verb 'Pobierz' (download) but no exclusions or selection criteria are provided.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

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

    No annotations are provided, so description bears full burden. It indicates the tool searches by name fragment (query param) and returns results (page_size), but does not clarify behavioral aspects like pagination behavior, sorting, or error handling (e.g., what if no results?). It does not mention authentication needs or rate limits. Acceptable for a search tool but could be more transparent.

    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?

    Description is extremely concise: two short sentences. The first sentence defines the tool's purpose, and the second provides usage context with examples. No extraneous information. Perfectly front-loaded.

    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?

    Given the tool has a simple search interface with 2 parameters and an output schema, the description adequately covers the main use case. It does not explain the output schema or return format, but since an output schema exists, that is not required. It could mention the language (Polish) of the database and results, but overall sufficient for a straightforward search.

    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 coverage is 100%, so the schema already describes both parameters ('query' as name fragment, 'page_size' as number of results). The description confirms that query is a fragment of the variable name and page_size controls result count, but adds no additional meaning beyond the schema. Baseline score 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?

    Description clearly states the tool action: 'Search for a statistical variable in GUS BDL by name fragment.' It specifies the verb (search), resource (statistical variable in GUS BDL), and scope (by name fragment). It differentiates from sibling tools by mentioning its use when a desired indicator is not available in dedicated tools (e.g. specific indicators like CO2 emissions, number of doctors, tourism), which are not covered by siblings like gus_get_population or gus_get_average_salary.

    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?

    Description provides explicit use case: 'Use when you need an indicator not available in dedicated tools' and gives examples of queries. This implies when not to use it (when dedicated tools exist), but does not explicitly state alternative tools or when to use siblings. The context is clear for distinguishing from specialized tools, but lacks direct references to sibling methods.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    The description discloses critical behavioral traits: it uses a specific government database (Biała Lista VAT MF), what data fields are returned (name, REGON, KRS, address, management, shareholders, bank accounts), and the limitation that name search returns instructions rather than results. Since no annotations are provided, the description compensates well.

    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 concise and front-loaded with the main purpose. It uses three clear sentences. The only minor issue is that it could be slightly more structured with a brief summary upfront.

    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?

    Given that an output schema exists, the description does not need to explain return values. It covers the tool's data source, returned fields, and key limitation well. It could be slightly more complete by noting pagination or max_items effect, but overall sufficient.

    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?

    Input schema already describes all three parameters with 100% coverage, so baseline is 3. The description reiterates the NIP preference and name limitation but does not add significant new meaning 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?

    The description clearly states the tool searches for business entities (Szukaj podmiotu gospodarczego) and specifies it uses the White List of VAT taxpayers returning detailed data by NIP number. It distinguishes itself from siblings by noting that the public KRS API does not support search by name, so NIP is preferred.

    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?

    The description explicitly recommends using NIP as the preferred method and explains why name search is not supported. However, it does not provide explicit when-not-to-use scenarios or mention alternatives for name-based search (e.g., ceidg_search_business).

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

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

    No annotations provided, so description carries burden. It mentions requirements but does not disclose behavioral traits like auth, rate limits, or what happens with invalid input. However, it does specify the tool is for searching and expects at least one parameter, which is basic behavioral info.

    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?

    Description is concise with three sections, but the first line is in Polish while sibling tools are in English. Could be shorter by removing repetition, but it's well-structured and front-loaded.

    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?

    Given the tool's complexity (5 params, simple search), no output schema needed since search results are standard. Description covers purpose, usage, requirements, and sibling distinction, making it complete.

    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 coverage is 100%, so baseline is 3. The description adds value by stating that at least one of the four core parameters is required, which is not in schema. It also groups name, nip, regon, surname as the required ones, enhancing parameter semantics.

    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 clearly states the tool searches for sole proprietorships in CEIDG, using specific verbs 'Szukaj' and specifying the resource 'przedsiębiorcy (jednoosobowej działalności gospodarczej)'. It also distinguishes from sibling tool krs_search_company, which is for companies.

    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?

    The description explicitly tells when to use this tool (JDG, freelancer) and when not (spółki, use krs_search_company). It also specifies required parameters: at least one of name, nip, regon, surname.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

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

    No annotations are provided, so the description carries full burden. It discloses the default return set (all voivodeships) and the year default, which gives agents a good behavioral understanding. However, it does not mention potential limitations or error cases.

    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?

    The description is very concise (three sentences) with the most important information front-loaded. No unnecessary words or repetition.

    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?

    Given the tool has only 2 optional parameters, high schema coverage, and an output schema (not shown but present), the description is complete enough. It covers purpose, default behavior, and how to use the optional parameter.

    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 coverage is 100%, so baseline is 3. The description adds value by explaining the effect of unit_name (to filter results) and the default for year. It also gives a concrete example for unit_name, which enhances understanding beyond the schema descriptions.

    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 clearly states the tool fetches demographic (population) data from GUS BDL, with a specific verb ("Pobierz") and resource (ludność z GUS BDL). It distinguishes from sibling tools like gus_get_average_salary and gus_get_unemployment_rate by explicitly mentioning population as the data type.

    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?

    The description explains the default behavior (all 16 voivodeships) and how to narrow results using the unit_name parameter. It does not explicitly mention when not to use it or contrast with siblings, but the context is clear enough for an agent to decide.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

mcp-polish-data MCP server

Copy to your README.md:

Score Badge

mcp-polish-data MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/emilpinski/mcp-polish-data'

If you have feedback or need assistance with the MCP directory API, please join our Discord server