jasonlat-dot/mcp-server-computer
If you are the rightful owner of mcp-server-computer and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
Computer MCP Server is a Spring Boot-based server designed to retrieve computer system configuration information.
Computer MCP Server
一个基于 Spring Boot 的 MCP (Model Context Protocol) 服务器,用于获取计算机系统配置信息。
项目简介
Computer MCP Server 是一个入门级的 MCP 服务器实现案例,展示了如何使用 Spring AI 框架构建 MCP 服务器。该服务器提供了获取计算机系统信息的功能,包括操作系统信息、硬件配置、用户信息等。
功能特性
- 🖥️ 系统信息获取:获取操作系统名称、版本、架构等基本信息
- 👤 用户信息:获取当前用户名、主目录、工作目录等
- ☕ Java 环境:获取 Java 运行时版本信息
- 🔧 跨平台支持:支持 Windows、macOS、Linux 系统
- 📊 详细硬件信息:根据不同操作系统获取详细的硬件配置信息
技术栈
- Java 17:项目运行环境
- Spring Boot 3.4.3:应用框架
- Spring AI 1.0.0-M6:MCP 服务器支持
- Lombok:简化 Java 代码
- FastJSON:JSON 处理
- Maven:项目构建工具
快速开始
环境要求
- Java 17 或更高版本
- Maven 3.6 或更高版本
- Git
安装步骤
1. 克隆项目
git clone https://github.com/jasonlat-dot/mcp-server-computer
cd computer-mcp-server
2. 编译项目
# 清理并编译项目
mvn clean compile
# 运行测试
mvn test
# 打包项目
mvn clean package
编译成功后,会在 target
目录下生成 computer-mcp-server-1.0.jar
文件。
3. 安装到本地 Maven 仓库
mvn clean install
安装成功后,JAR 文件会被复制到本地 Maven 仓库中,通常位于:
- Windows:
C:\Users\{用户名}\.m2\repository\com\jasonlat\computer-mcp-server\1.0\
- macOS/Linux:
~/.m2/repository/com/jasonlat/computer-mcp-server/1.0/
MCP 服务器配置
配置文件示例
在你的 MCP 客户端配置文件中添加以下配置:
{
"mcpServers": {
"mcp-server-computer": {
"command": "java",
"args": [
"-Dspring.ai.mcp.server.stdio=true",
"-Dlogging.file.name=./data/mcp/${spring.application.name}.log",
"-jar",
"C:\\Users\\Administrator\\.m2\\repository\\com\\jasonlat\\computer-mcp-server\\1.0\\computer-mcp-server-1.0.jar"
]
}
}
}
配置参数说明
command
: 启动命令,使用java
命令args
: 启动参数数组-Dspring.ai.mcp.server.stdio=true
: 启用标准输入输出模式-Dlogging.file.name=./data/mcp/${spring.application.name}.log
: 设置日志文件路径-jar
: 指定运行 JAR 文件- 最后一个参数是 JAR 文件的完整路径
路径配置注意事项
- Windows 系统:路径中的反斜杠需要转义,使用
\\
表示\
- macOS/Linux 系统:使用正斜杠
/
,路径示例:"/Users/{用户名}/.m2/repository/com/jasonlat/computer-mcp-server/1.0/computer-mcp-server-1.0.jar"
- 相对路径:也可以使用相对路径,但建议使用绝对路径确保稳定性
使用方法
启动服务器
方式一:通过 MCP 客户端启动
配置好 MCP 客户端后,服务器会自动启动。
方式二:直接运行 JAR 文件
java -Dspring.ai.mcp.server.stdio=true -jar target/computer-mcp-server-1.0.jar
API 功能
queryComputerConfig - 获取电脑配置
功能描述:获取当前计算机的系统配置信息
请求参数:
{
"computer": "电脑名称或标识"
}
响应示例:
{
"osName": "Windows 11",
"osVersion": "10.0",
"osArch": "amd64",
"userName": "Administrator",
"userHome": "C:\\Users\\Administrator",
"userDir": "C:\\project\\computer-mcp-server",
"javaVersion": "17.0.2",
"osInfo": "详细的系统硬件信息..."
}
项目结构
computer-mcp-server/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── com/jasonlat/mcp/server/computer/
│ │ │ ├── ComputerMcpServerApplication.java # 主启动类
│ │ │ └── domain/
│ │ │ ├── model/
│ │ │ │ ├── ComputerFunctionRequest.java # 请求实体
│ │ │ │ └── ComputerFunctionResponse.java # 响应实体
│ │ │ └── service/
│ │ │ └── ComputerService.java # 核心服务类
│ │ └── resources/
│ │ └── application.yml # 配置文件
│ └── test/
├── target/ # 编译输出目录
├── pom.xml # Maven 配置文件
└── README.md # 项目说明文档
开发说明
核心组件
- ComputerMcpServerApplication:Spring Boot 主启动类,配置 MCP 工具回调提供者
- ComputerService:核心业务服务,使用
@Tool
注解标记 MCP 工具方法 - ComputerFunctionRequest/Response:请求和响应的数据传输对象
扩展开发
要添加新的功能,可以在 ComputerService
中添加新的方法,并使用 @Tool
注解标记:
@Tool(name = "newFunction", description = "新功能描述")
public ResponseType newFunction(RequestType request) {
// 实现新功能
return response;
}
故障排除
常见问题
-
JAR 文件找不到
- 确保已执行
mvn clean install
- 检查 JAR 文件路径是否正确
- 验证文件权限
- 确保已执行
-
Java 版本不兼容
- 确保使用 Java 17 或更高版本
- 检查
JAVA_HOME
环境变量
-
端口冲突
- MCP 服务器使用标准输入输出,通常不会有端口冲突
- 如果有问题,检查防火墙设置
日志查看
日志文件位置:./data/mcp/mcp-server-computer.log
# 查看日志
tail -f ./data/mcp/mcp-server-computer.log
贡献指南
- Fork 本项目
- 创建特性分支 (
git checkout -b feature/AmazingFeature
) - 提交更改 (
git commit -m 'Add some AmazingFeature'
) - 推送到分支 (
git push origin feature/AmazingFeature
) - 开启 Pull Request
许可证
本项目采用 MIT 许可证 - 查看 文件了解详情。
联系方式
更新日志
v1.0.0 (2024-01-XX)
- 初始版本发布
- 实现基本的计算机配置信息获取功能
- 支持 Windows、macOS、Linux 系统
- 提供完整的 MCP 服务器实现示例