MCP测试工具

Hoot是一款用于测试、调试和探索MCP服务器的工具,提供美观的界面和丰富的功能,支持HTTP和SSE传输、OAuth 2.1认证以及智能工具过滤。

  • by Portkey-AI
  • TypeScript
  • 本地部署
  • 22 星标
  • 更新于
在 GitHub 查看 Portkey-AI/hoot

使用说明

🦉 胡特

MCP测试工具 --与Postman类似,但适用于模型上下文协议。

使用漂亮的界面测试、调试和探索MCP服务器。无需人工智能聊天。

https://github.com/user-attachments/assets/e3add38e-9636-4f40-99d8-f4a2b8f0f056

⚠️ 测试版软件 --Hoot正在积极开发中。发现bug了吗? 打开一个问题。想做出贡献吗? PR欢迎!

快速开始

🌐 立即尝试(无需安装):

👉 hoot.run --在浏览器中打开,准备进行测试。

或者在本地运行:

npx -y @portkey-ai/hoot

打开时间 localhost:8009一个命令,零配置。

特性

核心测试

  • 连接到任何MCP服务器 --HTTP和SSE传输支持
  • 自动检测 --只需粘贴一个URL,Hoot就可以计算出其余的内容
  • 执行工具 --带有参数和视图响应的测试工具
  • 复制粘贴友好 --一切都已准备好剪贴板

身份验证和安全

  • OAuth 2.1 具有自动发现和合规性测试功能(文档)
  • 基于JWT的会议 --安全的本地身份验证
  • 速率限制和审计日志 --内置安全功能
  • 默认情况下仅限本地主机 --对当地发展安全

智能功能

  • 智能工具过滤 --基于AI的上下文感知工具选择
  • 聊天界面 --在LLM的协助下进行对话式测试工具
  • 键盘快捷键 --闪电般快速的导航(文档)
  • 8个美丽的主题 --各种偏好的亮暗模式(文档)

共享与协作

  • 🦉 “试穿Hoot”链接 --使用单个URL共享服务器(文档)
  • 持久状态 --您的服务器和工具在会话之间保持配置

运作原理

Hoot运行一个充当MCP客户端的Node.js后端,消除了从浏览器连接到MCP服务器时的CORS问题。

Browser (React) → Backend (Node.js/Express) → MCP Servers

架构亮点:

  • 没有CORS头痛 --后端处理所有MCP连接
  • 持久OAuth令牌 --安全地存储在SQLite中(~/.hoot/hoot-mcp.db)
  • 基于会话的身份验证 --用于安全前端后端通信的JWT令牌
  • 边缘就绪 --部署到Cloudflare Workers进行全球托管(指南)

数据持久层

关于hoot.run:

  • 服务器配置和工具 --保存在浏览器本地存储中
  • OAuth令牌 --由托管后端管理
  • 聊天记录 --保存在本地存储中

在本地(npx/npm)上:

  • 服务器配置和工具 --保存在浏览器本地存储中
  • OAuth令牌 --存储在 ~/.hoot/hoot-mcp.db (在npx运行期间持续存在)
  • 聊天记录 --保存在本地存储中

您的服务器在会话之间保持配置!

发展

从源代码运行:

git clone https://github.com/Portkey-AI/hoot
cd hoot
npm install
npm run dev:full
  • 后端运行 localhost:8008
  • 前端继续运行 localhost:8009

可用脚本:

  • npm run dev:full --同时运行前端和后端
  • npm run backend --仅后端
  • npm run dev --仅限前端
  • npm run build --为npm发行版构建
  • npm run build:cloudflare --为Cloudflare员工构建

调试

Hoot包括一个可从浏览器控制台访问的客户端记录器:

hootLogger.download()  // Download logs as JSON
hootLogger.clear()     // Clear logs

后端日志被写入 backend.log。参见 日志记录文档 了解详情。

文档

📚 全部文件

为什么胡特?

功能 蹄子 手动卷曲/测试
OAuth 2.1支持 ✅ 自动发现和流动 ❌ 手动令牌管理
运输自动检测 ✅ 自动检测到HTTP/SSE ❌ 手动配置
可视化接口 ✅ 漂亮的UI ❌ 仅限终端
工具过滤 ✅ AI驱动的上下文感知 ❌ 没有
会话持续 ✅ 已保存配置和令牌 ❌ Reauth每次
共享配置 ✅ 点击“在Hoot中尝试”链接 ❌ 复制粘贴配置

常见问题解答

Does Hoot work with all MCP servers?

对!Hoot同时支持HTTP和SSE传输、OAuth 2.1和API密钥身份验证。我们自动检测服务器配置,使连接尽可能无缝。

Is my data secure?

对。Hoot完全在您的本地机器上运行。OAuth令牌存储在本地SQLite数据库中(~/.hoot/hoot-mcp.db),所有通信都在本地主机上进行。没有数据发送到外部服务器。

Can I use Hoot in production?

Hoot是为开发和测试而设计的。对于生产部署,您可以为您的团队将Hoot部署到Cloudflare Workers。查看我们的 部署指南.

How do I test servers that require OAuth?

只需添加服务器URL。Hoot会自动检测OAuth要求并引导您完成授权流程。令牌被安全地存储并自动刷新。

Can I test multiple servers at once?

当然!根据需要连接到尽可能多的服务器。Hoot同时管理所有连接,并允许您立即在它们之间切换。

Does Hoot support resources and prompts?

还没有,但他们很快就会来!目前,Hoot专注于工具测试。资源和提示在我们的路线图上。

路线图

我们正在努力实现对MCP规范的全面支持。马上就来:

  • 资源 --MCP资源列表和阅读
  • 提示 --MCP快速测试和执行
  • Electron桌面应用程序 --支持stdio传输的原生应用程序
  • 合作工作空间 --与团队共享服务器配置

想贡献吗?结账 贡献.md 或 打开一个问题 功能请求!

技术栈

  • 前端 React 19, TypeScript, Vite, 状态
  • 后端 --Node.js、Express、MCP SDK
  • 数据库 --SQLite(更好的平方3)
  • 部署 --npm、Cloudflare Workers+持久对象
  • 人工智能 --语义工具过滤的Workers AI

贡献

我们欢迎捐款!请看 贡献.md 作为指导方针。

贡献方式:

  • 🐛 报告错误和问题
  • 💡 建议新功能
  • 📝 改进文档
  • 🔧 提交拉取请求

许可证

MIT许可证——见 许可证 了解详情。


建造于 门钥匙 --让人工智能开发更容易,一次一个工具。

之所以这样做,是因为我们厌倦了卷曲MCP服务器。希望它能有所帮助! 🦉