返回市场
MCP-鲨鱼服务器

MCP-鲨鱼服务器

作者:mcp-shark80 星标更新:2025-11-22

项目介绍

MCP Shark

下载桌面应用

平台下载
macOS下载 (ARM64)
Windows下载 (安装程序)
Linux下载 (ARM64 DEB)

⚠️ 预发布版本 - 正在测试中
这是MCP Shark的一个预发布版本。软件仍在积极开发和测试中。功能可能会发生变化,并且可能存在错误或不完整的功能。请自行承担风险使用。

将多个模型上下文协议(MCP)服务器聚合到一个统一的界面中,具有强大的监控UI

MCP Shark是一个完整的解决方案,可以将多个MCP服务器(包括基于HTTP和stdio的)聚合到一个统一的端点,并提供实时的Web界面来监控和检查所有通信。可以将其视为MCP的Wireshark——提供了对每个请求和响应的深入可见性。

工作原理

MCP Shark 架构

快速查看流量

MCP Shark 概览

目录

IDE支持

MCP Shark提供了与流行IDE和编辑器的无缝集成:

支持的IDE

  • Cursor — 自动检测并使用 ~/.cursor/mcp.json
  • Windsurf — 自动检测并使用 ~/.codeium/windsurf/mcp_config.json
  • 自定义配置 — 上传并使用任何MCP配置文件

自动配置

MCP Shark自动:

  • 检测您的IDE的MCP配置文件
  • 将IDE特定的配置格式转换为MCP Shark格式
  • 在进行任何更改之前创建备份
  • 更新您的IDE配置以指向MCP Shark服务器
  • 当您停止服务器时恢复原始配置

零配置设置

  1. 启动MCP Shark UI
  2. 从检测到的列表中选择您的IDE(或上传您的配置)
  3. 选择要启用的服务器(可选)
  4. 单击“启动MCP Shark”
  5. 您的IDE现在将自动使用MCP Shark

无需手动配置编辑 - MCP Shark为您处理一切。

MCP游乐场

MCP游乐场是MCP Shark最强大的功能之一 — 一个交互式测试环境,让您可以直接从Web UI探索、测试和实验所有连接的MCP服务器。

MCP游乐场 - 工具

交互式工具测试

使用自定义参数测试来自任何连接服务器的任何工具:

  • 在一个地方浏览所有服务器的所有可用工具
  • 查看工具描述、参数和模式
  • 使用自定义JSON参数调用工具
  • 实时查看结果并格式化输出
  • 测试边缘情况和不同的参数组合

提示探索

交互式地探索和测试提示:

MCP游乐场 - 提示

  • 列出所有连接服务器的所有提示
  • 查看提示描述和参数模式
  • 使用不同的参数测试提示
  • 查看格式化的提示结果
  • 了解不同服务器上的提示如何工作

资源浏览

浏览和阅读所有服务器的资源:

  • 发现所有服务器上的所有可用资源
  • 直接在UI中读取资源内容
  • 探索资源URI和元数据
  • 了解资源结构和格式

会话管理

游乐场维护会话状态以进行有状态交互:

MCP游乐场 - 工具调用

  • 自动会话跟踪
  • 维护跨多个工具调用的上下文
  • 测试有状态的工作流和对话
  • 调试与会话相关的错误

用例

  • 开发:在将工具集成到代码中之前进行测试
  • 调试:验证工具行为并排查问题
  • 探索:发现可用的工具和资源
  • 学习:了解不同的MCP服务器如何工作
  • 文档:生成示例和测试用例

在启动MCP Shark服务器后,从UI中的“MCP游乐场”标签访问游乐场。

关键特性

多服务器聚合

  • 同时连接到多个MCP服务器(HTTP和stdio)
  • 所有服务器的工具、提示和资源的统一API
  • 服务选择 — 选择要激活的服务器
  • 自动负载均衡和故障转移

实时监控与分析

  • 实时流量捕获 — 基于WebSocket的实时更新
  • 类似Wireshark的界面 — 详细的分组检查,带有帧号、时间戳和协议信息
  • 多种视图模式
    • 通用列表视图
    • 按会话和服务器分组
    • 按服务器和会话分组
  • 高级过滤 — 按方法、状态、协议、会话、服务器、方向等过滤
  • 全文搜索 — 搜索所有字段,包括URL、端点和JSON-RPC方法

流量监控

分析与统计

  • 流量统计 — 查看请求计数、唯一会话和服务器活动
  • 性能指标 — 每个请求的持续时间、延迟和定时信息
  • 错误追踪 — 包含堆栈跟踪的全面错误日志
  • 会话分析 — 跟踪对话和有状态交互

数据管理

  • 导出能力 — 将捕获的流量导出为JSON、CSV或TXT格式
  • 备份管理 — 配置文件的自动备份及恢复功能
  • 日志导出 — 将服务器日志导出为文本文件
  • SQLite数据库 — 高效存储,直接数据库访问用于高级分析

现代UI/UX

  • 暗主题 — 开发者友好的暗色界面
  • 互动教程 — 为首次用户的内置引导
  • 响应式设计 — 在不同屏幕尺寸上无缝工作
  • 动画过渡 — 平滑动画以改善用户体验
  • 十六进制视图 — 使用十六进制查看器检查二进制数据
  • 原始/JSON视图 — 多种有效载荷查看模式(原始、JSON、十六进制)

配置管理

  • 自动检测 — 自动检测IDE配置文件
  • 配置转换 — 将IDE配置格式转换为MCP Shark格式
  • 备份与恢复 — 在进行更改之前自动备份
  • 配置查看器 — 查看和检查配置文件和备份
  • 服务筛选 — 选择性地启用/禁用特定服务器

快速开始

快速开始指南

安装

  1. 安装依赖项:
npm run install:all

或者使用Make:

make install-all
  1. 启动UI:
make start

或者使用npm:

npm start
  1. 打开浏览器:

导航至 http://localhost:9853

就这样!在首次启动时,互动教程将引导您完成设置过程。

可用命令

使用Make(推荐):

make start          # 启动UI服务器(默认)
make stop           # 停止UI服务器
make dev-ui         # 在开发模式下启动UI,带热重载
make build-ui       # 为生产构建UI
make install-all    # 安装所有依赖项
make help           # 显示所有可用命令

使用npm:

npm start           # 启动UI服务器
npm run dev:ui      # 在开发模式下启动UI
npm run build:ui    # 为生产构建UI
npm run install:all # 安装所有依赖项

用户指南

入门

  1. 启动UI:运行 make startnpm start
  2. 互动教程:首次启动时,您将看到一个互动教程 —— 按照它开始
  3. 配置服务器:转到“MCP服务器设置”标签
  4. 选择配置:从检测到的编辑器中选择或上传自己的配置文件
  5. 开始监控:点击“启动MCP Shark”以开始捕获流量

UI标签概述

流量捕获

主要监控界面,具有类似Wireshark的功能:

流量捕获界面

  • 实时更新:实时查看请求和响应
  • 多种视图
    • 通用列表:所有流量的平铺时间顺序视图
    • 按会话和服务器分组:按对话会话组织
    • 按服务器和会话分组:按服务器活动组织
  • 高级过滤
    • 搜索所有字段
    • 按HTTP方法(GET、POST等)过滤
  • 按状态码过滤
  • 按协议过滤
  • 按方向(请求/响应)过滤
  • 按会话ID过滤
  • 按服务器名称过滤
  • 分组详情:点击任何分组以查看:
    • 完整头信息
    • 请求/响应正文
    • 定时信息
    • JSON-RPC细节
    • 原始、JSON和十六进制视图
  • 导出:导出过滤结果为JSON、CSV或TXT格式
  • 统计:查看流量统计,包括请求计数和唯一会话

MCP游乐场

MCP服务器的交互式测试环境 —— MCP Shark最突出的功能之一

  • 工具部分
    • 浏览所有服务器的所有可用工具
    • 使用自定义参数调用工具
    • 实时查看结果
    • 查看工具描述和参数
  • 提示部分
    • 列出所有服务器的所有提示
    • 使用不同的参数测试提示
    • 查看提示结果
  • 资源部分
    • 浏览可用资源
    • 读取资源内容
    • 探索资源URI
  • 会话管理:维护有状态交互的会话状态

这是探索您的MCP服务器、测试工具并了解可用功能的理想场所。

MCP Shark日志

服务器控制台输出和调试:

MCP Shark日志

  • 实时日志:实时查看服务器输出
  • 日志过滤:按日志类型(stdout、stderr、error)过滤
  • 导出日志:将日志导出为文本文件
  • 自动滚动:自动滚动到最新日志
  • 颜色编码:不同颜色表示不同类型的日志

MCP服务器设置

配置和服务器管理:

MCP服务器设置

  • 配置检测 — 自动检测配置文件:
    • Cursor: ~/.cursor/mcp.json
    • Windsurf: ~/.codeium/windsurf/mcp_config.json
  • 文件上传 — 上传自己的MCP配置文件
  • 服务选择 — 选择要启用的服务器
  • 配置查看器 — 查看和检查配置文件
  • 启动/停止服务器 — 控制MCP Shark服务器
  • 备份管理
    • 查看所有备份及其时间戳
    • 恢复任何备份
    • 删除备份
    • 查看备份内容

高级功能

导出数据

流量导出:

  1. 转到流量捕获标签
  2. 应用任何过滤器(可选)
  3. 单击导出按钮
  4. 选择格式:
    • JSON:包含所有元数据的完整结构化数据
    • CSV:适合电子表格的格式
    • TXT:人类可读的文本格式

日志导出:

  1. 转到MCP Shark日志标签
  2. 单击导出日志按钮
  3. 日志被导出为文本文件

备份管理

MCP Shark在修改您的配置之前会自动创建备份:

  1. 转到MCP服务器设置标签
  2. 滚动到**“已备份的配置文件”**部分
  3. 查看所有备份及其:
    • 原始文件路径
    • 备份位置
    • 创建时间戳
    • 文件大小
  4. 可用操作:
    • 查看:检查备份内容
    • 恢复:将备份恢复到原始位置
    • 删除:移除备份文件

会话管理

  • 自动会话跟踪 — 会话自动跟踪并显示
  • 会话过滤 — 按特定会话ID过滤流量
  • 会话分组 — 按会话查看流量以进行对话分析
  • 会话持久性 — 会话在请求之间维持

性能分析

每个请求/响应都包括:

  • 持续时间 — 总请求/响应时间
  • 延迟 — 网络延迟测量
  • 有效载荷大小 — 请求和响应大小
  • 状态码 — HTTP状态码
  • 定时分解 — 详细的定时信息

架构

MCP Shark 架构

上图展示了MCP Shark的工作方式:

  1. 您的IDE(Cursor、Windsurf等)通过HTTP连接到MCP Shark服务器
  2. MCP Shark服务器(端口9851)充当网关,聚合多个MCP服务器
  3. MCP服务器(GitHub、文件系统、数据库、自定义)处理实际请求
  4. SQLite数据库存储所有流量以供审计日志
  5. MCP Shark UI(端口9853)从数据库读取并提供实时监控

数据流:

  • 请求从IDE流向MCP Shark服务器再到MCP服务器
  • 响应沿相同路径返回
  • 所有流量都被记录到SQLite数据库
  • UI从数据库读取并可以控制服务器

项目结构

mcp-shark/
├── mcp-server/           # MCP聚合服务器
│   ├── mcp-shark.js      # 主入口点
│   ├── lib/              # 服务器实现
│   │   ├── server/       # 服务器逻辑
│   │   │   ├── internal/ # 内部MCP服务器(聚合器)
│   │   │   └── external/ # 外部MCP服务器客户端
│   │   ├── auditor/     # 审计日志
│   │   └── common/      # 公用工具
│   └── temp/            # 配置和数据库
├── ui/                   # Web UI
│   ├── src/              # React组件
│   │   ├── components/  # UI组件
│   │   │   ├── McpPlayground/ # 游乐场组件
│