MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

M
MCP Server Malaysia Data

MCP server by dqyaa

Created 5/3/2026
Updated about 8 hours ago
Repository documentation and setup instructions

🇲🇾 Malaysia Data MCP Server

Give any AI assistant real-time access to Malaysian financial and government data. One server. No API keys. Plug into Claude Desktop, Cursor, VS Code, or any LangGraph agent in minutes.

Python MCP License Data

Disclaimer: This is an unofficial community project. Not affiliated with or endorsed by Bank Negara Malaysia, DOSM, or the Government of Malaysia. Uses their free, public APIs.


What This Does

You can ask Claude (or any MCP-compatible AI):

"What is Malaysia's current Overnight Policy Rate and how does it affect Islamic home financing rates?"

"Calculate my zakat on RM 50,000 savings and 80 grams of gold using today's gold price."

"Is this company on BNM's consumer alert list?"

"Give me a complete Malaysian economic briefing — GDP, inflation, exchange rates, takaful sector."

And get real, current answers — not hallucinated data from training cutoffs.


Data Sources (All Free, No API Key)

| Source | Data | |---|---| | BNM OpenAPI | OPR, exchange rates, base rates, Islamic interbank, Kijang Emas, takaful, consumer alerts | | data.gov.my | Fuel prices, CPI/inflation, GDP, population, household income | | OpenDOSM | Population statistics, economic indicators | | MET Malaysia | 7-day weather forecast by state |


Tools Available (15 total)

BNM Financial Data

| Tool | Description | |---|---| | get_exchange_rates | Current MYR rates for USD, SGD, EUR, GBP, AUD, JPY, CNY, etc. | | get_overnight_policy_rate | Current OPR + Islamic financing impact | | get_base_lending_rate | BLR and BFR (Islamic) from all banks | | get_interest_rates | Deposit and lending rates by institution | | get_islamic_interbank_rate | IIMM rates for all tenures | | get_kijang_emas_price | Kijang Emas gold prices + zakat nisab calculation | | get_consumer_alert | BNM unauthorised entities list — scam detection |

Malaysia Open Data

| Tool | Description | |---|---| | get_fuel_prices | Weekly RON95, RON97, Diesel prices | | get_cpi_inflation | Monthly CPI and inflation rate | | get_population_stats | National and state population | | get_household_income | Median/mean income by state | | get_gdp_data | Quarterly GDP growth by sector | | get_weather_forecast | 7-day forecast for any Malaysian state |

Islamic Finance + Utility

| Tool | Description | |---|---| | get_takaful_stats | Takaful industry metrics | | calculate_zakat_eligibility | Live nisab + zakat on savings, gold, income | | get_malaysia_economic_snapshot | One-call comprehensive economic overview |


Quick Start

git clone https://github.com/aliyaalias19/mcp-server-malaysia-data
cd mcp-server-malaysia-data
pip install -r requirements.txt

# Test all tools (makes real API calls)
python quickstart.py

# Test with MCP Inspector (visual UI)
pip install "mcp[cli]"
mcp dev server.py

Connect to Claude Desktop

Step 1: Find your config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%/Claude/claude_desktop_config.json

Step 2: Add this configuration:

{
  "mcpServers": {
    "malaysia-data": {
      "command": "python",
      "args": ["/ABSOLUTE/PATH/TO/mcp-server-malaysia-data/server.py"]
    }
  }
}

Step 3: Restart Claude Desktop. You'll see malaysia-data in the tools panel.

Step 4: Ask Claude anything about Malaysian data:

"What is today's USD to MYR exchange rate?"
"Calculate my zakat: RM 45,000 savings, 60g gold, RM 8,000/month income"
"Is [company name] authorised by BNM?"
"Show me Malaysia's economic briefing with current indicators"

Connect to Cursor / VS Code

// .cursor/mcp.json or .vscode/mcp.json
{
  "servers": {
    "malaysia-data": {
      "command": "python",
      "args": ["/path/to/server.py"]
    }
  }
}

Connect to LangGraph Agent

from langchain_mcp_adapters.client import MultiServerMCPClient
from langgraph.prebuilt import create_react_agent
from langchain_anthropic import ChatAnthropic

async with MultiServerMCPClient({
    "malaysia_data": {
        "command": "python",
        "args": ["/path/to/server.py"],
    }
}) as client:
    tools = client.get_tools()
    agent = create_react_agent(
        model=ChatAnthropic(model="claude-sonnet-4-6"),
        tools=tools,
    )
    result = await agent.ainvoke({
        "messages": [{
            "role": "user",
            "content": (
                "Calculate zakat for RM 50,000 savings at current gold price. "
                "Also tell me today's OPR and its impact on Islamic home financing."
            )
        }]
    })

Example Conversations

Exchange rates:

You: What is the SGD to MYR rate right now?
Claude: [calls get_exchange_rates("SGD")]
        The current SGD/MYR middle rate is 3.4721 (as of today, BNM interbank market).
        Selling rate: 3.4780 | Buying rate: 3.4661

Zakat calculation:

You: I have RM 35,000 in savings, 45g of gold, and earn RM 7,500/month. Am I eligible for zakat?
Claude: [calls calculate_zakat_eligibility(35000, 45, 7500)]
        [calls get_kijang_emas_price for live gold price]

        Using today's gold price (RM 298/gram):
        • Nisab: RM 25,330 (85g gold equivalent)
        • Savings zakat: RM 875 (RM 35,000 × 2.5%) — eligible ✅
        • Gold: RM 13,410 value — below nisab, no zakat due ✗
        • Income zakat: RM 187.50/month (RM 7,500 × 2.5%) — eligible ✅
        Total annual zakat: ~RM 3,125

Scam check:

You: Is "Alpha Investment Group" on BNM's consumer alert list?
Claude: [calls get_consumer_alert("Alpha Investment Group")]
        ⚠️ FOUND ON ALERT LIST — This entity is NOT authorised by BNM.
        Do NOT transfer funds or invest with this company.
        Report scams at: bnm.gov.my or +603-2260-8899

Architecture

Claude Desktop / Cursor / LangGraph Agent
         │  MCP Protocol (JSON-RPC 2.0)
         ▼
┌────────────────────────────────────────┐
│     Malaysia Data MCP Server           │
│     (FastMCP + Python)                 │
│                                        │
│  Tools ──────────────────────────────  │
│  ├── BNM API tools (7)                │
│  ├── data.gov.my tools (6)            │
│  ├── Islamic finance tools (2)        │
│  └── Utility tools (1)               │
│                                        │
│  Resources ──────────────────────────  │
│  ├── BNM API reference                │
│  ├── Popular dataset list             │
│  └── Islamic finance glossary         │
│                                        │
│  Prompts ────────────────────────────  │
│  ├── Islamic financing analysis       │
│  ├── Economic briefing                │
│  └── Scam/investment check            │
└────────────────────────────────────────┘
         │  HTTPS
         ▼
┌─────────────────┐  ┌──────────────────┐
│ BNM OpenAPI     │  │ data.gov.my API  │
│ (apikijang...)  │  │ (api.data.gov.my)│
│ No auth needed  │  │ No auth needed   │
└─────────────────┘  └──────────────────┘

Why This Server Matters

Most AI assistants hallucinate Malaysian financial data. They don't know today's OPR, current RON95 price, or whether a company is on BNM's alert list. This server fixes that by giving any MCP-compatible AI real-time access to authoritative Malaysian government data.

Use cases:

  • Islamic finance advisory (live OPR, BFR, zakat calculations)
  • Investment research (economic indicators, exchange rates)
  • Scam detection (BNM consumer alert lookup)
  • Journalists and researchers (live economic data)
  • Malaysian fintech applications (embed in chatbots)
  • Government AI systems (cite official data sources)

Related Projects

This server unifies both plus adds Islamic finance context and zakat calculations.


Citation

@misc{alias2026mcp,
  title  = {Malaysia Data MCP Server: Unified Malaysian Government Data for AI Assistants},
  author = {Alias, Aliya},
  year   = {2026},
  url    = {https://github.com/aliyaalias19/mcp-server-malaysia-data}
}

👤 About

Built by Aliya Alias — AI Engineer, Kuala Lumpur. MSc Artificial Intelligence, University of Malaya.

LinkedIn GitHub

MIT License. Unofficial — not affiliated with BNM, DOSM, or the Government of Malaysia.

Quick Setup
Installation guide for this server

Install Package (if required)

uvx mcp-server-malaysia-data

Cursor configuration (mcp.json)

{ "mcpServers": { "dqyaa-mcp-server-malaysia-data": { "command": "uvx", "args": [ "mcp-server-malaysia-data" ] } } }