exa-mcp-plus

Lillard01/exa-mcp-plus

3.2

If you are the rightful owner of exa-mcp-plus and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

Exa MCP Server is a powerful Model Context Protocol server designed to enable AI assistants like Claude to perform comprehensive web searches using the Exa AI Search API.

Tools
  1. web_search_exa

    Real-time web search for general information

  2. research_paper_search_exa

    Search for academic papers and citations

  3. company_research_exa

    Enterprise intelligence and company analysis

  4. crawling_exa

    URL content extraction and structured data retrieval

  5. twitter_search_exa

    Enhanced Twitter/X search for social media insights

Exa MCP 服务器 🔍

npm version smithery badge License: MIT Node.js Version TypeScript MCP

一个强大的模型上下文协议(MCP)服务器,让 Claude 等 AI 助手能够使用 Exa AI 搜索 API 进行全面的网络搜索。该设置允许 AI 模型以安全、受控和高效的方式访问实时网络/X 信息。

✨ 核心功能

  • 🔍 实时网络搜索: 基于 Exa AI 的先进搜索能力
  • 📚 学术研究: 专门搜索研究论文和学术内容
  • 🏢 企业情报: 全面的商业研究和竞争对手分析
  • 🌐 内容提取: 智能爬取和从 URL 提取内容
  • 🔗 社交媒体搜索: LinkedIn、Twitter/X 平台搜索功能
  • 📖 知识库: Wikipedia 和 GitHub 仓库搜索
  • 🛠️ 模块化工具: 根据需要启用/禁用特定搜索工具
  • 🔒 安全: 安全且受控的网络信息访问
  • 快速: 针对性能和可靠性进行优化
  • 🎯 智能查询: 支持多种搜索类型和参数配置
  • 📊 详细日志: 完整的请求跟踪和调试支持

🆕 最新功能更新 (v2.0.0)

🔧 增强的工具管理

  • 工具名称映射: 支持向后兼容的工具名称(如 twitter_search_exatwitter_search
  • 动态工具注册: 基于配置动态启用/禁用工具
  • 调试模式: 详细的日志记录和错误跟踪
  • 请求ID追踪: 每个请求都有唯一标识符便于调试

🐦 Twitter/X 搜索优化

  • 域名策略更新: 优先使用 x.com,向后兼容 twitter.com
  • 智能查询构建: 改进的用户、话题标签和推文搜索逻辑
  • 搜索类型支持: 支持推文、用户、话题标签和综合搜索
  • 时间范围过滤: 支持日、周、月、年和全部时间范围
  • 结果数量限制: 智能限制最大结果数(最多50个)

🔐 安全性增强

  • API密钥验证: 启动时验证 EXA_API_KEY 的存在和有效性
  • 错误处理改进: 用户友好的错误消息和详细的错误分类
  • 超时控制: 25秒请求超时防止长时间等待

🏗️ 架构改进

  • 现代MCP SDK: 升级到最新的 @modelcontextprotocol/sdk v1.12.1
  • Smithery CLI 支持: 完整的 Smithery 构建和部署支持
  • TypeScript 优化: 完整的类型安全和更好的开发体验
  • 模块化设计: 每个工具独立模块,便于维护和扩展

🚀 快速开始

方式一:远程 Exa MCP(推荐)🌐

直接连接到 Exa 托管的 MCP 服务器,无需本地安装:

{
  "mcpServers": {
    "exa": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.exa.ai/mcp?exaApiKey=your-exa-api-key"
      ]
    }
  }
}

方式二:NPM 安装 📦

# 全局安装
npm install -g exa-mcp-server

# 或使用 npx(无需安装)
npx exa-mcp-server --list-tools

方式三:Smithery(自动化设置)🔧

npx -y @smithery/cli install exa --client claude

📋 前置要求

  • Node.js: 18.0.0 或更高版本
  • npm: 推荐最新版本
  • Exa API Key: 从 dashboard.exa.ai/api-keys 获取
  • Claude Desktop: 用于 MCP 集成

⚙️ 配置指南

1. 获取 Exa API Key 🔑

  1. 访问 dashboard.exa.ai/api-keys
  2. 注册或登录您的账户
  3. 生成新的 API key
  4. 复制密钥用于配置

2. 配置 Claude Desktop 🖥️

查找配置文件

方法一:通过 Claude Desktop UI

  1. 打开 Claude Desktop
  2. 启用开发者模式(左上角菜单)
  3. 转到设置 → 开发者 → 编辑配置

方法二:直接文件访问

macOS:

code ~/Library/Application\ Support/Claude/claude_desktop_config.json

Windows:

code %APPDATA%\Claude\claude_desktop_config.json

Linux:

code ~/.config/Claude/claude_desktop_config.json
基础配置
{
  "mcpServers": {
    "exa": {
      "command": "npx",
      "args": ["-y", "exa-mcp-server"],
      "env": {
        "EXA_API_KEY": "your-api-key-here"
      }
    }
  }
}

3. 可用工具和配置 🛠️

Exa MCP 服务器包含以下强大工具:

工具名称描述使用场景新功能
web_search_exa实时网络搜索通用网络信息智能内容提取
research_paper_search_exa学术论文搜索研究和引用学术源优化
company_research_exa企业情报公司分析财务信息集成
crawling_exaURL 内容提取文章阅读结构化数据提取
competitor_finder_exa竞争对手分析市场研究行业洞察
linkedin_search_exaLinkedIn 搜索专业网络职业信息
wikipedia_search_exaWikipedia 搜索事实信息多语言支持
github_search_exaGitHub 仓库搜索代码和项目代码片段提取
twitter_search_exaTwitter/X 搜索社交媒体洞察🆕 增强搜索类型
工具选择配置
{
  "mcpServers": {
    "exa": {
      "command": "npx",
      "args": [
        "-y",
        "exa-mcp-server",
        "--tools=web_search_exa,research_paper_search_exa,twitter_search_exa",
        "--debug"
      ],
      "env": {
        "EXA_API_KEY": "your-api-key-here"
      }
    }
  }
}
调试模式配置
{
  "mcpServers": {
    "exa": {
      "command": "npx",
      "args": [
        "-y",
        "exa-mcp-server",
        "--debug"
      ],
      "env": {
        "EXA_API_KEY": "your-api-key-here"
      }
    }
  }
}

4. 重启 Claude Desktop 🔄

  1. 完全退出 Claude Desktop(不只是最小化)
  2. 重新启动 应用程序
  3. 验证 连接,查看 MCP 服务器图标

🏠 本地开发

开发前置要求

# 检查 Node.js 版本
node --version  # 应该是 18+

# 检查 npm 版本
npm --version

克隆和设置

# 克隆仓库
git clone https://github.com/exa-labs/exa-mcp-server.git
cd exa-mcp-server

# 安装依赖
npm install

# 构建项目
npm run build

# 开发模式运行
npm run dev

本地配置示例

{
  "mcpServers": {
    "exa": {
      "command": "node",
      "args": [
        "/path/to/exa-mcp-server/.smithery/index.cjs",
        "--tools=web_search_exa,twitter_search_exa",
        "--debug"
      ],
      "env": {
        "EXA_API_KEY": "your-api-key-here"
      }
    }
  }
}

环境变量

# 设置 API key(临时)
export EXA_API_KEY="your-api-key-here"

# 或创建 .env 文件
echo "EXA_API_KEY=your-api-key-here" > .env

🔧 使用示例

命令行使用

# 列出所有可用工具
npx exa-mcp-server --list-tools

# 使用特定工具运行
npx exa-mcp-server --tools=web_search_exa,twitter_search_exa

# 启用调试模式
npx exa-mcp-server --debug

# 使用所有工具运行(默认)
npx exa-mcp-server

编程使用

import { ExaMCPServer } from 'exa-mcp-server';

const server = new ExaMCPServer({
  apiKey: process.env.EXA_API_KEY,
  tools: ['web_search_exa', 'twitter_search_exa'],
  debug: true
});

await server.start();

Twitter/X 搜索高级用法

# 搜索特定类型的推文
npx exa-mcp-server --tools=twitter_search_exa

# 在 Claude 中使用:
# "搜索关于人工智能的最新推文,限制在过去一周内"
# "查找 @elonmusk 的最新推文"
# "搜索 #AI 话题标签的热门内容"

🐛 故障排除

常见问题和解决方案

1. 服务器未找到
# 验证 npm 安装
npm list -g exa-mcp-server

# 如需要重新安装
npm install -g exa-mcp-server
2. API Key 问题
# 测试 API key
curl -H "Authorization: Bearer your-api-key" https://api.exa.ai/search

# 检查环境变量
echo $EXA_API_KEY
3. 连接问题
  • 确保 Claude Desktop 完全重启
  • 检查配置文件中的 JSON 语法
  • 验证文件权限
4. 构建问题
# 清理并重新构建
npm run clean
npm install
npm run build
5. Twitter 搜索问题
# 测试 Twitter 工具
node ./.smithery/index.cjs --tools=twitter_search_exa --debug

# 检查日志
tail -f server_stdout.log

调试模式

# 启用调试日志
DEBUG=exa-mcp-server npx exa-mcp-server

# 检查服务器日志
tail -f server_stdout.log

# 使用本地构建进行调试
node ./.smithery/index.cjs --debug

工具验证

# 验证工具注册
node ./.smithery/index.cjs --list-tools

# 测试特定工具
node ./.smithery/index.cjs --tools=twitter_search_exa --debug

🤝 贡献指南

我们欢迎开源社区的贡献!以下是您可以帮助的方式:

开发设置

  1. Fork 仓库
  2. 克隆 您的 fork:
    git clone https://github.com/your-username/exa-mcp-server.git
    cd exa-mcp-server
    
  3. 安装 依赖:
    npm install
    
  4. 创建 功能分支:
    git checkout -b feature/amazing-feature
    

代码风格和标准

# 格式化代码
npm run format

# 代码检查
npm run lint

# 类型检查
npm run type-check

# 运行测试
npm test

贡献指南

  • 📝 编写清晰的提交消息
  • 🧪 为新功能添加测试
  • 📚 根据需要更新文档
  • 🔍 遵循现有代码风格
  • 确保所有测试通过

Pull Request 流程

  1. 更新 README.md 包含更改详情
  2. 添加 新功能的测试
  3. 确保 测试套件通过
  4. 请求 维护者审查

📊 项目结构

exa-mcp-server/
├── src/                    # 源代码
│   ├── index.ts           # 主入口点
│   ├── tools/             # 工具实现
│   │   ├── webSearch.ts   # 网络搜索工具
│   │   ├── twitterSearch.ts # Twitter/X 搜索工具(增强版)
│   │   ├── companyResearch.ts # 企业研究工具
│   │   └── ...            # 其他工具
│   ├── types.ts           # 类型定义
│   └── utils/             # 工具函数
│       └── logger.js      # 日志系统
├── test/                  # 测试文件
│   ├── TWITTER_TOOL_IMPROVEMENTS.md # Twitter 工具改进文档
│   ├── test_summary_report.md # 测试总结报告
│   └── ...                # 测试脚本
├── .smithery/             # 构建输出
├── package.json           # Node.js 依赖
├── tsconfig.json          # TypeScript 配置
├── requirements.txt       # Python 依赖(可选)
└── README.md              # 本文件

📄 许可证

本项目基于 MIT 许可证 - 查看 文件了解详情。

🙏 致谢

  • Exa Labs - 提供强大的搜索 API
  • Anthropic - 提供 Claude 和 MCP 协议
  • 开源社区 - 贡献和反馈

📞 支持

🔗 相关项目


由 Exa Labs 团队和开源贡献者用 ❤️ 构建
如果您觉得有帮助,请给这个仓库点个 ⭐!