DevTest MCP Server
使用说明(Markdown 格式要点)
-
项目简介
- 该仓库包含一个完整的 MCP 服务器实现(mcpserver 模块),实现了 MCP 的核心能力:注册工具、提供工具的输入参数模式(JSON Schema)、响应工具调用、以及对外暴露的路由接口(如 /mcp、/mcp/tools/list、/mcp/tools/call),以供 MCP 客户端通过 JSON-RPC/HTTP 进行交互。
- 服务器侧还实现了一个“测试工具集”TestTools,包含创建批次、添加案例、执行批次、分析结果等功能,作为 MCP 工具示例供客户端调用。
- 同时存在一个基于 Spring 项目结构的客户端和网关/应用端代码,演示如何通过 MCP 客户端调用服务器提供的工具。
-
主要功能点
- MCP 服务端核心
- 处理 MCP 请求:/mcp、/mcp/tools/list、/mcp/tools/call,支持获取工具列表、调用指定工具、返回输入参数的 JSON Schema。
- 动态工具注册:通过 @McpServerEndpoint 和 @ToolMapping 注解扫描并注册工具,生成输入参数的模式(JSON Schema),便于客户端按约定组装参数。
- 工具集合与示例
- TestTools 提供了多种测试相关工具,如 createBatch、addCasesToBatch、executeBatch、analyzeBatchResult,以及环境资源相关的 applyResource、recycleResource 等,覆盖 MCP 的资源、测试、记忆等子领域。
- 记忆与上下文
- 内置 MemoryService 等工具,用于读取和写入记忆,演示 MCP 服务器在工具层面影响上下文的能力。
- 运行与部署
- 提供基于 Solon 的 MCP Server 启动入口以及简单的端口配置,默认监听端口为 3000(按实现中的初始化设置)。
- 客户端互操作示例
- 提供一个 MCP Tool Client 的实现,展示如何通过 SSE/HTTP 调用 MCP 工具,并获取调用结果。
- MCP 服务端核心
-
安装与运行步骤(简要、操作性强)
- 依赖与环境
- Java 17+、Maven。请确保构建环境可用。
- 构建
- 构建服务器模块(mcpserver),得到可执行的服务器组件。
- 启动 MCP 服务器
- 启动命令对应的入口类为 MCP 服务器的启动入口(在代码中为 McpServerApp,基于 Solon 框架)。运行后服务器监听端口,提供 /mcp、/mcp/tools/list、/mcp/tools/call 等接口。
- 配置与接入
- MCP 客户端需要的配置通常包括服务器名称、启动命令和参数集合等信息,用于建立与 MCP 服务器的连接。以下是一个示例配置的描述(用 JSON 形式呈现,便于理解,实际客户端不需要直接使用代码):
- serverName: dev-test-mcp
- command: java
- args: ["-jar", "path/to/mcpserver-app.jar"]
- 注释:上述配置用于 MCP 客户端理解如何启动并连接到 MCP 服务器;具体路径和打包产物名称以实际部署为准。
- MCP 客户端需要的配置通常包括服务器名称、启动命令和参数集合等信息,用于建立与 MCP 服务器的连接。以下是一个示例配置的描述(用 JSON 形式呈现,便于理解,实际客户端不需要直接使用代码):
- 基本使用
- 客户端通过向 MCP 服务器发起工具调用(如 applyResource、createBatch、executeBatch 等),服务器根据工具定义的输入模式进行参数校验并执行,返回结果及分析信息。
- MCP 服务器也会暴露一组示例工具以演示响应结构和输入输出,方便前端进行接口对接与测试。
- 依赖与环境
-
基本使用方法(简化步骤)
- 启动 MCP 服务器(如按照项目的启动入口运行,端口通常是 3000)。
- 使用 MCP 客户端连接服务器,获取工具列表并了解每个工具的输入模式(JSON Schema)。
- 根据需要调用某个工具,传入符合输入模式的参数,服务器返回执行结果或分析结果。
- 如需进行记忆/上下文的交互,可以结合 Memory Service 的工具进行读写操作。
-
运行与部署注意事项
- MCP 服务器与客户端之间的通信以 JSON 为主,服务器端提供工具调用的输入模式,方便客户端构造请求。
- 服务器在实现中使用了 Solon 作为运行时框架,端点路由设计为 /mcp、/mcp/tools/list、/mcp/tools/call,确保对外暴露的 MCP 服务符合基本约定。
- 如需横向扩展,理论上可以在同一实现框架下增加新的工具注解和映射,服务器会自动注册。
-
关键词 多智能体协作, 资源管理, 自动化测试, 记忆管理, LLM 集成
-
分类ID 6