Skip to main content
Glama
MananCoder29

Berlin Services MCP Server

by MananCoder29

Berlin Services MCP Server - Enhanced

A production-grade Model Context Protocol (MCP) server for Berlin city services (Dienstleistungen). It features resilient caching, advanced search, PDF form discovery, and filling capabilities.

Features

  • Comprehensive Tools: Search, browse, and get detailed information on Berlin services.

  • Form Management: Discover, analyze, and fill PDF forms for various services.

  • Resilient Caching: Optimized for performance with intelligent fallback for offline use.

  • Remote Sync: Supports both local and remote (Cloud) deployments.

Related MCP server: Rechtsinformationen Bund DE MCP Server

Technical Architecture

1. Data Sourcing

The server pulls data from the official Berlin City Services API

  • Live Fetching: Tools like search_services and get_service_details hit the live API.

  • Resilient Caching: Implements a dual-layer cache (Memory + Disk) to ensure high performance and offline reliability.

  • Smart Fallback: If the API is down and no cache exists, it falls back to a minimal set of core services to remain functional.

2. Advanced PDF Processing

Powered by PyMuPDF (fitz), the server provides sophisticated document handling:

  • Field Extraction: Automatically detects fillable fields in PDF forms hosted on the city's servers.

  • Intelligent Filling: Maps user data to PDF fields using smart matching and common translation fragments.

  • Loop Protection: Includes a LoopProtector to prevent redundant tool executions and LLM loops.

  • Visual Previews: Can render specific pages of a PDF to JPEG for a quick in-chat snapshot (useful for verification without leaving the chat).

3. Deployment Modes

  • Local Mode: Optimized for use with Claude Desktop. In this mode, open_file_locally can be used to open filled PDFs directly with your system's default viewer.

  • Remote/Cloud Mode: Designed for deployment on platforms like Fly.io or Railway. Replaces local file opening with secure synchronization and in-chat previews.

Prerequisites

  • Python 3.11 or higher

  • uv (recommended) or pip

Local Setup

Using uv (Recommended)

  1. Install dependencies and sync the environment:

    uv sync
  2. Run the server as a module:

    export PYTHONPATH=$PYTHONPATH:$(pwd)/src && uv run python -m berlin_mcp.main

    Note: If you've installed the package via uv sync, you can also just run:

    uv run berlin-mcp

Using pip

  1. Install dependencies:

    pip install -r requirements.txt
  2. Run the server:

    export PYTHONPATH=$PYTHONPATH:$(pwd)/src && python -m berlin_mcp.main

Claude Desktop Configuration

Add the following to your Claude Desktop configuration file. Replace /Users/mananshah/Desktop/Berlin-Services-MCP-Server with the actual absolute path to the folder.

macOS

File location: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "berlin-services": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/Users/YourUser/Desktop/Berlin-Services-MCP-Server",
        "python",
        "-m",
        "berlin_mcp.main"
      ],
      "env": {
        "PYTHONPATH": "src"
      }
    }
  }
}

Windows

File location: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "berlin-services": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "C:\\Users\\YourUser\\Desktop\\Berlin-Services-MCP-Server",
        "python",
        "-m",
        "berlin_mcp.main"
      ],
      "env": {
        "PYTHONPATH": "src"
      }
    }
  }
}

Tools and Resources

The server exposes the following tools to help you navigate and manage Berlin city services:

Tool

Description

search_services

Advanced search for Berlin services with paging and filters.

get_service_details

Get complete details about a service including forms and prerequisites.

get_service_forms

Get all forms associated with a service with detailed metadata.

search_forms

Search for forms across all services.

get_forms_by_type

Get all forms of a specific type across services.

get_service_prerequisites

Get all prerequisites and requirements for a service.

get_service_checklist

Get a comprehensive checklist for completing a service application.

analyze_form_for_filling

Download a PDF form and extract its fillable fields.

perform_form_filling

Fill a PDF form and save locally.

download_filled_form

Retrieve a filled PDF form.

get_form_visual_preview

Render a page of a filled PDF as an image.

open_file_locally

Open a file on the user's local system (Local setup only).

delete_filled_form

Manually delete a filled form from the server.

browse_services_by_category

Browse services by category.

find_online_services

Find all services available online.

get_service_locations

Get all locations for a service.

get_api_status

Get API and cache status diagnostics.

clear_cache

Clear the service cache and force refresh.

Security Note

PDF forms filled on remote servers should be downloaded and then deleted using the delete_filled_form tool to ensure data privacy.

Available Tools

18 tools
analyze_form_for_fillingC

Download a PDF form and extract its fillable fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
form_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden of disclosure. It fails to mention whether the download is destructive, requires permissions, or has side effects. The tool's behavioral traits are under-specified.

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 clear sentence with no wasted words. However, it could be structured to front-load the most critical action and could benefit from additional context.

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

Completeness2/5

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

Given the simplicity of the tool (one parameter), the description fails to cover the output schema (though present) and parameter specifics. It is incomplete for effective tool selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The sole parameter form_url has no description in the schema and zero schema coverage. The tool description adds no detail about URL format, protocol, or expected behavior, leaving the agent without necessary parameter guidance.

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 downloads and extracts fillable fields from a PDF form, specifying the verb and resource. However, it does not explicitly differentiate from sibling tools like perform_form_filling, which could be confused.

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 is provided on when to use this tool versus alternatives such as perform_form_filling or get_form_visual_preview. The description lacks context about the appropriate use case.

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

browse_services_by_categoryC

Browse services by category.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
categoryYes
page_sizeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.1/5.0
Behavior1/5

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

With no annotations, the description must disclose behavioral traits. It only states 'Browse services by category' with no mention of read-only nature, pagination, or side effects, leaving critical behavior undocumented.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence but is underspecified. While short, it fails to convey essential details beyond the name, making it insufficient for effective selection.

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

Completeness1/5

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

Despite having an output schema, the description omits nearly all contextual information: pagination behavior, return structure, and differentiation from sibling tools. For a tool with 3 parameters and no schema descriptions, the description is critically incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning none of the three parameters (category, page, page_size) have descriptions. The tool description adds no information about parameter usage, valid values, or formatting expectations.

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 the verb 'browse' and resource 'services by category', clearly indicating the action and filter. However, it does not differentiate from sibling tools like 'search_services', and 'browse' is somewhat vague compared to 'list' or 'retrieve'.

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 usage guidelines are provided. The description does not specify when to use this tool versus search_services or other alternatives, nor does it mention any prerequisites or restrictions.

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

clear_cacheB

Clear the service cache.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only states the action (clear) but does not explain what data is affected, whether it is destructive, or if any other operations are impacted.

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 a single, clear sentence with no unnecessary words. It is front-loaded and earns its place.

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 and the presence of an output schema, the description is minimally viable but lacks context on when to use it (e.g., after specific updates). It does not explain the effect on other tools.

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?

There are zero parameters, and schema coverage is 100%. Per the guidelines, the baseline is 4. The description adds no extra parameter information, but none is needed.

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 'Clear the service cache' uses a specific verb and resource, clearly distinguishing it from sibling tools that deal with forms, services, and uploads. However, it could be more specific about which service cache (e.g., local, remote).

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 is provided on when to use this tool versus alternatives. There is no mention of prerequisites, side effects, or situations where clearing cache is appropriate or inappropriate.

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

delete_filled_formC

Manually delete a filled form.

ParametersJSON Schema
NameRequiredDescriptionDefault
filenameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior1/5

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

With no annotations, the description must fully disclose behavior. It only says 'Manually delete' without noting that deletion is irreversible, required permissions, or any side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short but omits critical information, making it under-specified rather than concise.

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

Completeness2/5

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

With one parameter and low complexity, a brief description could suffice, but this one lacks necessary details about the parameter and the deletion's consequences.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain the 'filename' parameter. It does not, leaving the parameter's meaning and expected format ambiguous.

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 'Manually delete a filled form', specifying the verb 'delete' and resource 'filled form'. This distinguishes it from sibling tools like 'download_filled_form' or 'perform_form_filling'.

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 is provided on when to use this tool versus alternatives, nor any prerequisites or when not to use it.

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

download_filled_formC

Retrieve a filled PDF form.

ParametersJSON Schema
NameRequiredDescriptionDefault
filenameYes
only_previewNo
delete_after_readNo
ignore_size_limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for disclosing behavior. It fails to mention that the tool can delete the form after download (via 'delete_after_read' parameter), or that it supports preview mode and size limits. This is a significant gap for a tool with potentially destructive side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence, which is under-specified for a tool with 4 parameters and complex behavior. It achieves conciseness at the expense of essential information, making it insufficiently structured.

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

Completeness2/5

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

Given the tool's complexity (4 parameters, no param descriptions) and lack of annotations, the description is incomplete. It does not cover important aspects like return format, side effects, or parameter roles. The existence of an output schema does not compensate for missing behavioral context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 4 parameters with 0% description coverage, and the description does not explain any parameter. The description adds no value beyond the schema itself, leaving the agent without understanding what 'only_preview', 'delete_after_read', or 'ignore_size_limit' do.

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 'Retrieve a filled PDF form' uses a specific verb ('retrieve') and clearly identifies the resource ('filled PDF form'). It effectively distinguishes the tool from siblings like 'delete_filled_form' and 'analyze_form_for_filling', which have different purposes.

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?

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., form must already be filled) or specify use cases, leaving the agent to infer context.

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

find_online_servicesD

Find all services available online.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
page_sizeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

D1.8/5.0
Behavior1/5

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

No annotations exist, so the description must disclose behavior. It fails to mention pagination (despite 'page' parameters), output structure, or any side effects. The phrase 'all services' is misleading given pagination.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, but it omits critical details. It is under-specified rather than concise, failing to earn its place with essential information.

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

Completeness1/5

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

Given the presence of pagination parameters and sibling tools with similar functions, the description is woefully incomplete. It does not explain what services are listed, how filtering works, or how the output is structured.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description adds no information about the parameters 'page' and 'page_size'. The agent has no clue what these parameters control.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool finds services available online, which is clear but does not differentiate from sibling tools like 'search_services' or 'browse_services_by_category'. The verb 'Find' and resource are present, but ambiguity remains.

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 versus alternatives. No context, exclusions, or prerequisites are provided, leaving the agent without decision support.

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

get_api_statusA

Get API and cache status diagnostics.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It states 'diagnostics' but provides no details on side effects, required permissions, or specific outputs. However, the operation is simple and likely read-only; the lack of annotation is mitigated by the tool's simplicity. Still, more context would be beneficial.

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?

A single, clear sentence that conveys the purpose without any extraneous words. It is appropriately sized 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 has no parameters, an output schema exists, and the operation is straightforward (diagnostics retrieval), the description is complete enough to understand what the tool does and what to expect.

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?

The input schema has zero parameters, so the baseline is 4. The description adds no parameter information beyond what the schema provides, but that is sufficient since there are no parameters to describe.

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's function: retrieving API and cache status diagnostics. It uses a specific verb ('Get') and resource ('API and cache status'), distinguishing it from sibling tools like 'clear_cache' which performs a different action.

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?

No explicit guidance on when to use this tool versus alternatives. The context implies it's for diagnostics, but there is no mention of prerequisites, alternatives, or when not to use it. Sibling tools like 'clear_cache' are related but not mentioned.

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

get_forms_by_typeC

Get all forms of a specific type across services.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
form_typeYes
page_sizeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description should disclose behavioral traits like pagination (implied by page/page_size parameters) and return format, but it only states a basic purpose without any behavioral details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise but underspecified for the tool's complexity; it needs more detail to be effective while still being clear.

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

Completeness2/5

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

Despite the presence of an output schema, the description omits essential context like pagination behavior, parameter meaning, and what 'across services' entails, making it incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides no information about parameters; with 0% schema description coverage, it should explain the form_type parameter and pagination, but it does not, leaving the agent without guidance.

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 that the tool retrieves all forms of a specific form type across services, distinguishing it from sibling tools like get_service_forms (per-service) and search_forms (different filtering scope).

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 usage guidelines are provided; the description does not specify when to use this tool over alternatives such as search_forms or get_service_forms, nor does it mention any prerequisites or context.

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

get_form_visual_previewC

Render a page of a filled PDF as an image.

ParametersJSON Schema
NameRequiredDescriptionDefault
filenameYes
page_numNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It states the core function but omits important behavioral traits such as whether the operation is read-only, any file size or performance constraints, or what happens if the file doesn't exist.

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, but its brevity sacrifices completeness. It could include parameter details without becoming verbose.

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

Completeness2/5

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

Given two parameters and no annotations, the description is insufficient. It does not clarify input format, output schema, or error conditions. The presence of an output schema does not reduce the need for explanation since it's not described.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain the parameters. It does not specify that 'filename' is the path to the filled PDF, nor that 'page_num' is zero-indexed or default behavior. The agent gets no added meaning beyond the plain schema.

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?

Description clearly states the tool renders a page of a filled PDF as an image. The verb 'render' and resource 'page of a filled PDF' are specific. However, it does not explicitly distinguish from siblings like download_filled_form, though the output format (image vs PDF) provides implicit distinction.

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 versus alternatives, no prerequisites, and no exclusions. Without context, the agent must infer usage from the name alone.

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

get_service_checklistC

Get a comprehensive checklist for completing a service application.

ParametersJSON Schema
NameRequiredDescriptionDefault
service_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only says 'comprehensive checklist' but does not explain what the checklist contains, whether it requires authentication, or any side effects. For a read-only tool, it lacks detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence, which is concise. However, it lacks structure or any additional context that might aid understanding. It is not wasteful but is minimal.

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

Completeness2/5

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

Given there is an output schema, the description does not need to explain return values, but it fails to provide essential context such as what a 'checklist' entails, any prerequisites, or how the output is structured. Incomplete for a tool with one parameter.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning the description adds no meaning beyond the schema. It mentions 'service_id' implicitly but does not clarify its format, constraints, or relationship to the checklist.

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 retrieves a checklist for a service application. The verb 'Get' and resource 'comprehensive checklist' are specific, and the name distinguishes it from sibling tools like get_service_details or get_service_forms, though no explicit differentiation is provided.

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 versus alternatives like get_service_details or get_service_prerequisites. The description does not include any usage context or exclusions.

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

get_service_detailsC

Get complete details about a service including forms and prerequisites.

ParametersJSON Schema
NameRequiredDescriptionDefault
service_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the burden of behavioral disclosure. It only states it gets details, implying a read operation, but does not explicitly confirm safety, idempotency, or error behavior (e.g., if service_id is invalid). This is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (12 words, single sentence) and front-loads the core action. However, it lacks structure (e.g., bullet points) and omits critical information, making it efficient but not well-rounded.

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 existence of an output schema, the description need not detail return values. However, it does not mention that this is a superset endpoint combining multiple other tools, nor does it provide context on when to use it over siblings. It is minimally complete but leaves gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, meaning the parameter 'service_id' has no description in the schema. The tool description does not explain the parameter's format, where to obtain a valid ID, or any constraints. It adds no value beyond the parameter name.

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 verb 'Get' and the resource 'complete details about a service', specifying included content (forms and prerequisites). However, it does not differentiate from siblings like get_service_forms or get_service_prerequisites, so while clear, it lacks sibling distinction.

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 is provided on when to use this tool versus alternatives. The description does not mention when to prefer individual endpoints (e.g., get_service_forms) over this combined tool, nor any prerequisites or context for its use.

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

get_service_formsB

Get all forms associated with a service with detailed metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
service_idYes
include_metadataNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior2/5

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

No annotations exist, so description carries full burden. Only states it retrieves forms, implying read-only, but lacks details on auth requirements, rate limits, or behavior on missing service.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single concise sentence, front-loaded. However, too sparse for a tool with 2 params and no schema descriptions; could include more without being verbose.

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

Completeness2/5

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

Despite having an output schema, description provides no overview of return structure or fields (e.g., what 'detailed metadata' includes). Lacks context on pagination, errors, or ordering.

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 has 0% coverage, but description hints at include_metadata with 'detailed metadata'. However, does not explain service_id or what metadata entails. Some value added but insufficient to fully compensate.

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?

Clearly states the tool retrieves forms for a service (specific verb and resource), and adds 'with detailed metadata' to differentiate from siblings like get_forms_by_type.

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 siblings like get_forms_by_type, browse_services_by_category, etc. No when-not-to-use or alternative suggestions.

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

get_service_locationsC

Get all locations for a service.

ParametersJSON Schema
NameRequiredDescriptionDefault
service_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description should disclose behavioral traits. It only states the basic function, omitting any details about read-only nature, authentication requirements, error handling, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (one sentence) and front-loaded. However, it is overly terse and could include more useful information without sacrificing brevity.

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 low complexity (one parameter, output schema exists), the description minimally covers purpose. But it lacks context about what constitutes a 'location' or how the service relates to other tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'service_id' has 0% schema coverage, and the description adds no semantic meaning beyond its name. It does not explain what a valid service_id is or how it is used.

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 'Get all locations for a service.' clearly states the action (get) and the resource (locations for a service). It distinguishes itself from sibling tools like 'get_service_details' or 'get_service_forms' by specifying 'locations'.

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 is provided on when to use this tool versus alternatives. There is no mention of prerequisites, when-not-to-use, or comparisons with sibling tools.

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

get_service_prerequisitesC

Get all prerequisites and requirements for a service.

ParametersJSON Schema
NameRequiredDescriptionDefault
service_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.3/5.0
Behavior1/5

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

No annotations are provided, so the description must fully disclose behavior. It entirely fails to mention side effects, required permissions, response format, or any constraints beyond the parameter list.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise. However, it lacks critical details, making it under-specified rather than efficiently complete.

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

Completeness2/5

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

Given the tool has one parameter and an output schema, the description should at least hint at what the output contains. It mentions nothing about return values, relationships to sibling tools, or usage context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, yet the description does not explain the 'service_id' parameter's meaning, format, or any constraints. It merely restates the parameter name without adding value.

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 uses a specific verb 'Get' and resource 'prerequisites and requirements for a service', clearly indicating the tool's function. However, it does not distinguish this from sibling tools like 'get_service_checklist' or 'get_service_details', which may have overlapping purposes.

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 is provided on when to use this tool versus alternatives. No context about prerequisites, service types, or relationships to other tools is given.

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

open_file_locallyC

Open a file on the user's local system.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It does not mention what opening a file entails (e.g., default application), potential side effects, security implications, or error handling. The output schema exists but is not described, so the behavior remains opaque.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (one sentence), but it sacrifices necessary detail. Conciseness is positive, but under-specification makes it marginally usable. A score of 3 reflects adequate brevity with significant gaps.

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

Completeness2/5

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

Given the presence of an output schema, the description is not required to explain return values. However, it still fails to cover essential context: file access permissions, error cases (file not found), and whether the tool opens in a new window or blocks execution. The description is too minimal for safe invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage and only one parameter (file_path), the description adds no meaning beyond the raw schema. It fails to specify path format (absolute vs relative), valid file types, or constraints. The agent lacks guidance on how to properly populate the parameter.

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?

Description clearly states the action (open) and resource (file on local system). However, it does not distinguish from sibling tools like download_filled_form or get_form_visual_preview, which operate on different resource types. A score of 4 reflects clear purpose without sibling differentiation.

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 versus alternatives. The description provides no context about prerequisites, use cases, or scenarios where this tool is appropriate. This absence leaves the agent without situational awareness.

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

perform_form_fillingC

Fill a PDF form and save locally.

ParametersJSON Schema
NameRequiredDescriptionDefault
flattenNo
form_urlYes
field_dataYes
force_recomputeNo
output_filenameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.1/5.0
Behavior2/5

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

With no annotations provided, the description bears full responsibility for behavioral disclosure. It only states the high-level action without detailing side effects (e.g., whether the original form is modified, what files are created, authorization needs) or the nature of the local save operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, short sentence (8 words), which is concise but severely under-specified for a tool with 5 parameters and complex behavior. It lacks structure and fails to convey essential information, thus not earning its place.

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

Completeness1/5

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

Given the high complexity (5 parameters, 2 required, nested objects), no schema descriptions, and no annotations, the description is drastically incomplete. It does not mention the output (despite an output schema existing), required fields, or the purpose of optional parameters like flatten or force_recompute.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning no parameter descriptions exist in the schema. The tool description adds no information about the five parameters (form_url, field_data, flatten, force_recompute, output_filename), making it impossible for an agent to understand how to invoke the tool correctly without external knowledge.

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 'Fill a PDF form and save locally.' clearly states the verb (fill) and resource (PDF form) and the outcome (save locally). It is distinguishable from siblings like 'analyze_form_for_filling' (analysis) and 'delete_filled_form' (deletion), though it does not explicitly contrast them.

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

Usage Guidelines1/5

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

The description provides no guidance on when to use this tool versus alternatives like 'analyze_form_for_filling', nor does it mention prerequisites or conditions. There is no indication of appropriate context or exclusions.

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

search_formsC

Search for forms across all services.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
queryYes
form_typeNo
page_sizeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description must convey behavioral traits on its own. It only states 'Search for forms', omitting crucial details like read-only nature, authentication requirements, pagination behavior, or what happens with empty results. The presence of an output schema partially mitigates this, but the description itself is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (one sentence) and front-loaded with the core action. However, it sacrifices necessary details, making it too terse for effective tool selection and invocation.

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

Completeness2/5

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

Given the tool has 4 parameters, no schema descriptions, no annotations, and an output schema, the description is incomplete. It does not explain how to construct the query, handle pagination, or interpret the results. The output schema may cover return values, but the description lacks critical usage context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning the schema provides no parameter descriptions. The description adds no information about any of the four parameters (query, page, page_size, form_type). It fails to clarify the query format, the meaning of form_type, or pagination defaults, leaving the agent to infer from parameter names alone.

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 specifies a verb ('Search'), a resource ('forms'), and a scope ('across all services'), which clearly indicates what the tool does. It distinguishes from siblings like 'search_services' and 'get_forms_by_type', but does not elaborate on the type of search or any additional constraints.

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 is provided on when to use this tool versus alternatives such as 'get_forms_by_type' or 'search_services'. There is no mention of prerequisites, use cases, or exclusion criteria.

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

search_servicesC

Advanced search for Berlin services with paging and filters.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
queryYes
categoryNo
has_formsNo
page_sizeNo
online_onlyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

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

No annotations provided; description only mentions 'advanced search' without disclosing behavior like read-only nature, rate limits, or side effects. The term 'search' implies read-only, but not explicitly stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with key information. However, it lacks detail that would make it sufficiently informative, so conciseness is not a strong point.

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

Completeness2/5

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

Given 6 parameters and an output schema, the description fails to cover how paging and filters work, what the output contains, or any constraints. Incomplete for a search tool with multiple options.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%. Description mentions 'filters' generically but does not explain any of the six parameters (e.g., category, has_forms, online_only). It adds no semantic value beyond the schema structures.

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?

Description clearly states it's for searching Berlin services with paging and filters. The verb 'search' and resource 'Berlin services' are specific. It hints at advanced capabilities but does not explicitly differentiate from siblings like 'browse_services_by_category'.

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 versus alternatives (e.g., browse_services_by_category). The description is purely functional without context for selection.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 18 tool updatesv0.1.0
    • First observedanalyze_form_for_filling
    • First observedbrowse_services_by_category
    • First observedclear_cache
    • First observeddelete_filled_form
    • First observeddownload_filled_form
    • First observedfind_online_services
    • First observedget_api_status
    • First observedget_form_visual_preview
    • First observedget_forms_by_type
    • First observedget_service_checklist
    • First observedget_service_details
    • First observedget_service_forms
    • First observedget_service_locations
    • First observedget_service_prerequisites
    • First observedopen_file_locally
    • First observedperform_form_filling
    • First observedsearch_forms
    • First observedsearch_services

TDQS

C2.8/5.0
Disambiguation4/5

Most tools have distinct purposes, but some overlap exists (e.g., 'search_forms' vs 'get_forms_by_type', 'get_service_details' vs 'get_service_prerequisites'). Descriptions help disambiguate.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with snake_case naming. No mixing of conventions (e.g., 'get_service_details', 'search_services').

Tool Count4/5

18 tools is on the higher side but appropriate for the broad domain of Berlin services and forms. Each tool covers a distinct aspect without feeling bloated.

Completeness3/5

Covers many aspects (services, forms, filling, maintenance) but notably missing a 'list_filled_forms' tool despite having 'delete_filled_form'. Some operations for form lifecycle are incomplete.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    B
    maintenance
    Provides access to the official German Federal Legal Information Portal (rechtsinformationen.bund.de) enabling AI agents to search German federal laws, court decisions, and legal documentation with authoritative citations from official sources.
    5
    23
    -
  • A
    license
    A
    quality
    D
    maintenance
    Enables interaction with Berlin's open data catalog through tools for full-text search, metadata retrieval, and dataset analysis. It provides access to over 2,500 datasets across categories like transport, health, and education using the Model Context Protocol.
    6
    5
    MIT

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/MananCoder29/Berlin-Services-MCP-Server'

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