小贩中心关闭追踪器MCP服务器
A. 模型上下文协议(MCP) 提供新加坡小贩中心关闭实时信息的服务器, 由数据驱动 data.gov.sg.
免责声明: 这是一个 非官方的 MCP服务器项目,由Claude AI生成。虽然它功能正常,但请 审查和 在生产中使用前进行彻底测试.
______________________________________________________________________
目的
此MCP服务器为AI助手提供了一个安全的接口,以访问新加坡政府关于小贩的官方数据 中心关闭。 它包括关闭日期、重新开放日期和关闭原因等详细信息。
______________________________________________________________________
特性
已实施的工具
search_hawker_centres–按关键字(名称、位置等)搜索关闭信息search_hawker_centres_by_address–按街道地址搜索关闭get_all_hawker_centres–检索所有当前小贩中心关闭记录(可配置限制)
______________________________________________________________________
先决条件
- 启用MCP工具包
- Docker MCP CLI插件(
docker mcp命令) - *(可选,但推荐)*A. data.gov.sg API密钥 更高的利率限制
______________________________________________________________________
使用示例
在Claude Desktop中,您可以尝试以下提示:
- “搜索名字中有‘勿洛’的小贩中心”
- “查找裕廊小贩中心关闭情况”
- “按地址搜索宏茂桥大道10号小贩中心”
- “在大巴窑洛龙1号楼123号找到小贩中心”
- “给我看看新加坡的所有小贩中心”
- “获取所有小贩中心清洁时间表”
- “宏茂桥小贩中心关门了吗?”
______________________________________________________________________
安装
第一步:构建Docker镜像
docker build -t [MCP_SERVER_NAME] .步骤2:创建目录目录
mkdir -p ~/.docker/mcp/catalogs步骤3:创建目录YAML文件
创建一个名为的文件 hawker-centre-closure.yaml 目录目录中的(或任何自定义名称):
备注:确保条目放置在 registry: 关键,而不是根。version: 2
name: custom
displayName: Hawker Centre Closure Tracker
registry:
hawker-centre-tracker:
description: "Track hawker centre closures in Singapore using official data.gov.sg API"
title: "Hawker Centre Closure Tracker"
type: server
dateAdded: "2025-01-15T00:00:00Z"
image: hawker-mcp-server:latest
tools:
- name: search_hawker_centres
- name: search_hawker_centres_by_address
- name: get_all_hawker_centres
# Uncomment the following section if you have a data.gov.sg API key
# secrets:
# - name: DATA_GOV_SG_API_KEY
# env: DATA_GOV_SG_API_KEY
# example: "your-api-key-from-data-gov-sg"
metadata:
category: integration
tags:
- singapore
- government-data
- hawker-centres
- food
license: MIT
owner: local步骤4:配置Claude桌面
找到您的Claude Desktop配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 视窗:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
在下面添加您的目录 args 阵列。例子:
{
"mcpServers": {
"mcp-toolkit-gateway": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-v",
"/var/run/docker.sock:/var/run/docker.sock",
"-v",
"[YOUR_HOME]/mcp:/mcp",
"docker/mcp-gateway",
"--catalog=/mcp/catalogs/docker-mcp.yaml",
"--catalog=/mcp/catalogs/hawker-centre-mcp.yaml",
"--config=/mcp/config.yaml",
"--registry=/mcp/registry.yaml",
"--tools-config=/mcp/tools.yaml",
"--transport=stdio"
]
}
}
}替换 [YOUR_HOME] 与:
- macOS:
/Users/your_username/.docker/mcp - 窗户:
C:\\Users\\your_username\\.docker\\mcp(需要双反斜杠) - Linux:
/home/your_username/.docker/mcp
步骤5:重新启动克劳德桌面
退出并重新启动Claude Desktop。工具现在应该出现在界面中。
步骤6:验证安装
- 检查服务器列表:
docker mcp server list- 如果您的服务器未出现,请检查日志:
- macOS: ~/Library/Application Support/Claude/logs - 视窗: %APPDATA%\Claude\logs - Linux: ~/.config/Claude/logs
______________________________________________________________________
建筑
Claude Desktop → MCP Gateway → Hawker Centre MCP Server → data.gov.sg API
↓
Docker Desktop Secrets
(DATA_GOV_SG_API_KEY)______________________________________________________________________
发展
局部测试
# Set environment variables
export DATA_GOV_SG_API_KEY="your-api-key"
# Run server directly
python hawker_server.py
# Test MCP protocol
echo '{"jsonrpc":"2.0","method":"tools/list","id":1}' | python hawker_server.py添加新工具
- 在中添加该功能
hawker_server.py - 用
@mcp.tool() - 用新的工具名称更新目录条目
- 重建Docker镜像
______________________________________________________________________
故障排除
工具未出现
- 确认Docker镜像构建成功
- 验证目录和注册表文件
- 确保Claude配置包含您的目录
- 重新启动克劳德桌面
身份验证错误
- 检查秘密
docker mcp secret list - 确保环境变量名称在代码和目录中匹配
- 在没有API密钥的情况下,服务器可以工作,但可能受到速率限制
API错误
- 验证 data.gov.sg API 已联机
- 检查是否正确
resource_id被使用 - 确认API密钥有效性
______________________________________________________________________
安全考虑
- 将所有机密存储在Docker桌面机密中
- 永远不要在代码中硬编码凭据
- 以非root用户身份运行服务器
- 避免记录敏感数据
- API密钥是可选的,但建议用于生产
______________________________________________________________________
许可证
MIT许可证
