1. 新增 RAGProvider MCP Tool Provider - search_runbook: 語義搜尋維運手冊 - index_documents: 索引文檔 - get_index_stats: 取得索引統計 2. 更新 AI_FALLBACK_ORDER 為 Gemini 優先 - 臨時措施:Ollama CPU 推論緩慢導致 mock_fallback - 預計 2026-03-27 切回 Ollama Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
52 lines
1.7 KiB
Python
52 lines
1.7 KiB
Python
"""
|
|
MCP Tool Providers - ADR-015 模組化架構
|
|
======================================
|
|
|
|
每個 Provider 負責一個領域的 MCP 工具:
|
|
- K8sProvider: Kubernetes 操作 (kubectl)
|
|
- SignOzProvider: 監控指標查詢
|
|
- DatabaseProvider: 資料庫查詢 (Approval/Incident)
|
|
- FilesystemProvider: 安全受限的文件讀取 (#82)
|
|
- GrafanaProvider: Grafana Dashboard 查詢 (#83)
|
|
- RAGProvider: 維運手冊語義搜尋 (#84)
|
|
|
|
@see docs/adr/ADR-015-mcp-modular-architecture.md
|
|
|
|
變更紀錄:
|
|
- 2026-03-27 v1.3: 新增 RAGProvider (#84) - Claude Code (台北時區)
|
|
- 2026-03-26 v1.2: 新增 GrafanaProvider (#83) - Claude Code
|
|
- 2026-03-26 v1.1: 新增 FilesystemProvider (#82) - Claude Code
|
|
"""
|
|
|
|
from src.plugins.mcp.providers.database_provider import DatabaseProvider
|
|
from src.plugins.mcp.providers.filesystem_provider import FilesystemProvider
|
|
from src.plugins.mcp.providers.grafana_provider import GrafanaProvider
|
|
from src.plugins.mcp.providers.k8s_provider import K8sProvider
|
|
from src.plugins.mcp.providers.rag_provider import RAGProvider
|
|
from src.plugins.mcp.providers.signoz_provider import SignOzProvider
|
|
|
|
__all__ = [
|
|
"K8sProvider",
|
|
"SignOzProvider",
|
|
"DatabaseProvider",
|
|
"FilesystemProvider",
|
|
"GrafanaProvider",
|
|
"RAGProvider",
|
|
]
|
|
|
|
|
|
def register_all_providers() -> None:
|
|
"""
|
|
註冊所有 Provider 到全域 Registry
|
|
|
|
應在 FastAPI lifespan 中呼叫
|
|
"""
|
|
from src.plugins.mcp.registry import register_provider
|
|
|
|
register_provider(K8sProvider())
|
|
register_provider(SignOzProvider())
|
|
register_provider(DatabaseProvider())
|
|
register_provider(FilesystemProvider())
|
|
register_provider(GrafanaProvider())
|
|
register_provider(RAGProvider())
|