Token导航 LogoToken导航TokenDH.com
Cologne Open Data MCP logo
AI代理stdio官方级别未说明来源级核验

Cologne Open Data MCP

MCP Server

一个基于Model Context Protocol (MCP)的服务器,提供对德国科隆开放数据API的无缝访问,支持AI助手和工具实时交互城市数据。

工具数

8

提示词数

0

GitHub Stars

0

资源数

0
TypeScriptClaude开放数据Claude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

ErtanOz

提供方

ErtanOz

最后核验

2026/5/17 20:20

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -i cologne-open-data-mcp

详细介绍

科隆开放数据MCP服务器

一个模型上下文协议(MCP)服务器,提供对科隆开放数据API的无缝访问。使用Node.js、TypeScript和 @模型上下文协议/sdk,该服务器使人工智能助手和工具能够与德国科隆市的实时数据进行交互。

](https://www.npmjs.com/package/cologne-open-data-mcp) ![License: MIT](https://opensource.org/licenses/MIT) ![TypeScript](https://www.typescriptlang.org/)

🌟 特性

  • 实时数据访问:实时停车可用性、共享单车站、莱茵河水位等
  • 类型安全:完全类型化,使用TypeScript和Zod模式验证
  • 安全:内置SSRF保护、请求超时和标头注入预防
  • MCP兼容:适用于Claude Desktop、Cursor和其他MCP兼容客户端
  • 有据可查:全面的API文档和使用示例
  • 生产准备就绪:错误处理、日志记录和超时管理

🌐 部署选项

此MCP服务器支持两种模式:

  1. 本地STDIO模式 -适用于Claude Desktop和本地MCP客户端
  2. Web SSE模式 -用于Render等平台上的web部署

部署.md 了解详细的部署说明。

📋 可用工具

工具名称描述数据源
health服务器状态检查-
http.get_jsonJSON/REST端点的通用HTTP GET任何URL
koeln.parking当前停车设施可用性科隆停车场API
koeln.baustellen_caps建筑工地WFS能力科隆GeoPortal
koeln.rheinpegel莱茵河水位科隆水位服务
koeln.kvb_rad.stationsKVB共享单车站Nextbike API
koeln.oparl.bodies政治机构名单科隆奥林匹克公园
koeln.oparl.body单一政治机构细节科隆奥林匹克公园

🚀 快速开始

安装

npm install cologne-open-data-mcp

或全局安装:

npm install -g cologne-open-data-mcp

Claude Desktop(STDIO)的本地使用

  1. 编辑您的Claude Desktop配置文件:

- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json - 视窗: %APPDATA%\Claude\claude_desktop_config.json

  1. 添加服务器配置:
{
  "mcpServers": {
    "cologne-open-data": {
      "command": "npx",
      "args": ["cologne-open-data-mcp"]
    }
  }
}
  1. 重新启动克劳德桌面

Web部署(SSE模式)

对于Render或类似平台上的生产部署:

  1. 部署以渲染:

- 跟随 部署.md 指南 - 使用 render.yaml 配置包括 - 服务器将在 https://your-app.onrender.com

  1. 连接到SSE端点:
   import { SSEClientTransport } from '@modelcontextprotocol/sdk/client/sse.js';

   const transport = new SSEClientTransport(
     new URL('https://your-app.onrender.com/sse')
   );
  1. 测试部署:
   # Health check
   curl https://your-app.onrender.com/health

与其他MCP客户端(STDIO)一起使用

服务器通过STDIO通信,可以与任何兼容MCP的客户端集成:

import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
import { spawn } from 'child_process';

const transport = new StdioClientTransport({
  command: 'npx',
  args: ['cologne-open-data-mcp']
});

🛠️ 发展

先决条件

  • Node.js>=18.0.0
  • npm或纱线

设置

  1. 克隆存储库:
git clone https://github.com/ErtanOz/Cologne-Open-Data-Mcp.git
cd Cologne-Open-Data-Mcp
  1. 安装依赖项:
npm install
  1. (可选)配置自定义API终结点:
cp .env.example .env
# Edit .env with your preferred endpoints
  1. 在开发模式下运行:
npm run dev
  1. 生产建设:
npm run build
npm start

🔧 配置

环境变量可以在 .env 文件:

PARKING_URL=https://www.stadt-koeln.de/externe-dienste/open-data/parking.php
BAUSTELLEN_WFS=https://geoportal.stadt-koeln.de/wss/service/baustellen_wfs/guest?SERVICE=WFS&REQUEST=GetCapabilities
RHEINPEGEL_URL=https://www.stadt-koeln.de/interne-dienste/hochwasser/pegel_ws.php
NEXTBIKE_URL=https://api.nextbike.net/maps/nextbike-live.xml?city=14
OPARL_BODIES_URL=https://buergerinfo.stadt-koeln.de/oparl/bodies

📖 API示例

检查服务器运行状况

// Input
{
  "tool": "health",
  "arguments": {
    "echo": "Hello MCP Server"
  }
}

// Output
"Hello MCP Server"

获取停车数据

// Input
{
  "tool": "koeln.parking",
  "arguments": {}
}

// Output (example)
{
  "source": "https://www.stadt-koeln.de/externe-dienste/open-data/parking.php",
  "payload": [
    {
      "name": "Parkhaus Am Dom",
      "free": 245,
      "total": 550,
      "status": "open"
    }
    // ... more parking facilities
  ]
}

获取KVB自行车站

// Input
{
  "tool": "koeln.kvb_rad.stations",
  "arguments": {
    "limit": 10,
    "onlyActive": true
  }
}

// Output (example)
{
  "source": "https://api.nextbike.net/maps/nextbike-live.xml?city=14",
  "totalStations": 287,
  "returnedStations": 10,
  "stations": [
    {
      "id": "123456",
      "name": "Hauptbahnhof",
      "bikes": 8,
      "freeRacks": 12,
      "active": true,
      "lat": 50.9429,
      "lng": 6.9589
    }
    // ... more stations
  ]
}

通用HTTP GET

// Input
{
  "tool": "http.get_json",
  "arguments": {
    "url": "https://api.example.com/data",
    "headers": {
      "Accept": "application/json"
    }
  }
}

🔒 安全特性

  • SSRF保护:验证URL以防止对localhost和私有IP范围的请求
  • 请求超时:所有HTTP请求超时10秒
  • 防止集管注入:对自定义标头进行消毒
  • 类型验证:对所有输入进行Zod模式验证
  • 错误处理:全面的错误消息,不会暴露敏感信息

🐳 Docker部署

A. Dockerfile 包含用于容器化部署的:

# Build the image
docker build -t cologne-open-data-mcp .

# Run the container
docker run -i cologne-open-data-mcp

📂 项目结构

Cologne-Open-Data-Mcp/
├── src/
│   ├── server.ts              # MCP server initialization
│   └── tools/                 # Tool implementations
│       ├── health.ts          # Health check
│       ├── http_get.ts        # Generic HTTP GET
│       ├── parking.ts         # Parking data
│       ├── baustellen.ts      # Construction sites
│       ├── rheinpegel.ts      # Rhine water level
│       ├── kvb_rad.ts         # Bike-sharing stations
│       ├── oparl_bodies.ts    # Political bodies
│       ├── types.ts           # Type definitions
│       └── utils.ts           # Utility functions
├── dist/                      # Compiled JavaScript (generated)
├── package.json
├── tsconfig.json
├── LICENSE
└── README.md

🤝 贡献

欢迎投稿!请随时提交拉取请求。

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/AmazingFeature)
  3. 提交您的更改(git commit -m 'Add some AmazingFeature')
  4. 推到分支(git push origin feature/AmazingFeature)
  5. 打开拉取请求

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

🙏 致谢

📞 支持

  • 问题:
  • 讨论:

⚠️ 重要提示

关于ChatGPT兼容性

ChatGPT不支持MCP。 此服务器设计用于:

  • ✅ 克劳德桌面(拟人)
  • ✅ 光标IDE
  • ✅ 其他MCP兼容客户端

对于ChatGPT集成,您需要使用OpenAPI规范创建一个单独的REST API包装器。

部署模式

  • STDIO模式:本地桌面使用(克劳德桌面等)
  • SSE模式:Web部署(渲染、云平台)

🗺️ 路线图

  • \[x\] STDIO传输供本地使用
  • \[x\] 用于web部署的SSE传输
  • \[x\] 渲染部署配置
  • \[\]添加更多科隆开放数据源
  • \[\]实施缓存以提高性能
  • \[\]添加速率限制功能
  • \[\]创建全面的测试套件
  • \[\]添加监控和指标
  • \[\]支持其他数据格式

______________________________________________________________________

由以下材料制成❤️ 科隆社区

目录标签

目录标签

TypeScriptClaude开放数据实时数据访问混合部署TypeScript开发城市数据服务MCP协议兼容

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

8

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP