amanasmuei
服务介绍
概述
马来西亚祈祷时间MCP服务器为整个马来西亚的地点提供准确的伊斯兰祈祷时间。该服务器实现了模型上下文协议(MCP),以无缝集成到Claude桌面版中,通过您的AI助手直接提供实时祈祷时间表。
服务器利用waktusolat.app API获取JAKIM验证的祈祷时间,并支持通过城市、区域代码或坐标进行搜索。
功能
✅ 基于位置的时间:获取马来西亚任何城市或地区的祈祷时间
✅ 坐标支持:使用纬度和经度坐标查找祈祷时间
✅ 区域代码访问:直接使用JAKIM区域代码查询(例如,SGR03代表吉隆坡)
✅ 完整的祈祷时间表:检索所有日常祈祷时间(晨礼、日出、晌礼、晡礼、昏礼、宵礼)
✅ 当前祈祷状态:确定当前和下一个祈祷时间
✅ 强大的错误处理:优雅地处理网络问题和API变更
✅ 与Claude无缝集成:通过MCP与Claude桌面版干净地集成
安装
前提条件
- Python 3.10 或更高版本
- Claude桌面版(最新版本)
pip或uv包管理器
选项1:从GitHub安装
bash
克隆仓库
git clone https://github.com/yourusername/mcp-server-malaysia-prayer-time.git
cd mcp-server-malaysia-prayer-time
创建并激活虚拟环境
python -m venv .venv
source .venv/bin/activate # 在Windows上: .venvScriptsactivate
安装依赖
pip install -e .
选项2:使用uv(推荐)
bash
克隆仓库
git clone https://github.com/yourusername/mcp-server-malaysia-prayer-time.git
cd mcp-server-malaysia-prayer-time
使用uv创建并激活虚拟环境
uv venv
source .venv/bin/activate # 在Windows上: .venvScriptsactivate
安装依赖
uv pip install -e .
配置
配置Claude桌面版
- 创建或编辑Claude桌面版配置文件:
macOS:
bash
mkdir -p ~/Library/Application Support/Claude/
nano ~/Library/Application Support/Claude/claude_desktop_config.json
Windows:
bash
mkdir -p %APPDATA%Claude
notepad %APPDATA%Claudeclaude_desktop_config.json
- 添加以下配置(根据您的设置调整路径):
json
{
"mcpServers": {
"malaysia-prayer-time": {
"command": "/absolute/path/to/your/.venv/bin/python",
"args": [
"main.py"
],
"cwd": "/absolute/path/to/mcp-server-malaysia-prayer-time"
}
}
}
- 完全重启Claude桌面版
使用方法
配置完成后,您可以通过Claude桌面版使用自然语言查询来与祈祷时间互动:
示例
按城市/区域获取祈祷时间
- “今天吉隆坡的祈祷时间是什么?”
- “显示怡保,马来西亚的祈祷时间”
- “获取PRK02的祈祷时间”(使用区域代码)
按坐标获取祈祷时间
- “在坐标3.1390, 101.6869处的祈祷时间是什么?”
- “显示位置5.4141, 100.3288的祈祷时间表”
列出可用区域
- “列出马来西亚的所有祈祷时间区域”
- “显示所有可用的JAKIM区域代码”
API参考
可用工具
MCP服务器向Claude暴露了以下工具:
get_prayer_times
检索马来西亚特定城市或区域代码的祈祷时间。
参数:- city (字符串,默认: "kuala lumpur"):城市名称或区域代码(例如:"SGR03")
country(字符串,默认: "malaysia"):目前仅支持"malaysia"date(字符串,默认: "today"):日期格式为YYYY-MM-DD或"today"
get_prayer_times_by_coordinates
根据地理坐标检索祈祷时间。
参数:
latitude(浮点数):纬度坐标longitude(浮点数):经度坐标date(字符串,默认: "today"):日期格式为YYYY-MM-DD或"today"
list_zones
列出马来西亚所有可用的祈祷时间区域及其对应的代码。
祈祷时间信息
服务器提供以下祈祷时间:
- Imsak(黎明前用餐时间,如果可用)
- Fajr(晨礼)
- Syuruk/日出
- Dhuhr(晌礼)
- Asr(晡礼)
- Maghrib(昏礼)
- Isha(宵礼)
区域覆盖
服务器目前支持马来西亚所有的JAKIM区域。基于坐标的查询支持这些主要区域:
- 吉隆坡/雪兰莪:SGR01-SGR04
- 槟城:PNG01
- 柔佛:JHR01
- 吉打:KDH01
- 丁加奴:TRG01
- 吉兰丹:KTN01
- 马六甲:MLK01
- 彭亨:PRK01-PRK04
故障排除
常见问题
Claude无法连接到服务器
-
确认配置路径是绝对且正确的
-
检查Claude日志:
bashmacOS
tail -f ~/Library/Logs/Claude/mcp*.log
Windows
type %APPDATA%ClaudeLogsmcp*.log
-
直接测试服务器:
bash
cd /path/to/mcp-server-malaysia-prayer-time
python main.py
没有可用的祈祷时间
- 确认互联网连接
- 检查区域代码是否有效(使用
list_zones) - API可能暂时不可用 - 请稍后再试
找不到城市
尝试使用不同的拼写、附近的大型城市或适当的区域代码
贡献
欢迎贡献!以下是您可以贡献的方式:
- 分叉仓库
- 创建功能分支:
git checkout -b feature/amazing-feature - 提交更改:
git commit -m "Add some amazing feature" - 推送到分支:
git push origin feature/amazing-feature - 打开拉取请求
开发环境设置
bash
克隆您的分叉
git clone https://github.com/yourusername/mcp-server-malaysia-prayer-time.git
cd mcp-server-malaysia-prayer-time
设置开发环境
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]" # 安装开发依赖项
运行测试
pytest
许可证
本项目采用MIT许可证 - 详情请参阅LICENSE文件。
致谢
- waktusolat.app - 提供祈祷时间数据API
- Model Context Protocol - 提供MCP框架
- JAKIM - 提供官方祈祷时间
- Claude Desktop - 提供AI集成平台