Skip to main content
Glama
manamurah

ManaMurah MCP Server

by manamurah

ManaMurah MCP Server

A Model Context Protocol (MCP) server for Malaysian price data from KPDN Pricecatcher. This server enables direct integration with Claude Desktop and other MCP-compatible AI tools for querying Malaysian consumer goods prices.

Features

πŸ‡²πŸ‡Ύ Official Malaysian Price Data - KPDN Pricecatcher data via OpenDOSM
πŸ€– AI-Optimized - Natural language queries with intelligent parsing
⚑ Serverless - Deployed on Cloudflare Workers for global performance
πŸ”’ Rate Limited - Built-in abuse protection and fair usage
πŸ“Š Rich Analytics - Price comparisons, trends, and market insights
🎯 Claude Desktop Ready - One-click setup for Claude Desktop integration

Related MCP server: Weather MCP MY

Live Demo

The MCP server is deployed and accessible at:

  • Production: https://mcp.manamurah.com

  • API Endpoint: https://mcp.manamurah.com/mcp

  • Status: https://mcp.manamurah.com/ (returns server info)

Quick Start

Deploy to Cloudflare Workers

# Clone or create from template npm create cloudflare@latest manamurah-mcp-server --template=cloudflare/ai/demos/remote-mcp-authless # Replace src/ contents with ManaMurah implementation # (Copy files from this directory) # Install dependencies npm install # Deploy to Cloudflare Workers npm run deploy

Connect to Claude Desktop

  1. Get your deployed Workers URL (e.g., https://mcp.manamurah.com)

  2. Add to Claude Desktop MCP configuration:

{ "manamurah": { "command": "node", "args": ["/path/to/mcp-client.js"], "env": { "MCP_SERVER_URL": "https://mcp.manamurah.com/sse" } } }
  1. Restart Claude Desktop

  2. Start asking about Malaysian prices!

Available Tools

πŸ” get_malaysian_prices

Search for current prices with natural language queries.

Examples:

  • "rice prices in Kuala Lumpur"

  • "cheapest chicken in Penang hypermarkets"

  • "cooking oil under RM20 in Selangor"

πŸ“Š compare_prices

Compare prices across different regions or retail chains.

Examples:

  • Compare rice prices between KL and Penang

  • Find price differences across retail chains

  • Regional price analysis for specific items

Analyze price trends and market patterns over time.

Examples:

  • Price volatility analysis

  • Seasonal price patterns

  • Regional market trends

πŸ’‘ get_market_insights

Get market intelligence and insights about price anomalies.

Examples:

  • Recent price changes

  • Market anomaly detection

  • Regional price differences

Example Usage

User: "What are rice prices in Kuala Lumpur?" MCP Response: πŸ“Š Summary: Rice prices in Kuala Lumpur range from RM15.20-RM25.80 per 5kg πŸ’‘ Key Insights: β€’ Hypermarkets offer 18% lower prices than convenience stores β€’ Significant price variation exists across different retailers πŸ“ˆ Price Statistics: β€’ Average: RM18.50 β€’ Range: RM15.20 - RM25.80 β€’ Price Variation: 32% [Detailed price listings follow...]

Price Comparison

User: "Compare chicken prices between Penang and Johor" MCP Response: πŸ“Š Summary: Penang has lower average chicken prices (RM8.20) compared to Johor (RM9.10) ## Regional Comparison ### 1. Penang β€’ Average Price: RM8.20 β€’ Price Range: RM7.50 - RM9.80 β€’ Sample Size: 15 price points ### 2. Johor β€’ Average Price: RM9.10 β€’ Price Range: RM8.20 - RM11.50 β€’ Sample Size: 12 price points πŸ’‘ Comparison Insights: β€’ Most Affordable: Penang (RM8.20 average) β€’ Potential Savings: RM0.90 (9.9%) by choosing Penang

Development

Local Development

# Install dependencies npm install # Start development server npm run dev # Type checking npm run type-check # Linting npm run lint

Project Structure

src/ β”œβ”€β”€ index.ts # Main MCP server implementation β”œβ”€β”€ utils/ β”‚ β”œβ”€β”€ api-client.ts # ManaMurah API client β”‚ β”œβ”€β”€ query-parser.ts # Natural language query parsing β”‚ β”œβ”€β”€ response-formatter.ts # MCP response formatting β”‚ └── rate-limiter.ts # Rate limiting implementation └── types/ └── manamurah.ts # TypeScript type definitions

Configuration

Environment variables in wrangler.toml:

[vars] MANAMURAH_API_BASE = "https://api.manamurah.com" RATE_LIMIT_ENABLED = "true" CACHE_TTL = "300" MAX_QUERIES_PER_MINUTE = "10" MAX_QUERIES_PER_HOUR = "100"

Rate Limits

  • Per Minute: 10 requests

  • Per Hour: 100 requests

  • Automatic Cleanup: Old request data is cleaned up automatically

Rate limits help ensure fair usage and prevent abuse while allowing genuine research and analysis.

Features

Natural Language Processing

  • Intelligent extraction of items, locations, and price constraints

  • Support for Malaysian terms (e.g., "beras" for rice, "ayam" for chicken)

  • Price range detection ("under RM20", "between RM10 and RM15")

  • Location recognition for all Malaysian states and major cities

Rich Response Formatting

  • Markdown-formatted responses optimized for Claude Desktop

  • Statistical analysis with averages, ranges, and insights

  • Suggested follow-up questions for continued exploration

  • Data source attribution and freshness indicators

Error Handling

  • User-friendly error messages with helpful suggestions

  • Graceful degradation when data is unavailable

  • Query improvement recommendations

  • Comprehensive error logging for debugging

Data Source

Official Government Data: KPDN Pricecatcher program via OpenDOSM

  • Daily data updates (subject to government publication schedules)

  • Comprehensive coverage of Malaysian retail prices

  • Data includes hypermarkets, supermarkets, convenience stores, and grocery shops

  • Covers all Malaysian states and major urban centers

Support

Getting Help

Contact

  • General Support: support@manamurah.com

  • AI Integration: ai-support@manamurah.com

  • Enterprise: enterprise@manamurah.com

License

MIT License - see LICENSE file for details.

Contributing

Contributions welcome! Please read our contributing guidelines and submit pull requests for any improvements.


Built with ❀️ for the Malaysian data community

Making Malaysian price data accessible to AI tools and researchers worldwide.

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/manamurah/mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server