npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@ingohinterding/berlin-services-mcp

v0.2.0

Published

MCP server for Berlin administrative services (Dienstleistungen)

Readme

Berlin Services MCP Server

A Model Context Protocol (MCP) server that provides access to Berlin's administrative services (Dienstleistungen) data. This server allows AI assistants like Claude to search and retrieve information about over 1,000 public services offered by Berlin authorities.

Features

  • Search Services: Search for services by name or description
  • Service Details: Get comprehensive information about specific services including:
    • Requirements and prerequisites
    • Fees and processing times
    • Required forms and documents
    • Online processing options
    • Appointment booking links
    • Responsible authorities
    • Legal references
  • List Services: Browse all available services
  • Statistics: Get dataset information and statistics

Installation

Option 1: Using npx (Recommended - No Installation!)

No installation needed! Just use it directly via npx.

Option 2: Clone and Build (For Development)

# 1. Clone the repository
git clone https://github.com/ingohinterding/berlin-services-mcp.git
cd berlin-services-mcp

# 2. Install dependencies
npm install

# 3. Build the project
npm run build

Usage

With Claude Desktop

Add this configuration to your Claude Desktop config file:

MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%/Claude/claude_desktop_config.json

Option 1: Using npx (Easiest)

{
  "mcpServers": {
    "berlin-services": {
      "command": "npx",
      "args": [
        "-y",
        "@ingohinterding/berlin-services-mcp"
      ]
    }
  }
}

Option 2: Using local build

{
  "mcpServers": {
    "berlin-services": {
      "command": "node",
      "args": [
        "/ABSOLUTE/PATH/TO/berlin-services-mcp/build/index.js"
      ]
    }
  }
}

(Replace /ABSOLUTE/PATH/TO/berlin-services-mcp with your actual path)

After adding this, restart Claude Desktop completely (Cmd+Q on Mac, then reopen).

With MCP Inspector

For testing:

With npx:

npx @modelcontextprotocol/inspector npx -y @ingohinterding/berlin-services-mcp

With local build:

npx @modelcontextprotocol/inspector node build/index.js

This opens a web interface where you can test all the tools interactively.

Available Tools

1. search_services

Search for services by name or description.

Parameters:

  • query (string, required): Search query

Example:

{
  "query": "Anmeldung"
}

2. get_service_details

Get detailed information about a specific service.

Parameters:

  • service_id (string, required): The service ID

Example:

{
  "service_id": "120335"
}

3. list_services

List all available services.

Parameters:

  • limit (number, optional): Maximum number of services to return (default: 50, max: 200)

Example:

{
  "limit": 100
}

4. get_services_stats

Get statistics about the dataset.

Parameters: None

Example Queries with Claude

Once configured, you can ask Claude questions like:

  • "Search for services related to residence registration"
  • "What are the requirements for Anmeldung einer Wohnung?"
  • "Show me all services related to passport"
  • "What documents do I need for service ID 120335?"
  • "How much does it cost to register my address in Berlin?"

Data Source

This server fetches data from the official Berlin services API: https://service.berlin.de/export/dienstleistungen/json/

The data includes:

  • 1,000+ administrative services
  • Information in German language
  • Real-time appointment availability
  • Links to online processing when available
  • Responsible authorities for each service

Development

Building

npm run build

Development Mode

npm run watch

Project Structure

berlin-services-mcp/
├── src/
│   └── index.ts          # Main MCP server implementation
├── build/                # Compiled JavaScript (generated)
├── package.json
├── tsconfig.json
├── README.md
└── LICENSE

License

MIT License - see LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Acknowledgments