MQL5 EA MCP Server
A local MCP server for querying MQL5 documentation, including reference, algo book, and neural networks book, with tools for search, smart query, error diagnosis, and browsing.
README
MQL5 EA MCP Server
MCP server tra cứu tài liệu MQL5 cục bộ. Server lập chỉ mục từ MQL5_HELP, MQL5_Algo_Book và Neural_Networks_Book, sau đó cung cấp các công cụ tìm kiếm, truy vấn nhanh, đọc tài liệu, duyệt danh mục và chẩn đoán lỗi biên dịch.
Tất cả dữ liệu chạy cục bộ. Không cần dịch vụ mạng, không gửi tài liệu hay lỗi biên dịch ra ngoài.
Tính năng chính
- Tìm kiếm tài liệu MQL5 bằng SQLite FTS5.
- Hỗ trợ ba nguồn tài liệu: Reference, Algo Book và Neural Networks Book.
smart_querytrả lời gọn theo hàm, class, khái niệm hoặc lỗi thường gặp.diagnose_errorphân tích log compile từ MetaEditor/terminal và gợi ý API liên quan.- Error DB cục bộ giúp lưu lại lỗi và cách sửa để dùng lại về sau.
browsesinh danh mục từ index thật, không dùng danh sách hard-code.- Output của
smart_queryvàgetđược giới hạn độ dài để tiết kiệm token.
Cài đặt nhanh
Yêu cầu:
- Node.js 18 trở lên.
- Claude Desktop, Cursor, Codex hoặc MCP client tương thích.
Ví dụ cấu hình MCP:
{
"mcpServers": {
"mql5-ea": {
"command": "npx",
"args": ["-y", "mql5-ea-mcp@1.4.1"]
}
}
}
Khi phát triển local:
npm install
npm run build
npm run build:index
node build/index.js
Dữ liệu cục bộ
- Docs index:
~/.mql5-ea-mcp/indexes/docs-v<schema>-<corpus-hash>.sqlite - Error DB:
~/.mql5-ea-mcp/mql5_errors.db
Khi publish, package npm chứa sẵn SQLite index. Lần chạy đầu chỉ copy index này vào cache người dùng; các truy vấn sau không scan hay parse tài liệu HTML. Khi nâng phiên bản corpus, server tự tạo cache mới theo manifest; cache cũ có thể xóa an toàn khi không còn cần.
Biến môi trường dành cho development/test:
MQL5_EA_DATA_DIR: thay thư mục chứadocs_index.sqlitevà manifest đã build.MQL5_EA_CACHE_DIR: thay thư mục cache index cục bộ.
Danh sách tool
-
smart_queryTruy vấn thông minh. Dùng cho hàm, class, lỗi compile, câu hỏi "cách làm" và khái niệm. -
searchTìm tài liệu theo title, filename, alias, category, summary và nội dung. -
getĐọc tài liệu chi tiết theodocId, đường dẫn, title hoặc alias. -
browseDuyệt danh mục sinh từ docs index. -
diagnose_errorParse log biên dịch MQL5, chỉ ra file/dòng/cột/mã lỗi, thêm migration hints và tài liệu liên quan. -
log_errorGhi lỗi đã gặp vào error DB cục bộ. -
list_common_errorsXem lỗi thường gặp theo tần suất. -
manage_error_dbExport/import/thống kê error DB.
Ví dụ sử dụng
Tra cứu nhanh:
smart_query(query="OrderSend MqlTradeRequest", mode="quick")
Tra cứu chi tiết:
smart_query(query="CopyBuffer indicator handle", mode="detailed")
Tìm chương trong sách:
search(query="datetime session filters", limit=5)
search(query="GPT transformer self attention", limit=5)
Tìm ONNX trong MQL5 Reference:
search(query="ONNX model inference", limit=5)
Chẩn đoán log compile:
diagnose_error(
log="ma_cross_ea.mq5(155,39) : error 256: undeclared identifier 'ResultCode'",
limit=5
)
Gợi ý dùng tool
Với đa số tình huống, hãy bắt đầu bằng smart_query. Nếu cần xem nhiều kết quả, dùng search. Nếu đã biết chính xác tài liệu cần đọc, dùng get. Khi có cả đoạn log compile, dùng diagnose_error thay vì hỏi từng lỗi rời rạc.
ONNX thuộc MQL5_HELP, không thuộc Neural_Networks_Book. Với Neural book, dùng các query như GPT transformer self attention, perceptron, attention, OpenCL neural network.
Hướng dẫn bổ sung
QUICK_START_SMART_QUERY.md: hướng dẫn bắt đầu nhanh.SMART_QUERY_GUIDE.md: hướng dẫn chi tiết vềsmart_query.AI_USAGE_GUIDE.md: cách dùng với trợ lý lập trình khi sửa lỗi compile.ERROR_COLLECTION_GUIDE.md: cách dùng error DB cục bộ.
Kiểm thử và build
npm run build
npm run build:index
npm test
Kết quả mong đợi:
- TypeScript build thành công.
- Vitest pass toàn bộ test.
build/được refresh sau khi sửa TypeScript.data/docs_index.sqlitevàdata/docs_index.manifest.jsonđược tạo trước khi đóng gói/phát hành.
Ghi chú phát triển
- Project dùng
better-sqlite3, SQLite FTS5, Cheerio và Vitest. package-lock.jsonhiện không được commit vì.gitignoređang ignore lockfile.- Error DB là dữ liệu người dùng, không lưu trong repo.
- Tài liệu HTML chỉ là input cho release build. Chạy
npm pack --dry-runđể kiểm tra tarball chỉ chứabuild/,data/, README và LICENSE.
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.