Tai-DT/expo-gemini-mcp-server
If you are the rightful owner of expo-gemini-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Expo Gemini MCP Server integrates Gemini AI to enhance Expo documentation access for AI assistants.
Expo Gemini MCP Server
🚀 Một Model Context Protocol (MCP) server cho tài liệu Expo với tích hợp Gemini AI
Server này cung cấp cho các AI assistant khả năng truy cập vào tài liệu Expo cập nhật với sự hỗ trợ của Gemini AI để tăng cường kết quả tìm kiếm và tạo ra các ví dụ code chất lượng cao.
✨ Tính năng
- 🔍 Tìm kiếm ngữ nghĩa: Tìm kiếm thông minh trong tài liệu Expo sử dụng Gemini embeddings
- 🤖 Hoàn toàn Gemini AI: Sử dụng Gemini cho cả embeddings và text generation
- 📚 Tài liệu đầy đủ: Bao gồm API reference, guides, và tutorials
- 🎯 MCP Protocol: Tuân thủ chuẩn Model Context Protocol
- ⚡ Tìm kiếm hybrid: Kết hợp tìm kiếm ngữ nghĩa và từ khóa
- 🔧 Giải thích concepts: Giải thích chi tiết các khái niệm Expo
🛠 Cài đặt
Yêu cầu hệ thống
- Node.js (v16 hoặc cao hơn)
- npm hoặc yarn
- Gemini API key (duy nhất cần thiết)
Bước 1: Clone và cài đặt
git clone <repository-url>
cd expo-gemini-mcp-server
npm install
Bước 2: Cấu hình môi trường
cp .env.example .env
Chỉnh sửa file .env
và thêm Gemini API key:
GEMINI_API_KEY=your_gemini_api_key_here
PORT=3000
NODE_ENV=development
Bước 3: Xây dựng index tài liệu
npm run build-index
Lệnh này sẽ:
- Clone tài liệu Expo từ GitHub
- Xử lý các file markdown
- Tạo embeddings sử dụng OpenAI
- Lưu vào vector store
Bước 4: Build và khởi chạy server
npm run build
npm start
Hoặc chạy trong development mode:
npm run dev
Bước 5: Test server
npm test
🎯 Sử dụng
MCP Tools có sẵn
1. search_expo_docs
Tìm kiếm trong tài liệu Expo với AI enhancement
{
"query": "How to use Image component in Expo?",
"maxResults": 5,
"useGemini": true
}
2. get_expo_examples
Lấy code examples cho components/APIs cụ thể
{
"component": "Camera",
"complexity": "intermediate"
}
3. explain_expo_concept
Giải thích chi tiết các khái niệm Expo
{
"concept": "Expo Router",
"audience": "beginner"
}
Kết nối với AI Assistants
Claude Desktop
Thêm vào claude_desktop_config.json
:
{
"mcpServers": {
"expo-gemini-docs": {
"command": "node",
"args": ["/path/to/expo-gemini-mcp-server/dist/index.js"],
"env": {
"OPENAI_API_KEY": "your_key",
"GEMINI_API_KEY": "your_key"
}
}
}
}
Cursor/VS Code
Sử dụng MCP extension và cấu hình server endpoint.
🧠 Tích hợp Gemini AI
Tăng cường kết quả tìm kiếm
Gemini AI sẽ:
- Đánh giá mức độ liên quan của kết quả
- Thêm tóm tắt cho mỗi kết quả
- Đề xuất topics liên quan
- Highlight thông tin quan trọng
Tạo code examples
Gemini có thể tạo:
- Examples hoàn chỉnh và có thể chạy được
- Use cases phổ biến
- Best practices
- Cảnh báo về common pitfalls
Giải thích concepts
Gemini điều chỉnh explanations theo:
- Beginner: Ngôn ngữ đơn giản, bao gồm setup steps
- Intermediate: Tập trung vào practical usage
- Expert: Chi tiết advanced, performance considerations
📁 Cấu trúc dự án
expo-gemini-mcp-server/
├── src/
│ ├── index.ts # Entry point chính
│ ├── services/
│ │ ├── GeminiService.ts # Tích hợp Gemini AI
│ │ ├── VectorStoreService.ts # Vector database
│ │ └── ExpoDocsService.ts # Logic xử lý docs
│ └── utils/
│ └── logger.ts # Logging utilities
├── scripts/
│ └── build-index.js # Script build documentation index
├── data/ # Vector store và search index
├── logs/ # Log files
├── docs-source/ # Expo documentation (cloned)
├── package.json
├── tsconfig.json
├── mcp-config.json # MCP configuration
└── README.md
🔧 Scripts có sẵn
npm run build
: Compile TypeScript sang JavaScriptnpm start
: Khởi chạy server (production)npm run dev
: Khởi chạy với watch mode (development)npm run build-index
: Xây dựng documentation indexnpm run update-docs
: Cập nhật docs và rebuild indexnpm test
: Test server functionality
🔍 Troubleshooting
Vector store trống
# Rebuild index
npm run build-index
Gemini API errors
- Kiểm tra API key trong
.env
- Verify quotas và billing
- Check network connectivity
OpenAI embedding errors
- Kiểm tra API key và credits
- Rate limiting - script tự động pause
- Reduce batch size nếu cần
Memory issues
- Tăng Node.js memory limit:
node --max-old-space-size=4096 scripts/build-index.js
🤝 Đóng góp
- Fork repository
- Tạo feature branch (
git checkout -b feature/amazing-feature
) - Commit changes (
git commit -m 'Add amazing feature'
) - Push to branch (
git push origin feature/amazing-feature
) - Tạo Pull Request
📄 License
Distributed under the MIT License. See LICENSE
for more information.
🙏 Acknowledgments
- Expo Team - Cho documentation tuyệt vời
- Google AI - Cho Gemini API
- OpenAI - Cho embedding models
- Model Context Protocol - Cho MCP standard
📞 Hỗ trợ
Có vấn đề gì? Tạo issue hoặc liên hệ qua email.
Happy coding with Expo and AI! 🚀🤖