1. Conduid
  2. Developer Tools
  3. Dresden Opendata MCP
MCP server · Developer Tools

Dresden Opendata MCP

An MCP server for Dresden's OpenData portal

Unclaimed MIT last commit 6 months ago dresdenopendatamcp-serverdevtools
64Good

Scored 3 months ago · breakdown

About Dresden Opendata MCP

Dresden Opendata MCP is an MCP server published by kiliankoe in the Developer Tools category: an MCP server for Dresden's OpenData portal. It has been installed 0 times through Conduid.

The repository has 1 stars and 0 forks, with the last commit 6 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues (0) before depending on it in production.

Install

Install
npx dresden-opendata-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

Ask AI about Dresden Opendata MCP

Powered by Claude · Grounded in docs

I know everything about Dresden Opendata MCP. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ·README presentNot checked yet.
  • ·License declaredNot checked yet.
  • ·Tests presentNot checked yet.
  • ·Dependencies pinnedNot checked yet.
  • ·No dynamic code executionNot checked yet.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

README

Dresden OpenData MCP Server

A Model Context Protocol (MCP) server that provides AI agents (or your toaster) with access to Dresden's OpenData Portal, enabling these systems to automatically discover, fetch, and process open civic datasets published by the city or other providers.

I personally find Dresden's OpenData portal extremely useful, but cumbersome to work with and find fitting datasets. This tries to make that a bit easier. Here's an example interaction with Claude using this MCP server to find a dataset on Dresden's streets.

Installation

Prerequisites

  • Go 1.21 or higher
  • An MCP-compatible AI client (e.g. Claude Desktop)

Building from Source

git clone https://github.com/kiliankoe/dresden-opendata-mcp.git
cd dresden-opendata-mcp

make build

make install

Configuration

The server can be configured using environment variables:

REQUEST_TIMEOUT_MS=30000

MCP Tools

The server provides the following MCP tools:

list_datasets

List all available datasets from the Dresden OpenData portal.

{
  "limit": 100  // Optional, max datasets to return
}

search_datasets

Search for datasets using keywords.

Important search tips:

  • Use German search terms for better results (e.g., "Straßenbahn" instead of "tram")
  • The underlying API has limited search capabilities - try multiple queries with:
    • Different synonyms (e.g., "ÖPNV", "Nahverkehr", "öffentlicher Verkehr")
    • Various forms (singular/plural, abbreviations)
    • More bureaucratic/official terms
  • Consider broader or narrower terms if initial searches don't yield results
{
  "query": "Straßenbahn",
  "limit": 30
}

get_dataset_info

Get detailed information about a specific dataset.

{
  "id": "dataset-id"  // Dataset ID, Node ID, or Layer ID
}

fetch_dataset

Fetch dataset content in a specified format.

{
  "id": "dataset-id",
  "format": "GeoJSON"  // CSV, JSON, GeoJSON, WMS, WFS
}

query_dataset

Query datasets using OGC API parameters.

{
  "layerId": "L124",
  "limit": 50,
  "offset": 0
}

Usage with Claude Desktop

Add the server to your Claude Desktop configuration:

{
  "mcpServers": {
    "dresden-opendata": {
      "command": "/path/to/dresden-opendata-mcp"
    }
  }
}

Example Usage

// Search for tram routes (use German terms)
const datasets = await client.call('search_datasets', {
  query: 'Straßenbahn'
});

// Fetch specific dataset
const tramData = await client.call('fetch_dataset', {
  id: 'tram-network',
  format: 'GeoJSON'
});

// Query dataset features
const results = await client.call('query_dataset', {
  layerId: 'L124',
  limit: 50
});

Development

make build

make test

make fmt

Note: The server communicates via stdin/stdout using the MCP protocol. Running make run directly will cause the server to wait for MCP protocol messages, which may appear as if it's hanging. This is normal - the server should be used with an MCP client. You can use MCP Inspector to directly introspect this server or set up a client like Claude Desktop, see above.

Architecture

The server consists of several key components:

  • Portal Client: Handles communication with Dresden's OpenData APIs
  • MCP Tools: Implements the MCP protocol tools for dataset operations
  • Configuration: Manages environment-based configuration

README mirrored from the source repository 3 months ago. The original is authoritative.

Questions

About Dresden Opendata MCP

How do I install Dresden Opendata MCP?

Run npx dresden-opendata-mcp, then add the server to your MCP client's configuration. Conduid has recorded 0 installs, so the command is known to work with current clients.

Is Dresden Opendata MCP safe to use with an AI agent?

Its trust score is 64 out of 100 (good). It passes 0 of 1 static security checks; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Dresden Opendata MCP still maintained?

The last commit was 6 months ago, with 0 open issues. That's long enough that you should check whether the maintainer is responding to issues before depending on it.