Install
$ agentstack add mcp-arthurpanhku-dragonmcp ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
DragonMCP
The Neural Center for Chinese Local Life Agents
[English](README.md) | [简体中文](READMEzh-CN.md) | [日本語](READMEja.md) | [한국어](READMEko.md) | [Français](READMEfr.md) | [Deutsch](README_de.md)
Let Claude / DeepSeek / Qwen directly order your takeout, hail a Didi, check high-speed rail tickets, and pay utility bills.
[Architecture](#-architecture) • [Contributing Guide](CONTRIBUTING.md)
[](https://opensource.org/licenses/MIT) [](https://www.typescriptlang.org/) [](https://modelcontextprotocol.io/) [](https://nodejs.org/) [](https://github.com/arthurpanhku/DragonMCP/pulls)
🌟 What is DragonMCP?
DragonMCP is a Model Context Protocol (MCP) server designed to bridge the gap between AI Agents and local life services in Greater China (Mainland China, Hong Kong) and Asia.
It aims to solve the "last mile" problem between AI Agents and real-world services.
🔥 Live Demo: MTR Real-time Schedule
We have implemented the MTR (Mass Transit Railway) Query Tool as our first MVP. AI Agents can now fetch real-time train schedules directly from MTR's Open API.
Scenario: > User: "When is the next train from Admiralty to Central?"
Agent Response: > "Next Island Line train from Admiralty to Central (towards Kennedy Town): > - Arriving in: 2 min(s) (10:30:00) > - Subsequent trains: 5 min(s) (10:33:00)"
(Try it yourself by connecting DragonMCP to your MCP client!)
🛠️ Supported Services (Beta)
We are actively expanding our support for local services. Below are the currently integrated interfaces (some are mocks/placeholders for development):
| Region | Category | Service | Tool Name | Description | Status | | :----------------- | :------------ | :------------------- | :----------------------- | :----------------------------------------------- | :----- | | Greater China | Travel | MTR (HK) | search_mtr_schedule | Real-time train schedule (Island/Tsuen Wan Line) | ✅ Live | | | | Amap (Gaode) | amap_search_poi | Search for POIs (Restaurants, Hotels, etc.) | ✅ Live | | | | Amap (Gaode) | amap_walking_direction | Walking route planning | ✅ Live | | | | Amap (Gaode) | amap_driving_direction | Driving route planning (Fastest) | ✅ Live | | | | Amap (Gaode) | amap_transit_direction | Public transit route planning (Integrated) | ✅ Live | | | Weather | HK Observatory | hk_weather_current | Current weather report in Hong Kong | ✅ Live | | | Travel | Didi | book_taxi_didi | Estimate price and book a ride | 🚧 Mock | | | Payment | WeChat Pay | wechat_pay_create | Create payment order | 🚧 Mock | | | | Alipay | alipay_pay_create | Create payment order | 🚧 Mock | | | Lifestyle | Meituan | meituan_search_food | Search for food delivery | 🚧 Mock | | | Shopping | Taobao | taobao_search_product | Search for products | 🚧 Mock | | Asia Expansion | Travel | Grab (SG/SEA) | book_ride_grab | Estimate and book a ride | 🚧 Mock | | | | Naver Maps (KR) | naver_map_search | Search for places in Korea | 🚧 Mock | | | Payment | LINE Pay (JP/TW) | line_pay_request | Request a payment | 🚧 Mock |
⚠️ Security & Disclaimer
> IMPORTANT: This project includes Mock implementations for sensitive services like payments (WeChat Pay, Alipay) and ride-hailing (Didi).
- Do NOT use real financial data or personal credentials in the current version.
- The payment tools (
wechat_pay_create,alipay_pay_create) currently return fake data for demonstration purposes only. No actual money is transferred. - When integrating real APIs in the future, ensure you follow strict security protocols (OAuth, HTTPS, Token Management).
🏗️ Architecture
DragonMCP acts as a middleware between AI Agents and various local service APIs.
graph TD
A[AI Agent Client] -->|MCP Protocol| B[DragonMCP Server]
B --> C[Service Router]
subgraph "Greater China Services"
C --> D["Payment (WeChat/Alipay)"]
C --> E["Travel (MTR/Amap/Didi)"]
C --> F["Lifestyle (Meituan/Taobao)"]
end
subgraph "Asia Expansion Services"
C --> G["Travel (Grab/Naver)"]
C --> H["Payment (LINE Pay/PayNow)"]
C --> I["Lifestyle (Rakuten/Kakao)"]
end
subgraph "External APIs"
D -.-> J[WeChat/Alipay API]
E -.-> K[MTR/Amap API]
G -.-> L[Grab/Naver API]
H -.-> M[LINE Pay API]
end
Architecture details are documented in this README and will be expanded in repo docs over time.
🗺️ Roadmap & Features
Phase 1: MVP (Current)
- [x] Core Framework: Express + MCP SDK + TypeScript setup.
- [x] Travel (MTR): Real-time schedule query for Island Line & Tsuen Wan Line.
- [x] Travel (Amap): POI search and walking directions.
- [x] Service Mocks: Basic structure for WeChat/Alipay/Didi/Meituan/Taobao.
- [ ] Food Delivery (Demo): Simulate ordering process (Search Shop -> Menu -> Cart).
- [ ] Basic Config: Environment variables & project structure.
Phase 2: Asia Expansion (New!)
- [x] Structure Setup: Service directories for Singapore (Grab), Japan (LINE), Korea (Naver).
- [x] Initial Mocks: Grab ride booking, LINE Pay request, Naver Map search.
- [ ] Real API Integration: Replace mocks with real APIs (Grab Developer, LINE Pay API).
- [ ] More Services: Kakao Pay (KR), Yahoo! Transit (JP), EZ-Link (SG).
Phase 3: Ecosystem
- [ ] Plugin System: Allow community to contribute individual service tools.
- [ ] User Auth: Secure user token management for personal services.
🚀 Getting Started
Prerequisites
- Node.js >= 18
- npm or yarn
Installation
- Clone the repository:
``bash git clone https://github.com/arthurpanhku/DragonMCP.git cd DragonMCP ``
- Install dependencies:
``bash npm install ``
- Configure environment variables:
``bash cp .env.example .env # Edit .env (AMAP_API_KEY required for map services) ``
Minimum recommended variables:
AMAP_API_KEY: required for Amap search and routing tools.JWT_SECRETandENCRYPTION_KEY: required whenNODE_ENV=production.
Running the Server
Start the development server with SSE support:
npm run dev
The server will start at http://localhost:3000. SSE Endpoint: http://localhost:3000/mcp/sse
Running with Docker
- Build and start the container:
``bash docker-compose up -d --build ``
- View logs:
``bash docker-compose logs -f ``
- Stop the server:
``bash docker-compose down ``
Connect to Claude Desktop
- Build the project:
``bash npm run build ``
- Add the following to your
claude_desktop_config.json:
``json { "mcpServers": { "DragonMCP": { "command": "node", "args": ["/path/to/DragonMCP/dist/server.js"], "env": { "NODE_ENV": "production", "AMAP_API_KEY": "your_amap_api_key_here" } } } } ` *(Note: Replace /path/to/DragonMCP` with your actual absolute path)*
❓ FAQ & Troubleshooting
Q: Why do I get "Station not found" for MTR query?
A: Currently, only Island Line and Tsuen Wan Line are supported. Please check if the station name is spelled correctly (e.g., "Admiralty", "Central", "Mong Kok").
Q: How do I get an Amap (Gaode) API Key?
A: You need to register at the Amap Open Platform, create a "Web Service" application, and copy the Key to your .env file as AMAP_API_KEY.
Q: Can I use this for real payments?
A: No. The current payment tools are mocks. Do not use them for real transactions.
🧪 Testing
Run unit and integration tests:
npm test
If your local Node/Jest setup requires ESM flags, you can run:
NODE_OPTIONS="$NODE_OPTIONS --experimental-vm-modules" npm test
🤝 Contributing
We welcome all contributions! Whether you are a developer, designer, or product thinker.
We need help with:
- Playwright Scripts: Simulating food delivery apps (Meituan/Ele.me) web flows.
- More MTR Lines: Adding station data for East Rail Line, Tuen Ma Line, etc.
- Real API Integration: Replacing mocks with real APIs for WeChat/Alipay/Didi.
See [CONTRIBUTING.md](CONTRIBUTING.md) for details.
🙏 Acknowledgments
- Anthropic: For creating the Model Context Protocol (MCP).
- MTR Corporation: For providing the Open Data API.
- Amap (Gaode): For the map and POI services.
📄 License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: arthurpanhku
- Source: arthurpanhku/DragonMCP
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.