MCP服务器工厂
一种基于Java的模型上下文协议(MCP)服务器,旨在帮助理解和构建其他MCP服务器。
项目概述
该项目既是学习工具,也是构建MCP服务器的指南。它侧重于提供:
- 了解MCP组件:
- 工具(执行操作的可执行函数) - 资源(提供信息的数据源) - 提示(生成响应的结构化模板)
- 模板和最佳实践 用于构建MCP服务器
特性
- 工具部分:
- explain_concept -提供MCP概念的详细解释(工具、资源、提示、服务器、客户端) - 任务计划工具: - code_cleanup_planner -为代码清理目标生成任务计划 - feature_implementation_planner -为功能实现目标生成任务计划 - general_task_planner -为总体目标生成任务计划 - local_mcp_deployment_planner -生成部署本地MCP服务器的任务计划,其中包含关键的清理和测试步骤,这些步骤在失败时中止部署
- 资源科:
- mcp://factory/documentation/{topic} -MCP主题文档(入门、最佳实践、故障排除)
- 提示部分:
- tool_implementation_guide -用不同语言实现MCP工具的分步指南
建筑
MCP服务器工厂是使用以下方式构建的:
- 带Spring框架的Java(不是Spring Boot)
- log4j2日志实现
- Maven用于构建管理
遵循设计原则:
- KISS(保持简单,愚蠢)
- DRY(不要重复自己)
- YAGNI(你不需要它)
- SOLID(单责任、开闭、Liskov替换、接口隔离、依赖反转)
项目结构
src/main/java/user/jakecarr/-主要源代码
- .../config/ -弹簧配置 - .../main/ -具有主要方法的类 - .../model/ -域模型和接口 - .../model/impl/ -MCP组件的实现 - .../service/ -业务逻辑和服务
docs/api/-API文件
- prompts.md -支持提示的文档 - resources.md -支持资源的文档 - tools.md -支持工具的文档
代码质量
代码库遵循高质量标准:
- 结构良好的代码 明确分离关注点
- 全面的文件 所有类和方法都有Javadoc注释
- 模块化设计 具有抽象基类和接口
- 一致的错误处理 正确记录
- 可维护架构 使用提取的方法和辅助函数
- 干净的代码实践 包括:
- 描述性命名约定 - 单一职责原则 - DRY(不要重复自己)原则 - 正确封装
建立和运行
先决条件
- Java 21或更高版本
- Maven 3.6或更高版本
- MCP Java SDK 0.8.1(位于
C:/Users/jayes/vscode/java-sdk-0.8.1/java-sdk-0.8.1.jar)
建设项目
# Clone the repository
git clone https://github.com/yourusername/mcp-server-factory.git
cd mcp-server-factory
# Build the project
mvn clean package运行服务器
# Run the server
java -jar target/mcp-server-factory-1.0-SNAPSHOT-jar-with-dependencies.jar运行测试
# Run the tests
mvn test开发指南
- 核心业务逻辑不得依赖于Spring
- Spring注释仅在配置包中
- src/main/java中没有模拟
- 无递归
- 测试应包括超时
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 运行测试
- 提交拉取请求
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
