Open Search Mcp

Open Search Mcp

🚀 开放搜索MCP 🔍

开放搜索MCP是一个全面的模型上下文协议(MCP)服务器,为Claude桌面应用提供33种专业的研究和搜索工具。专为需要在学术、技术和通用领域具备强大搜索能力的研究人员、开发人员和知识工作者而设计。

🚀 快速开始

前提条件

  • Node.js 18+
  • Claude桌面应用程序
  • TypeScript(用于开发)

安装步骤

  1. 克隆仓库
git clone https://github.com/flyanima/open-search-mcp.git
cd open-search-mcp
  1. 安装依赖
npm install
  1. 运行安全检查(推荐)
npm run security:check
  1. 构建项目
npm run build
  1. 配置环境变量(安全方法)
# 复制模板并配置API密钥
cp .env.template .env
# 使用实际的API密钥编辑.env文件(切勿提交此文件)
nano .env
  1. 配置Claude桌面应用

复制 claude_desktop_config.template.json 并使用你的路径进行更新:

{
"mcpServers": {
"open-search-mcp": {
"command": "node",
"args": ["path/to/open-search-mcp/dist/index.js"],
"env": {
"NODE_ENV": "production",
"FILTER_TO_README_33": "true",
"GITHUB_TOKEN": "your_github_token_optional",
"ALPHA_VANTAGE_API_KEY": "your_alpha_vantage_key_optional"
}
}
}
}
  1. 重启Claude桌面应用

33种工具将在你的Claude桌面界面中可用。

配置文件位置

  • Windows%APPDATA%\Claude\claude_desktop_config.json
  • macOS~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux~/.config/Claude/claude_desktop_config.json

✨ 主要特性

🎉 最新特性

  • 生产就绪:所有33种工具均完全可用,成功率达100%
  • 无Bug:消除了所有“函数未定义”错误和API问题
  • 输出标准化:所有搜索工具的响应格式统一
  • 性能优化:增强了错误处理和响应时间
  • 安全加固:全面改进了安全性,安全评分为9/10
  • 企业就绪:提供完整的安全文档和部署指南
  • CI/CD集成:自动化安全扫描和维护
  • 合规就绪:遵循OWASP安全标准和最佳实践

🛠️ 33种专业工具

🎓 学术研究(7种工具)

  • search_arxiv:搜索arXiv预印本,获取详细的论文信息
  • search_pubmed:使用NCBI E-utilities API进行医学文献搜索
  • search_ieee:搜索IEEE Xplore工程和技术论文
  • search_semantic_scholar:具有引文分析功能的AI增强学术搜索
  • search_iacr:搜索密码学和信息安全研究
  • search_biorxiv:搜索生物学预印本和最新研究
  • search_medrxiv:搜索医学预印本和临床研究

💻 开发工具(4种工具)

  • search_github:搜索GitHub仓库、代码和问题
  • search_stackoverflow:搜索编程问答和技术解决方案
  • search_gitlab:搜索GitLab项目和仓库
  • search_bitbucket:搜索Bitbucket仓库和代码

🔍 注重隐私的搜索(4种工具)

  • search_searx:具有隐私保护功能的元搜索引擎
  • search_startpage:注重隐私的网络搜索
  • search_brave:独立搜索引擎结果
  • search_ecosia:支持植树造林的环保搜索

🧪 测试与开发(2种工具)

  • test_jsonplaceholder:JSON API测试和验证
  • test_httpbin:HTTP请求/响应测试

🕷️ 网页爬取(2种工具)

  • crawl_url_content:单页内容提取
  • batch_crawl_urls:批量网站内容分析

📄 文档处理(1种工具)

  • analyze_pdf:PDF文档分析和内容提取

🧠 智能研究(5种工具)

  • intelligent_research:多源综合研究
  • deep_research:使用多数据源进行迭代深度研究
  • visualize_thinking:研究过程可视化(思维导图、流程图)
  • decompose_thinking:复杂问题分解和分析
  • check_research_saturation:研究完整性评估

💰 金融工具(8种工具)*

Alpha Vantage集成

  • alpha_vantage_symbol_search:搜索股票代码和公司信息
  • alpha_vantage_stock_quote:获取实时股票报价和价格信息
  • alpha_vantage_intraday_data:按指定间隔获取日内股票价格数据
  • alpha_vantage_daily_data:获取每日股票价格数据和历史趋势
  • alpha_vantage_company_overview:获取全面的公司概况和基本面信息
  • alpha_vantage_forex_rate:获取实时和历史外汇汇率
  • alpha_vantage_crypto_price:获取加密货币价格和市场数据
  • alpha_vantage_market_news:获取金融市场新闻和情绪分析

注意:金融工具需要API密钥,且可能有使用限制

🔒 安全特性

🛡️ 安全亮点

  • 🔐 安全的API密钥管理:基于环境变量的密钥存储和验证
  • 🔍 输入验证:使用Zod模式进行全面的输入清理和验证
  • 🐳 容器安全:使用非root用户和只读文件系统的加固Docker容器
  • 📊 安全监控:自动化安全扫描和漏洞检测
  • 🔄 CI/CD安全:在开发工作流程中集成安全检查
  • 📋 合规性:实施OWASP安全标准和最佳实践

🚨 安全评分:9/10

  • 无硬编码密钥 - 所有API密钥均安全存储
  • 输入验证 - 防止注入攻击
  • 容器加固 - 安全的Docker部署
  • 依赖扫描 - 自动化漏洞检测
  • 安全文档 - 全面的安全指南

📚 安全文档

  • 安全策略 - 漏洞报告和安全指南
  • Docker安全 - 容器安全配置
  • 安全部署 - 生产部署指南

💻 使用示例

学术研究

"Search for recent machine learning papers on arXiv"
"Find PubMed articles about COVID-19 treatments"
"Look up cryptography research in IACR"

开发工作流

"Find React components on GitHub"
"Search Stack Overflow for Python debugging tips"
"Look for GitLab projects using Docker"

综合研究

"Perform intelligent research on quantum computing"
"Analyze the current state of renewable energy technology"
"Visualize my thinking process for this complex problem"

内容分析

"Crawl and analyze this website's content"
"Extract information from this PDF document"
"Batch analyze these URLs for common themes"

🔧 API密钥与安全配置

🔒 安全的API密钥管理

重要提示:切勿在配置中硬编码API密钥。为了安全起见,请使用环境变量。

金融工具所需

增强功能可选

  • GitHub令牌:用于更高的速率限制
  • Google自定义搜索:用于备用搜索功能

🛡️ 安全配置方法

方法1:环境变量(推荐)

# 设置环境变量
export ALPHA_VANTAGE_API_KEY="your_key_here"
export GITHUB_TOKEN="your_token_here"

# 然后在Claude桌面配置中使用,而不暴露密钥
{
"mcpServers": {
"open-search-mcp": {
"command": "node",
"args": ["path/to/dist/expanded-server.js"]
}
}
}

方法2:.env文件(本地开发)

# 创建.env文件(git会自动忽略)
echo "ALPHA_VANTAGE_API_KEY=your_key_here" >> .env
echo "GITHUB_TOKEN=your_token_here" >> .env

方法3:Claude桌面环境(安全性较低)

{
"mcpServers": {
"open-search-mcp": {
"command": "node",
"args": ["path/to/dist/expanded-server.js"],
"env": {
"ALPHA_VANTAGE_API_KEY": "your_key_here",
"GITHUB_TOKEN": "your_token_here"
}
}
}
}

🔍 API密钥验证

# 验证你的API密钥配置
npm run security:scan

🏗️ 开发

前提条件

  • Node.js ≥ 18.0.0
  • npm ≥ 9.0.0
  • TypeScript
  • Git(带有预提交钩子)

项目设置

# 克隆仓库
git clone https://github.com/flyanima/open-search-mcp.git
cd open-search-mcp

# 安装依赖(包括安全工具)
npm install

# 设置预提交钩子以确保安全
npm run prepare

# 运行安全检查
npm run security:check

# 构建项目
npm run build

# 运行测试
npm test

🔒 安全开发工作流

# 提交前 - 自动安全检查
git add .
git commit -m "Your changes"  # 预提交钩子将自动运行

# 手动安全检查
npm run security:lint          # 专注于安全的代码检查
npm run security:scan          # 全面的安全扫描
npm run security:maintenance   # 依赖更新和维护

项目结构

src/
├── index.ts              # 主要MCP服务器入口点
├── tools/                # 各个工具的实现
├── utils/                # 实用函数和辅助工具
├── config/               # 配置管理
├── engines/              # 搜索引擎适配器
├── research/             # 研究和分析工具
└── types/                # TypeScript类型定义

dist/
├── expanded-server.js    # 编译后的33工具服务器
└── index.js              # 主要编译后的服务器

🧪 测试与安全验证

全面测试

# 运行包括安全测试在内的所有测试
npm test

# 测试单个工具
npm run test:tools

# 测试特定工具类别
npm run test:academic
npm run test:developer
npm run test:research

🔒 安全测试

# 全面安全扫描
npm run security:scan

# 专注于安全的代码检查
npm run security:lint

# 依赖漏洞检查
npm run security:audit

# 完整的安全验证
npm run security:check

手动测试

# 以调试模式启动服务器
node dist/expanded-server.js

# 使用MCP客户端进行测试
npx @modelcontextprotocol/inspector dist/expanded-server.js

# 开发中的安全验证
NODE_ENV=development npm run security:scan

🤝 贡献代码

我们欢迎贡献!以下是你可以提供帮助的方式:

开发工作流

  1. 分叉仓库
  2. 创建一个功能分支 (git checkout -b feature/amazing-feature)
  3. 进行更改
  4. 为新功能添加测试
  5. 运行安全检查 (npm run security:check)
  6. 确保所有测试通过 (npm test)
  7. 验证无安全问题(预提交钩子将自动运行)
  8. 提交更改 (git commit -m 'Add amazing feature')
  9. 推送到分支 (git push origin feature/amazing-feature)
  10. 打开一个拉取请求

🔒 贡献者的安全要求

  • ✅ 所有安全检查必须通过
  • ✅ 无硬编码的API密钥或机密信息
  • ✅ 新功能需进行输入验证
  • ✅ 为新工具提供安全文档
  • ✅ 遵循安全编码实践

贡献领域

  • 🔍 新搜索工具:添加对其他学术数据库或搜索引擎的支持
  • 🧠 研究功能:增强智能研究能力
  • 🐛 Bug修复:帮助识别和修复问题
  • 📚 文档:改进文档和示例
  • 🧪 测试:添加更全面的测试
  • 🔒 安全:增强安全功能和文档

📊 工具状态与安全

🛠️ 工具功能

  • 学术搜索:7/7种工具正常工作
  • 开发工具:4/4种工具正常工作
  • 搜索引擎:4/4种工具正常工作
  • 测试工具:2/2种工具正常工作
  • 网页爬取:2/2种工具正常工作
  • 文档处理:1/1种工具正常工作
  • 研究分析:5/5种工具正常工作
  • ⚠️ 金融工具:8/8种工具(需要API密钥)

🔒 安全状态

  • 输入验证:所有工具均使用严格的输入验证
  • API密钥安全:安全的环境变量管理
  • 容器安全:加固的Docker部署
  • 依赖安全:定期进行漏洞扫描
  • 代码安全:专注于安全的代码检查和分析
  • 文档:全面的安全指南
  • CI/CD安全:自动化安全检查

📈 安全指标

  • 整体安全评分:9/10
  • 漏洞数量:0个关键漏洞,0个高危漏洞
  • 安全覆盖范围:100%的工具经过验证
  • 合规性:实施了OWASP标准

📄 许可证

本项目采用MIT许可证 - 有关详细信息,请参阅 LICENSE 文件。

🙏 致谢

  • 免费API:感谢arXiv、PubMed、GitHub和其他提供免费访问服务的平台
  • MCP协议:基于Anthropic的模型上下文协议构建
  • 开源社区:受开源协作精神的启发

📞 支持

一般支持

🔒 安全支持

  • 🚨 安全问题:使用 GitHub Security Advisory 报告漏洞
  • 📋 安全策略:请参阅 SECURITY.md 了解报告指南
  • 🛡️ 安全文档
    • 安全策略
    • Docker安全
    • 安全部署

📚 额外资源

  • 🔧 安全工具:运行 npm run security:scan 进行健康检查
  • 📊 安全报告:CI/CD中的自动化安全扫描
  • 🔄 维护:使用 npm run security:maintenance 进行更新

🔗 相关项目


🔍 开放搜索MCP - 通过全面的搜索功能赋能研究

为研究和开发社区用心打造 ❤️

  • 0 关注
  • 0 收藏,8 浏览
  • system 提出于 2025-09-23 13:00

相似服务问题