Malaysia Prayer Time MCP Server provides accurate Islamic prayer times for locations throughout Malaysia. This server implements the Model Context Protocol (MCP) to seamlessly integrate with Claude Desktop, delivering real-time prayer schedules directly through your AI assistant. The server utilizes the waktusolat.app API to retrieve JAKIM-verified prayer times and supports searching by city, zone code, or coordinates.
✅ Location-Based Times: Get prayer times for any city or district in Malaysia
✅ Coordinate Support: Find prayer times using latitude and longitude coordinates
✅ Zone Code Access: Directly query using JAKIM zone codes (e.g., SGR03
for Kuala Lumpur)
✅ Complete Prayer Schedule: Retrieve all daily prayer times (Fajr, Sunrise, Dhuhr, Asr, Maghrib, Isha)
✅ Current Prayer Status: Determine the current and next prayer times
✅ Robust Error Handling: Graceful handling of network issues and API changes
✅ Seamless Claude Integration: Clean integration with Claude Desktop via MCP
pip
or uv
package manager# Clone the repository
git clone https://github.com/yourusername/mcp-server-malaysia-prayer-time.git
cd mcp-server-malaysia-prayer-time
# Create and activate a virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install dependencies
pip install -e .
# Clone the repository
git clone https://github.com/yourusername/mcp-server-malaysia-prayer-time.git
cd mcp-server-malaysia-prayer-time
# Create and activate a virtual environment using uv
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install dependencies
uv pip install -e .
macOS:
mkdir -p ~/Library/Application\ Support/Claude/
nano ~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows:
mkdir -p %APPDATA%\Claude
notepad %APPDATA%\Claude\claude_desktop_config.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"
}
}
}
Once configured, you can interact with prayer times through Claude Desktop using natural language queries:
The MCP server exposes the following tools to Claude:
get_prayer_times
Retrieves prayer times for a specific city or zone code in Malaysia.
Parameters:
city
(string, default: "kuala lumpur"): City name or zone code (e.g., "SGR03")country
(string, default: "malaysia"): Currently only supports "malaysia"date
(string, default: "today"): Date in YYYY-MM-DD format or "today"get_prayer_times_by_coordinates
Retrieves prayer times based on geographic coordinates.
Parameters:
latitude
(float): Latitude coordinatelongitude
(float): Longitude coordinatedate
(string, default: "today"): Date in YYYY-MM-DD format or "today"list_zones
Lists all available prayer time zones in Malaysia with their corresponding codes.
The server provides these prayer times:
Verify configuration paths are absolute and correct
Check Claude logs:
# macOS
tail -f ~/Library/Logs/Claude/mcp*.log
# Windows
type %APPDATA%\Claude\Logs\mcp*.log
Test the server directly:
cd /path/to/mcp-server-malaysia-prayer-time
python main.py
list_zones
)Try using a different spelling, a nearby major city, or the appropriate zone code
There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json
file so that it is available in all of your projects.
If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json
file.
To add a global MCP server go to Cursor Settings > MCP and click "Add new global MCP server".
When you click that button the ~/.cursor/mcp.json
file will be opened and you can add your server like this:
{
"mcpServers": {
"cursor-rules-mcp": {
"command": "npx",
"args": [
"-y",
"cursor-rules-mcp"
]
}
}
}
To add an MCP server to a project you can create a new .cursor/mcp.json
file or add it to the existing one. This will look exactly the same as the global MCP server example above.
Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.
The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.
You can also explictly ask the agent to use the tool by mentioning the tool name and describing what the function does.