phoenix581228/graphiti-mcp-server
3.2
If you are the rightful owner of graphiti-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.
Graphiti MCP Server is a comprehensive deployment solution for managing model context protocol servers, providing a robust infrastructure for development, testing, pre-release, and production environments.
Graphiti MCP Server 部署專案
完整的 Graphiti MCP Server 部署解決方案,包括開發、測試、預發布和生產環境的容器化部署配置。
📋 專案概述
本專案提供完整的 Graphiti MCP Server 部署基礎設施,包含:
- 🐳 Docker 容器化環境 - 完整的開發和生產環境
- 📊 監控系統 - Prometheus + Grafana 監控儀表板
- 📝 日誌系統 - ELK Stack 集中式日誌管理
- 🔒 安全配置 - 完整的安全強化設定
- 🔄 CI/CD 管道 - GitHub Actions 自動化部署
- 🏥 健康檢查 - 完整的服務健康監控
🚀 快速開始
環境需求
- Docker 20.10+
- Docker Compose 2.0+
- 至少 4GB RAM
- 10GB 可用磁碟空間
1. 複製專案
git clone <repository-url>
cd graphiti
2. 配置環境變數
cp .env.example .env
# 編輯 .env 文件,設定必要的 API 金鑰
3. 啟動開發環境
# 啟動所有服務
docker-compose up -d
# 查看服務狀態
docker-compose ps
# 查看日誌
docker-compose logs -f graphiti-server
4. 驗證服務
- Graphiti MCP Server: http://localhost:3000
- Neo4j Browser: http://localhost:7474
- Grafana 監控: http://localhost:3001 (admin/admin)
- Prometheus: http://localhost:9090
- Kibana 日誌: http://localhost:5601
📁 專案結構
graphiti/
├── docker-compose.yml # 主要的 Docker 編排文件
├── Dockerfile # Graphiti MCP Server 容器配置
├── requirements.txt # Python 依賴清單
├── .env.example # 環境變數範例
├── monitoring/ # 監控配置
│ ├── prometheus.yml # Prometheus 配置
│ ├── grafana/ # Grafana 儀表板
│ └── logstash/ # Logstash 日誌處理
├── src/ # 應用程式原始碼
├── config/ # 配置文件
├── logs/ # 日誌目錄
└── data/ # 資料目錄
🛠️ 服務配置
核心服務
- graphiti-server: Graphiti MCP Server 主服務
- neo4j: Neo4j 圖形資料庫
- prometheus: 指標收集服務
- grafana: 監控儀表板
- elasticsearch: 搜索和分析引擎
- logstash: 日誌處理管道
- kibana: 日誌視覺化介面
連接埠配置
服務 | 連接埠 | 用途 |
---|---|---|
Graphiti MCP Server | 3000 | 主要 API 服務 |
Neo4j HTTP | 7474 | 資料庫管理介面 |
Neo4j Bolt | 7687 | 資料庫連接協議 |
Grafana | 3001 | 監控儀表板 |
Prometheus | 9090 | 指標收集 |
Elasticsearch | 9200 | 搜索引擎 |
Kibana | 5601 | 日誌視覺化 |
🔧 開發工作流程
啟動開發環境
# 啟動開發服務
docker-compose up -d
# 重新建立容器 (程式碼變更後)
docker-compose up -d --build graphiti-server
# 查看特定服務日誌
docker-compose logs -f graphiti-server
停止服務
# 停止所有服務
docker-compose down
# 停止並清除 volumes (小心:會刪除資料)
docker-compose down -v
重啟特定服務
docker-compose restart graphiti-server
docker-compose restart neo4j
📊 監控和日誌
Grafana 監控
- URL: http://localhost:3001
- 預設帳號: admin/admin
- 包含預設儀表板:系統指標、應用程式指標、資料庫指標
Kibana 日誌
- URL: http://localhost:5601
- 集中式日誌查看和分析
- 支援全文搜索和過濾
Prometheus 指標
- URL: http://localhost:9090
- 原始指標查詢介面
- 支援 PromQL 查詢語言
🔒 安全配置
API 金鑰管理
- 所有 API 金鑰存儲在
.env
文件中 - 使用 Docker secrets 管理敏感資訊
- 支援金鑰輪換和過期管理
網路安全
- 服務間通訊使用內部網路
- 只有必要的端口對外開放
- 支援 TLS 加密通訊
🧪 測試
健康檢查
# 檢查所有服務健康狀態
docker-compose ps
# 測試 API 健康端點
curl http://localhost:3000/health
# 測試資料庫連接
docker-compose exec neo4j cypher-shell -u neo4j -p graphiti123 "MATCH (n) RETURN count(n)"
效能測試
# 壓力測試 (需要安裝 apache bench)
ab -n 1000 -c 10 http://localhost:3000/health
📚 更多資源
🤝 貢獻
歡迎提交 Pull Request 和 Issue!
📄 授權
此專案採用 MIT 授權條款。
注意: 這是一個開發環境配置,用於生產環境請確保:
- 更改預設密碼
- 配置適當的資源限制
- 設定備份策略
- 啟用 TLS 加密