mcp-server-computer

jasonlat-dot/mcp-server-computer

3.2

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 文件的完整路径

路径配置注意事项

  1. Windows 系统:路径中的反斜杠需要转义,使用 \\ 表示 \
  2. macOS/Linux 系统:使用正斜杠 /,路径示例:
    "/Users/{用户名}/.m2/repository/com/jasonlat/computer-mcp-server/1.0/computer-mcp-server-1.0.jar"
    
  3. 相对路径:也可以使用相对路径,但建议使用绝对路径确保稳定性

使用方法

启动服务器

方式一:通过 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                                            # 项目说明文档

开发说明

核心组件

  1. ComputerMcpServerApplication:Spring Boot 主启动类,配置 MCP 工具回调提供者
  2. ComputerService:核心业务服务,使用 @Tool 注解标记 MCP 工具方法
  3. ComputerFunctionRequest/Response:请求和响应的数据传输对象

扩展开发

要添加新的功能,可以在 ComputerService 中添加新的方法,并使用 @Tool 注解标记:

@Tool(name = "newFunction", description = "新功能描述")
public ResponseType newFunction(RequestType request) {
    // 实现新功能
    return response;
}

故障排除

常见问题

  1. JAR 文件找不到

    • 确保已执行 mvn clean install
    • 检查 JAR 文件路径是否正确
    • 验证文件权限
  2. Java 版本不兼容

    • 确保使用 Java 17 或更高版本
    • 检查 JAVA_HOME 环境变量
  3. 端口冲突

    • MCP 服务器使用标准输入输出,通常不会有端口冲突
    • 如果有问题,检查防火墙设置

日志查看

日志文件位置:./data/mcp/mcp-server-computer.log

# 查看日志
tail -f ./data/mcp/mcp-server-computer.log

贡献指南

  1. Fork 本项目
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启 Pull Request

许可证

本项目采用 MIT 许可证 - 查看 文件了解详情。

联系方式

更新日志

v1.0.0 (2024-01-XX)

  • 初始版本发布
  • 实现基本的计算机配置信息获取功能
  • 支持 Windows、macOS、Linux 系统
  • 提供完整的 MCP 服务器实现示例