DragonMCP
DragonMCP is a Model Context Protocol (MCP) server designed for AI Agents to interact with local life services in Greater China (Mainland China, HKSAR) and Asia. DragonMCP 是一个专为 AI Agent 设计的 Model Context Protocol (MCP) 服务器,旨在提供中国内地、中国香港及亚洲地区的本地生活服务接口。
README
<div align="center"> <img src="public/logo.png" alt="DragonMCP Logo" width="200">
DragonMCP
The Neural Center for Chinese Local Life Agents
English | 简体中文 | 日本語 | 한국어 | Français | Deutsch
Let Claude / DeepSeek / Qwen directly order your takeout, hail a Didi, check high-speed rail tickets, and pay utility bills.
Product Requirements (PRD) • Architecture • Contributing
🌟 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!)
🏗️ 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 "Service Modules"
C --> D[Payment Service]
C --> E[Travel Service]
C --> F[Lifestyle Service]
C --> G[Gov Service]
end
subgraph "External APIs"
D -.-> H[WeChat/Alipay]
E -.-> I[MTR/Amap/Didi]
F -.-> J[Meituan/Taobao]
G -.-> K[HK Gov/Mainland Gov]
end
For more details, please refer to the Technical Architecture Document.
🗺️ 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.
- [ ] Food Delivery (Demo): Simulate ordering process (Search Shop -> Menu -> Cart).
- [ ] Basic Config: Environment variables & project structure.
Phase 2: Expansion
- [ ] Payment Integration: WeChat Pay / Alipay (Sandbox/QR Code generation).
- [ ] More Transport: High Speed Rail (12306) ticket check, Didi/Uber estimation.
- [ ] E-commerce: Product search aggregation (Taobao/JD).
- [ ] Multi-region Support: Switch context between Mainland China / HK / 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:
git clone https://github.com/arthurpanhku/DragonMCP.git cd DragonMCP -
Install dependencies:
npm install -
Configure environment variables:
cp .env.example .env # Edit .env if necessary (MTR API requires no key currently)
Running the Server
Start the development server with SSE support:
npm run server:dev
The server will start at http://localhost:3000.
SSE Endpoint: http://localhost:3000/mcp/sse
Connect to Claude Desktop
Add the following to your claude_desktop_config.json:
{
"mcpServers": {
"DragonMCP": {
"command": "node",
"args": ["/path/to/DragonMCP/api/dist/index.js"],
"env": {
"NODE_ENV": "production"
}
}
}
}
(Note: For local dev, you might need to build first or point to the ts-node wrapper)
🧪 Testing
Run unit and integration tests:
# Enable experimental VM modules for Jest (ESM support)
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.
- Docs: Translating docs to other languages.
See CONTRIBUTING.md (Coming Soon) for details.
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.