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 RessourcenInput Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes |
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) - src/berlin_opendata_mcp/server.py:135-144 (registration)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, )