MCP Server E2E Testing Example

MCP Server E2E Testing Example

site icon
2025.04.22 0
TypeScript测试工具开发模板开发效率
MCP Server E2E Testing Example 是一个最小化的示例仓库,展示了两种使用 Vitest 对 TypeScript MCP(Model Context Protocol)服务器进行端到端(E2E)测试的模式。 - **原始方法**:通过 `tsx` 生成 CLI 并通过 `stdio`(JSON-RPC)进行通信。 - **SDK 方法**:使用官方 MCP SDK 的 `Client` 和 `InMemoryTransport` 进行内存中的 RPC 通信。 该仓库旨在作为示例或模板,供开发者参考和扩展。
View on GitHub

Overview

基本能力

产品定位

MCP Server E2E Testing Example 是一个用于演示 MCP 服务器端到端测试的示例项目,适合开发者在实际项目中参考和使用。

核心功能

  1. 原始测试模式:通过生成 CLI 并使用 stdio 进行 JSON-RPC 通信。
  2. SDK 测试模式:使用 MCP SDK 的 ClientInMemoryTransport 进行内存中的 RPC 通信。
  3. 测试脚本:提供多种测试脚本,支持单独运行原始测试或 SDK 测试,以及运行所有测试。

适用场景

  1. 开发测试:开发者可以在实际项目中参考该示例进行端到端测试。
  2. CI 集成:可以集成到 CI 管道中,自动化运行测试。
  3. 模板扩展:开发者可以基于该模板扩展自己的测试用例和服务器逻辑。

工具列表

  1. Vitest:用于运行端到端测试的测试框架。
  2. tsx:用于运行 TypeScript 文件的工具。
  3. MCP SDK:提供 ClientInMemoryTransport 工具,支持内存中的 RPC 通信。

常见问题解答

  1. 如何运行测试?
  2. 原始测试:pnpm vitest run tests/e2e/raw.spec.ts
  3. SDK 测试:pnpm vitest run tests/e2e/sdk.spec.ts
  4. 所有测试:pnpm run test
  5. 如何扩展测试用例?
  6. 可以修改 raw.spec.tssdk.spec.ts 文件,添加更多测试用例。

使用教程

使用依赖

  1. Node.js ≥ 16:确保已安装 Node.js 16 或更高版本。
  2. pnpm:全局安装 pnpm。 bash npm install -g pnpm
  3. Git:确保已安装 Git。

安装教程

  1. 克隆仓库: bash git clone https://github.com/mkusaka/mcp-server-e2e-testing-example.git cd mcp-server-e2e-testing-example
  2. 安装依赖: bash pnpm install

调试方式

  1. 运行原始测试: bash pnpm vitest run tests/e2e/raw.spec.ts
  2. 运行 SDK 测试: bash pnpm vitest run tests/e2e/sdk.spec.ts
  3. 运行所有测试: bash pnpm run test

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。