Skip to main content
Glama
tifa365

Berlin Open Data MCP Server

by tifa365

berlin_get_dataset

Retrieve complete metadata and downloadable resources for Berlin open data datasets, including titles, descriptions, formats, and access URLs.

Instructions

Ruft vollstaendige Metadaten und Ressourcen eines Datensatzes ab.

Gibt Titel, Beschreibung, Autor, Lizenz, alle verfuegbaren
Dateiformate und Download-URLs zurueck.

Returns:
    Detaillierte Markdown-Ansicht des Datensatzes mit allen Ressourcen

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
paramsYes

Implementation Reference

  • The implementation of the `berlin_get_dataset` tool handler.
    async def berlin_get_dataset(params: GetDatasetInput) -> str:
        """Ruft vollstaendige Metadaten und Ressourcen eines Datensatzes ab.
    
        Gibt Titel, Beschreibung, Autor, Lizenz, alle verfuegbaren
        Dateiformate und Download-URLs zurueck.
    
        Returns:
            Detaillierte Markdown-Ansicht des Datensatzes mit allen Ressourcen
        """
        try:
            result = await ckan_request("package_show", {"id": params.dataset_id})
    
            lines = [format_dataset_summary(result), "\n#### Ressourcen / Downloads\n"]
            for res in result.get("resources", []):
                lines.append(format_resource_info(res))
    
            # Extra metadata
            extras = {e["key"]: e["value"] for e in result.get("extras", [])}
            if extras:
                lines.append("\n#### Zusaetzliche Metadaten")
                for k, v in extras.items():
                    if not k.startswith("harvest"):
                        lines.append(f"- **{k}**: {v}")
    
            return "\n".join(lines)
  • The registration of the `berlin_get_dataset` tool via @mcp.tool.
    @mcp.tool(
        name="berlin_get_dataset",
        annotations={
            "title": "Datensatz-Details abrufen",
            "readOnlyHint": True,
            "destructiveHint": False,
            "idempotentHint": True,
            "openWorldHint": True,
        },
    )
  • The input schema (GetDatasetInput) for the `berlin_get_dataset` tool.
    class GetDatasetInput(BaseModel):
        """Input fuer Datensatz-Details."""
    
        model_config = ConfigDict(str_strip_whitespace=True, extra="forbid")
    
        dataset_id: str = Field(
            ...,
            description="ID oder Name des Datensatzes, z.B. 'einwohnerinnen-und-einwohner-berlin-lor-planungsraeume'",
            min_length=1,
        )

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/tifa365/berlin-opendata-mcp'

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