Skip to main content
Glama
Expo Gemini MCP Server
by Tai-DT

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

Related MCP server: Expo Docs MCP Server

🛠 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 JavaScript

  • npm 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 index

  • npm run update-docs: Cập nhật docs và rebuild index

  • npm 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

  1. Fork repository

  2. Tạo feature branch (git checkout -b feature/amazing-feature)

  3. Commit changes (git commit -m 'Add amazing feature')

  4. Push to branch (git push origin feature/amazing-feature)

  5. Tạo Pull Request

📄 License

Distributed under the MIT License. See LICENSE for more information.

🙏 Acknowledgments

📞 Hỗ trợ

Có vấn đề gì? Tạo issue hoặc liên hệ qua email.


Happy coding with Expo and AI! 🚀🤖

Available Tools

3 tools
explain_expo_conceptC

Get detailed explanations of Expo concepts using Gemini AI

Inputs: concept (required), audience.

get_expo_examplesA

Get code examples for specific Expo components or APIs using Gemini AI

Inputs: component (required), complexity.

search_expo_docsB

Search through Expo documentation using semantic search with Gemini AI enhancement

Inputs: query (required), useGemini, maxResults.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 3 tools

    Disambiguation4/5

    Tools are mostly distinct: search discovers relevant docs, get_expo_examples fetches code samples, and explain_expo_concept provides conceptual overviews. There is minor overlap between search and explain for concept queries, but the descriptions make the primary intent clear.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern: search_expo_docs, get_expo_examples, explain_expo_concept. This makes the intended action and target clear for each tool.

    Tool Count5/5

    With only 3 tools, the server is tightly scoped to its purpose of assisting with Expo documentation, examples, and concepts. Each tool serves a distinct needed function without redundancy.

    Completeness4/5

    The tool set covers the primary ways an agent would interact with Expo documentation: searching, retrieving examples, and getting explanations. A minor gap is the absence of a direct 'get_document' tool for known pages, but search effectively compensates.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI-powered semantic search through Expo SDK documentation across multiple versions (v51-v53 and latest), allowing developers to quickly find relevant documentation with configurable similarity scoring.
      153 npm
      2
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Provides AI agents with accurate, version-aware documentation for React Native, Expo, React Navigation, and Ignite by automatically detecting project dependencies and fetching matching documentation.
      12
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables AI assistants to execute Expo and EAS operations including project setup, cloud builds, OTA updates, app submission, and diagnostics.
      MIT