本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
OpenSearch MCP 伺服器
OpenSearch MCP 伺服器opensearch-mcp-server-py) 是 OpenSearch 模型內容通訊協定
伺服器可與受管 OpenSearch Service 網域和 OpenSearch Serverless 集合搭配使用。您可以將其連接到編碼 IDEs(Kiro、Claude Code、Cursor)、桌面 AI 助理 (Claude Desktop) 和代理程式架構 (Strands Agents、LangGraph)。
先決條件
-
Python 3.10 或更新版本。
-
uv(建議) 或 pip。 -
可連線的 OpenSearch 端點:OpenSearch Service 網域、OpenSearch Serverless 集合或自我管理的 OpenSearch 叢集。
-
具有呼叫您要公開之 OpenSearch APIs 許可的登入資料。如需 OpenSearch Service 網域的 IAM 政策,請參閱 身分型政策。如需 OpenSearch Serverless 資料存取政策,請參閱 Amazon OpenSearch Serverless 的資料存取控制。
安裝
使用 執行伺服器 uvx(不需要安裝) 或在本機安裝:
# Run directly with uvx (recommended – no install step) uvx opensearch-mcp-server-py # Or install with pip pip install opensearch-mcp-server-py
大多數使用者都會將其 IDE 或 AI 助理設定為自動啟動伺服器。如需範例搭配代理程式架構使用,請參閱 在編碼 IDE 中設定和 。
身分驗證
透過環境變數 (單一叢集模式) 或 YAML 組態檔案中的每個叢集 (多叢集模式) 設定身分驗證。伺服器會以下列優先順序套用身分驗證方法:無驗證、標頭型、IAM 角色、基本驗證、 AWS 存取金鑰。
- IAM 角色 (SigV4) – 建議用於 OpenSearch Service 網域
-
export OPENSEARCH_URL="https://your-domain-endpoint" export AWS_IAM_ARN="arn:aws:iam::123456789012:role/YourOpenSearchRole" export AWS_REGION="us-east-1"角色必須具有呼叫伺服器使用之 OpenSearch APIs許可。如需範例政策其他範例政策,請參閱 。
- AWS 登入資料或設定檔
-
export OPENSEARCH_URL="https://your-domain-endpoint" export AWS_REGION="us-east-1" export AWS_PROFILE="your-aws-profile" - OpenSearch Serverless 集合
-
設定 ,
AWS_OPENSEARCH_SERVERLESS=true讓伺服器使用aoss服務名稱而非 簽署請求es。確保透過集合上的資料存取政策授予委託人存取權 (請參閱 Amazon OpenSearch Serverless 的資料存取控制)。export OPENSEARCH_URL="https://collection-id.us-east-1.aoss.amazonaws.com" export AWS_OPENSEARCH_SERVERLESS="true" export AWS_REGION="us-east-1" export AWS_PROFILE="your-aws-profile" - 基本身分驗證
-
export OPENSEARCH_URL="https://your-domain-endpoint" export OPENSEARCH_USERNAME="username" export OPENSEARCH_PASSWORD="password"重要
請勿在可能檢查到來源控制的組態檔案中嵌入密碼。使用作業系統的秘密管理員或 shell 環境來提供登入資料。
安全考量
MCP 伺服器會使用您提供的登入資料執行。任何這些登入資料都有權執行,AI 助理可能會代表您觸發。請遵循下列實務:
-
使用最低權限憑證。建立專用 IAM 角色或 OpenSearch 使用者,範圍限定於客服人員所需的索引和動作。避免重複使用管理員登入資料。
-
分開開發和生產。將伺服器指向非生產叢集進行探索。需要生產存取權時,請使用具有明確叢集名稱的多模式。
-
篩選工具。停用工作流程不需要的工具類別。
OPENSEARCH_DISABLED_CATEGORIES=core_tools設定為停用預設設定,或使用OPENSEARCH_ENABLED_CATEGORIES僅啟用特定類別。 -
保護登入資料。透過靜態存取金鑰,偏好 AWS 設定檔和 IAM 角色。切勿將秘密遞交至來源控制中的組態檔案。
-
檢閱工具輸出。MCP 工具回應會以內容的形式傳回語言模型。避免針對包含您不希望向 AI 供應商公開之敏感資料的索引執行伺服器。
疑難排解
- 助理看不到任何 OpenSearch 工具
-
確認您的組態檔案是有效的 JSON,並完全重新啟動用戶端。大多數用戶端只會在啟動時載入 MCP 伺服器。
- 工具呼叫傳回 403 禁止
-
您的登入資料沒有 工具正在呼叫之 API 的許可。對於 OpenSearch Service 網域,請檢閱連接到角色的網域存取政策和 IAM 政策。對於 OpenSearch Serverless,請檢閱集合的資料存取政策。
- OpenSearch Serverless 的簽章不相符錯誤
-
確定
AWS_OPENSEARCH_SERVERLESS=true已設定 (或在is_serverless: true多模式中)。如果沒有它,伺服器會使用es服務名稱而非 來簽署aoss。 - 您需要的工具無法使用
-
檢查它是否位於非預設類別中,並在 YAML 組態
enabled_categories中使用OPENSEARCH_ENABLED_CATEGORIES或 啟用它。
如需進一步協助,請在 opensearch-mcp-server-py 儲存庫
其他資源
-
GitHub 上的 opensearch-mcp-server-py
– 來源、問題和版本備註。 -
使用者指南
– 完整的組態參考,包括串流傳輸和 Kubernetes 部署。 -
Strands Agents
– 具有內建 MCP 支援的 AWS原生代理程式 SDK。 -
LangGraph
– 具狀態代理程式的低階協同運作架構。 -
OpenSearch 代理程式技能 – 任務導向工作流程的配套技能集合。