Skip to main content
Glama
pwasniowski

mcp-sejm-proces

by pwasniowski

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.0.0

  • Disambiguation5/5

    Each tool has a distinct purpose: search_prints finds prints by title fragment, get_print fetches detailed metadata for a specific print, and get_process retrieves the full legislative history. There is no overlap in their core functions, and the descriptions clearly differentiate them.

    Naming Consistency5/5

    All tool names follow the verb_noun pattern with snake_case: search_prints, get_print, get_process. This is fully consistent and predictable.

    Tool Count5/5

    Three tools is a well-scoped set for a focused server about Polish Sejm legislative processes. Each tool serves a necessary step in the workflow: search, retrieve, and process history, without unnecessary bloat.

    Completeness5/5

    The tool set covers the core read-only lifecycle: finding a print, getting its details, and accessing its legislative process. It appropriately references another server for act status, indicating a deliberate scope. There are no obvious dead ends for the intended domain.

  • Average 4.2/5 across 3 of 3 tools scored.

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

    • No community issues in the last 6 months
    • 9 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.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • 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

  • Behavior4/5

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

    Annotations already declare the operation as read-only and idempotent. The description adds valuable behavioral context: it specifies what the tool returns (title, dates, PDF attachments, process number) and includes an important nuance that not every print has its own legislative process. It also lists the possible error codes, which goes beyond the annotations and clarifies expected outcomes.

    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 two sentences: the first concisely states the purpose and content, and the second lists the error codes. It is appropriately front-loaded with the primary function and contains no unnecessary words, fitting the 'every sentence earns its place' principle.

    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?

    With no output schema, the description takes on the burden of explaining return values, and it does so by listing the main fields (title, dates, attachments, process number). It also covers potential error conditions and a domain-specific caveat about prints without a process. Minor omissions like date formats or attachment specifics prevent a perfect score.

    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 schema already provides descriptions for both parameters (nr and term), with 100% coverage. The description mentions 'by number' but does not add any semantic detail about the parameters beyond what the schema offers, so it does not improve on the baseline for fully documented parameters.

    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 states the tool's function with a specific verb and resource: 'Szczegóły druku sejmowego po numerze' (details of a parliamentary print by number). It lists the specific pieces of information returned (title, dates, attachments, process number), which distinguishes it from siblings like search_prints (searching) and get_process (process details).

    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 usage context is implied: the tool is used when you already have a print number and need its details. However, the description does not explicitly mention when to use this tool over alternatives, such as search_prints when the number is unknown. It provides a useful caveat about prints that do not initiate a process, but no explicit when/when-not guidance.

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

  • Behavior5/5

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

    The description goes beyond the read-only and idempotent annotations by disclosing implementation details: the Sejm API doesn't filter server-side, the tool downloads ~1.7MB of data, filters locally, and caches for 10 minutes. It also lists specific error types (missing_arg, invalid_term, upstream_error). This gives the agent a clear picture of expected latency and failure modes.

    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 concise (three sentences) and front-loaded with the core purpose. Every sentence adds useful information: purpose, performance/caching behavior, and error codes. There is no redundancy or filler.

    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?

    The description covers purpose, behavior, performance, caching, and errors, which is substantial for a read-only search tool. However, since there is no output schema, it doesn't describe the return structure (e.g., a list of prints), which would improve completeness. Still, given the tool's simplicity, it is largely adequate.

    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 provides descriptions for all three parameters (term, limit, title) with 100% coverage. The description adds minor value by noting that title matching is case-insensitive and supports Polish characters, and that the term parameter corresponds to a parliamentary term. This is slightly beyond the schema, but not significantly.

    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 clearly states the tool's function: 'Szuka druków sejmowych po fragmencie tytułu' (searches parliamentary prints by title fragment), with a specific verb and resource. It doesn't explicitly differentiate from sibling tools like get_print or get_process, but the search vs. retrieval distinction is clear from the name and verb.

    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 implies usage context by explaining the behavior: it downloads the full list and filters locally, with caching. However, it doesn't explicitly state when to use this tool versus alternatives like get_print or get_process, nor does it mention any exclusions. The guidance is mostly implied through the performance characteristics.

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

  • Behavior5/5

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

    Beyond the annotations (readOnly, openWorld, idempotent, non-destructive), the description adds semantic nuances: the meaning of `passed` for non-legislative documents and the list of possible errors. This helps the agent avoid misinterpreting results and understand failure modes.

    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 moderately long but every sentence contributes meaning: it explains outputs, caveats, alternative tool usage, and error types. It is front-loaded with the core purpose and remains structured, though the error list adds a bit of length.

    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 and lack of output schema, the description compensates well by detailing the return fields (stages, passed, link, ELI), clarifying edge cases, providing an explicit cross-reference to get_act, and listing errors. This is a thorough and self-sufficient description.

    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 provides full descriptions for both parameters (`nr` and `term`), achieving 100% coverage. The description does not add additional parameter-specific semantics beyond what the schema already states, so a baseline score of 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 specifies a precise verb+resource: 'Pełna historia procesu legislacyjnego dla danego druku' and enumerates return contents (stages, adoption status, RCL link, ELI). It clearly distinguishes from sibling tools like search_prints and get_print by focusing on the legislative process history.

    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?

    It explicitly instructs to use `mcp-isap.get_act` for the current legal status, setting a clear boundary. It also warns that not every print has a process, explaining that `passed=false` does not mean 'rejected' but 'not subject to adoption', which is critical contextual guidance for proper interpretation.

    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-sejm-proces MCP server

Copy to your README.md:

Score Badge

mcp-sejm-proces 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/pwasniowski/mcp-sejm-proces'

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