mcpField
O
OpenSearch MCP Server

OpenSearch MCP Server

本地服务
github.com/rithin-pullela-aws数据库175 周前更新

关于 OpenSearch MCP Server

OpenSearch MCP Server 是一个已归档的 MCP 服务,提供四种 OpenSearch 工具,用于列出索引、获取映射与设置、使用查询 DSL 搜索以及查看分片,并支持 stdio 和 SSE 传输。

主要功能

  1. 01列出 OpenSearch 索引
  2. 02获取索引映射和设置
  3. 03使用查询 DSL 搜索
  4. 04查看分片信息
  5. 05支持 stdio 和 SSE 传输

适用场景

  1. 01列出 OpenSearch 实例中的索引
  2. 02查看索引映射和设置
  3. 03执行查询 DSL 搜索
  4. 04检查分片信息

MCP 相关

它通过 stdio 或 SSE 向 MCP 客户端提供四种 OpenSearch 工具。该仓库已归档,项目已迁至 opensearch-mcp-server-py。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"opensearch-mcp-server-rithin-pullela-aws": {
"command": "uvx",
"args": [
"test-opensearch-mcp"
],
"env": {
"OPENSEARCH_URL": "<OPENSEARCH_URL>",
"OPENSEARCH_USERNAME": "<OPENSEARCH_USERNAME>",
"OPENSEARCH_PASSWORD": "<OPENSEARCH_PASSWORD>",
"AWS_REGION": "<AWS_REGION>",
"AWS_ACCESS_KEY": "<AWS_ACCESS_KEY>",
"AWS_SECRET_ACCESS_KEY": "<AWS_SECRET_ACCESS_KEY>",
"AWS_SESSION_TOKEN": "<AWS_SESSION_TOKEN>"
}
}
}
}
启动命令uvx test-opensearch-mcp
需要配置的环境变量
OPENSEARCH_URL
OPENSEARCH_USERNAME
OPENSEARCH_PASSWORD密钥
AWS_REGION
AWS_ACCESS_KEY密钥
AWS_SECRET_ACCESS_KEY密钥
AWS_SESSION_TOKEN密钥

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypitest-opensearch-mcp

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

注意:此项目已毕业并迁移至 opensearch-mcp-server-py 仓库。我们在那里见!此仓库现已归档。

OpenSearch MCP 服务

一个精简的 OpenSearch 模型上下文协议(MCP)服务,通过 stdio 和 sse 服务提供 4 个工具。

可用工具

  • ListIndexTool:列出 OpenSearch 中的所有索引。
  • IndexMappingTool:获取 OpenSearch 中某个索引的映射和设置信息。
  • SearchIndexTool:使用 OpenSearch 中以查询领域专用语言(DSL)编写的查询来搜索索引。
  • GetShardsTool:获取 OpenSearch 中分片的信息。

更多工具即将推出。点击此处

用户指南

安装

从 PyPI 安装:

pip install test-opensearch-mcp
配置
身份验证方法:
  • 基本身份验证
export OPENSEARCH_URL="<your_opensearch_domain_url>"
export OPENSEARCH_USERNAME="<your_opensearch_domain_username>"
export OPENSEARCH_PASSWORD="<your_opensearch_domain_password>"
  • IAM 角色身份验证
export OPENSEARCH_URL="<your_opensearch_domain_url>"
export AWS_REGION="<your_aws_region>"
export AWS_ACCESS_KEY="<your_aws_access_key>"
export AWS_SECRET_ACCESS_KEY="<your_aws_secret_access_key>"
export AWS_SESSION_TOKEN="<your_aws_session_token>"
运行服务
# Stdio Server
python -m mcp_server_opensearch

# SSE Server
python -m mcp_server_opensearch --transport sse
Claude Desktop 集成
{
    "mcpServers": {
        "opensearch-mcp-server": {
            "command": "uvx",
            "args": [
                "test-opensearch-mcp"
            ],
            "env": {
                // Required
                "OPENSEARCH_URL": "<your_opensearch_domain_url>",

                // For Basic Authentication
                "OPENSEARCH_USERNAME": "<your_opensearch_domain_username>",
                "OPENSEARCH_PASSWORD": "<your_opensearch_domain_password>",

                // For IAM Role Authentication
                "AWS_REGION": "<your_aws_region>",
                "AWS_ACCESS_KEY": "<your_aws_access_key>",
                "AWS_SECRET_ACCESS_KEY": "<your_aws_secret_access_key>",
                "AWS_SESSION_TOKEN": "<your_aws_session_token>"
            }
        }
    }
}
  • 使用已安装的软件包(通过 pip):
{
    "mcpServers": {
        "opensearch-mcp-server": {
            "command": "python",  // Or full path to python with PyPI package installed
            "args": [
                "-m",
                "mcp_server_opensearch"
            ],
            "env": {
                // Required
                "OPENSEARCH_URL": "<your_opensearch_domain_url>",

                // For Basic Authentication
                "OPENSEARCH_USERNAME": "<your_opensearch_domain_username>",
                "OPENSEARCH_PASSWORD": "<your_opensearch_domain_password>",

                // For IAM Role Authentication
                "AWS_REGION": "<your_aws_region>",
                "AWS_ACCESS_KEY": "<your_aws_access_key>",
                "AWS_SECRET_ACCESS_KEY": "<your_aws_secret_access_key>",
                "AWS_SESSION_TOKEN": "<your_aws_session_token>"
            }
        }
    }
}
LangChain 集成

OpenSearch MCP 服务可以通过 SSE 服务传输方式轻松集成到 LangChain 中

前置条件
  1. 安装所需的软件包
pip install langchain langchain-mcp-adapters langchain-openai
  1. 设置 OpenAI API 密钥
export OPENAI_API_KEY="<your-openai-key>"
  1. 确保 OpenSearch MCP 服务正在以 SSE 模式运行
python -m mcp_server_opensearch --transport sse
集成脚本示例
import asyncio
from langchain_mcp_adapters.client import MultiServerMCPClient
from langchain_openai import ChatOpenAI
from langchain.agents import AgentType, initialize_agent

# Initialize LLM (can use any LangChain-compatible LLM)
model = ChatOpenAI(model="gpt-4o")

async def main():
    # Connect to MCP server and create agent
    async with MultiServerMCPClient({
        "opensearch-mcp-server": {
            "transport": "sse",
            "url": "http://localhost:9900/sse",  # SSE server endpoint
            "headers": {
                "Authorization": "Bearer secret-token",
            }
        }
    }) as client:
        tools = client.get_tools()
        agent = initialize_agent(
            tools=tools,
            llm=model,
            agent=AgentType.OPENAI_FUNCTIONS,
            verbose=True,  # Enables detailed output of the agent's thought process
        )

        # Example query
        await agent.ainvoke({"input": "List all indices"})

if __name__ == "__main__":
    asyncio.run(main())

注意:

  • 此脚本兼容任何与 LangChain 集成并支持工具调用的大模型
  • 执行脚本前,请确保 OpenSearch MCP 服务正在运行
  • 根据需要配置身份验证和环境变量

开发

有兴趣参与贡献?请查看:

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。