Token导航 LogoToken导航

MCP Server · 搜索检索

Release Testing Openserach MCP Server

一个全面、可扩展的测试框架,用于验证OpenSearch MCP服务器在不同认证方法和部署场景下的功能。

stdio官方级别未说明来源级核验工具 0
测试框架Python日志记录

快速开始

作者 / 组织
rithinpullela
提供方
rithinpullela
运行时
Python

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Release Testing Openserach MCP Server 属于搜索检索类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前先确认权限范围。

分类

搜索检索

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

python -m venv venv

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

OpenSearch MCP服务器-发布测试框架

一个全面的、可扩展的测试框架,用于在不同的身份验证方法和部署场景中验证OpenSearch MCP(模型上下文协议)服务器。

🎯 目的

该框架旨在 发布测试 OpenSearch MCP服务器。它提供:

  • ✅ 全面的测试覆盖率 适用于所有身份验证方法
  • ✅ 多集群测试 支持
  • ✅ 可扩展架构 用于添加自定义测试场景
  • ✅ 详细日志记录 有组织的输出
  • ✅ 简单、可组合的界面 用于编写自定义测试

🚀 快速开始

先决条件

  • Python 3.10+
  • mcp_server_opensearch 软件包已安装
  • 访问OpenSearch集群进行测试

安装

  1. 克隆存储库:
   git clone 
   cd sanity_test_release
  1. 设置虚拟环境(推荐):
   python -m venv venv
   source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. 安装依赖项:
   pip install mcp-server-opensearch pyyaml
  1. 配置集群:
   # Copy example config files
   cp config/test_clusters.yml.example config/test_clusters.yml
   cp config/mcp_server_multi_mode.yml.example config/mcp_server_multi_mode.yml

   # Edit with your actual credentials
   nano config/test_clusters.yml
   nano config/mcp_server_multi_mode.yml

📋 配置

群集配置(config/test_clusters.yml)

使用身份验证详细信息定义测试集群:

clusters:
  cluster1-basic-auth-ssl:
    opensearch_url: "https://your-cluster.es.amazonaws.com"
    opensearch_username: "admin"
    opensearch_password: "your-password"
    test_index: "your-index-name"
  
  cluster3-aws:
    opensearch_url: "https://your-cluster.es.amazonaws.com"
    aws_region: "us-east-1"
    aws_access_key_id: "YOUR_KEY"
    aws_secret_access_key: "YOUR_SECRET"
    aws_session_token: "YOUR_TOKEN"  # Optional
    test_index: "your-index-name"

看 config/test_clusters.yml.example 适用于所有支持的集群类型。

多模式配置(config/mcp_server_multi_mode.yml)

为多模式测试配置集群:

clusters:
  cluster1-basic-auth-ssl:
    opensearch_url: https://your-cluster.es.amazonaws.com
    opensearch_username: admin
    opensearch_password: your-password

🧪 运行测试

选项1:运行所有测试

python run_all_tests.py

这将按顺序运行所有9个测试场景:

  • 基本身份验证(带/不带SSL)
  • AWS凭据
  • AWS配置文件(命令行界面和环境变量)
  • IAM角色
  • 基于标头的身份验证
  • 多模式(带/不带标头)

选项2:运行单独测试

# Basic authentication
python tests/basic_with_ssl.py
python tests/basic_no_ssl.py

# AWS authentication
python tests/aws_credentials.py
python tests/aws_profile_cli.py
python tests/aws_profile_env.py
python tests/iam_role.py

# Header-based authentication
python tests/header_single.py

# Multi-mode testing
python tests/multi_no_header.py
python tests/multi_with_header.py

选项3:编写自定义测试

看 用法.md 详细示例和API文档。

📊 测试结果

日志文件

测试结果会自动记录到:

test_logs/
  ├── basic_with_ssl/
  │   └── basic_with_ssl_YYYYMMDD_HHMMSS.log
  ├── aws_credentials/
  │   └── aws_credentials_YYYYMMDD_HHMMSS.log
  └── ...

每个日志文件包含:

  • 工具调用详细信息
  • 响应内容(截断为200个字符)
  • 成功/错误状态
  • 汇总统计

控制台输出

  • 单模测试:逐工具结果的详细输出
  • 多模式测试:安静的控制台(日志文件中的所有详细信息),末尾有摘要

🏗️ 框架架构

.
├── config/                    # Configuration files
│   ├── test_clusters.yml     # Cluster definitions (create from .example)
│   ├── mcp_server_multi_mode.yml  # Multi-mode config (create from .example)
│   └── tool_filter.yml       # Tool enablement config
│
├── framework/                # Core framework code
│   ├── clusters.py          # Cluster loading/access
│   ├── server.py            # Server lifecycle management
│   ├── tests.py             # Test execution logic
│   ├── client.py            # MCP client wrapper
│   ├── logging.py           # Logging utilities
│   └── aws_profile.py       # AWS profile helpers
│
├── tests/                    # Test files
│   ├── basic_with_ssl.py
│   ├── aws_credentials.py
│   └── ...
│
├── tool_definitions/        # Tool definitions
│   └── definitions.py       # All 19 OpenSearch tools
│
└── test_logs/               # Generated log files (gitignored)

🔧 框架API

核心功能

from framework import (
    load_clusters,      # Load cluster configs
    get_cluster,        # Get cluster by name
    create_server,      # Start MCP server
    stop_server,        # Stop MCP server
    test_tools,         # Run tool tests
    create_aws_profile_config  # AWS profile helper
)

示例:基本测试

import asyncio
from framework import load_clusters, get_cluster, create_server, stop_server, test_tools
from framework.logging import open_log_file, close_log_file, print_test_summary

async def main():
    open_log_file("my_test")
    try:
        load_clusters()
        cluster = get_cluster("cluster1-basic-auth-ssl")
        
        server = create_server(
            env_dict={
                "OPENSEARCH_URL": cluster["opensearch_url"],
                "OPENSEARCH_USERNAME": cluster["opensearch_username"],
                "OPENSEARCH_PASSWORD": cluster["opensearch_password"],
            },
            command="python -m mcp_server_opensearch --transport stream --config config/tool_filter.yml"
        )
        
        try:
            results = await test_tools(test_index=cluster["test_index"], verbose=True)
            print_test_summary(results, "my_test")
        finally:
            stop_server(server)
    finally:
        close_log_file()

asyncio.run(main())

看 用法.md 更多示例。

🔐 安全

凭据管理

  • 配置文件 (config/test_clusters.yml, config/mcp_server_multi_mode.yml)被忽视了
  • 示例文件 (.example)作为模板提供
  • 日志文件 不包含凭据(仅API响应)
  • 临时凭据 写信给 ~/.aws/credentials 测试期间(自动备份)

最佳实践

  1. 永不承诺 带有凭据的实际配置文件
  2. 使用示例文件 作为模板
  3. 查看日志文件 在共享之前(它们可能包含集群名称)
  4. 轮换凭据 定期
  5. 使用临时凭据 如果可能(会话令牌)

📝 支持的测试场景

场景描述测试文件
基本身份验证(SSL)带SSL验证的用户名/密码basic_with_ssl.py
基本身份验证(无SSL)禁用SSL的用户名/密码basic_no_ssl.py
AWS凭据通过env变量直接访问AWS凭据aws_credentials.py
AWS配置文件(CLI)AWS配置文件通过 --profile 旗帜aws_profile_cli.py
AWS配置文件(Env)AWS配置文件通过 AWS_PROFILE 有人是。 aws_profile_env.py
IAM角色具有临时凭据的IAM角色假定iam_role.py
标头身份验证通过HTTP标头传递的凭据header_single.py
多模式(无标头)多个集群,无标头身份验证multi_no_header.py
多模式(带标头)多个集群,包括标头身份验证multi_with_header.py

🛠️ 故障排除

服务器无法启动

  • 检查端口9900是否已在使用中: lsof -i :9900
  • 验证 mcp_server_opensearch 已安装: pip list | grep mcp
  • 检查测试文件中的服务器命令语法

测试超时

  • 增加超时时间 framework/tests.py (默认值:每个工具30秒,总共5-10分钟)
  • 检查OpenSearch群集的网络连接
  • 验证凭据是否有效且未过期

未找到索引错误

  • 确保 test_index 在中设置正确 config/test_clusters.yml
  • 验证索引是否存在于OpenSearch集群中
  • 检查索引名称拼写

AWS凭据错误

  • 验证凭据是否未过期(尤其是会话令牌)
  • 检查角色/用户的IAM权限
  • 确保 AWS_REGION 设置正确

📚 附加资源

  • 用法.md -详细的使用指南和API文档
  • config/*.example -配置文件模板
  • tests/*.py -示例测试实现

🤝 贡献

添加新测试场景时:

  1. 在中创建新的测试文件 tests/
  2. 遵循现有测试的模式
  3. 使用 open_log_file() 和 close_log_file() 用于日志记录
  4. 总是使用 try/finally 确保 stop_server() 被称为
  5. 如果添加新的测试类型,请更新此README

📄 许可证

\[在此处添加您的许可证\]

🙋 支持

对于问题或疑问:

  • 检查中的现有测试日志 test_logs/
  • 审查 用法.md 获取API详细信息
  • 查看OpenSearch MCP服务器文档

______________________________________________________________________

备注:此框架是为发布测试而设计的。始终使用测试/测试集群,而不是生产集群。

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

测试框架Python本地部署OpenSearch认证测试多集群测试日志记录

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

查资料带出处

把网页、论文和文档的检索结果连同链接一起带回对话。

站内知识检索

在自己的文档库里做语义搜索,比关键词更贴题。

事实核对

交叉多个来源确认一条信息,减少模型凭记忆作答。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在搜索检索场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Release Testing Openserach MCP Server

MCP World · 本页

0stdio有1 个2026-05-17
Baidu Netdisk

MCP World

未标注未说明未标注1 个2026-05-17
Sequentialthinking

MCP.so

1SSE有2 个2026-05-17
Brave Search 433812ff

MCP World

2未说明未标注1 个2026-05-17
mindsdb (430e18)

MCP World

0未说明有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Release Testing Openserach MCP Server 怎么安装?

公开资料给出的安装命令是 python -m venv venv,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Release Testing Openserach MCP Server 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Release Testing Openserach MCP Server 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Release Testing Openserach MCP Server 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Release Testing Openserach MCP Server 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP