返回市场
统一MCP

统一MCP

作者:mika-f5 星标更新:2025-07-05

项目介绍

uMCP

uMCP 是 MCP 协议的一种服务器实现,旨在与 Unity 中的 AI 进行交互。 它是一个简约且高效的服务器,可用于连接 AI 代理到 Unity 应用程序。

功能

  • 安全性:uMCP 不允许 AI 执行任意代码,并且所有操作只能通过预先授权的操作进行。
  • 可扩展性:uMCP 设计为易于扩展,允许您通过 McpServerToolTypeMcpServerTool 属性添加自己的自定义命令和操作。
    • 您可以在 Assets/NatsunekoLaboratory/ModelContextProtocol/ManagementTools 目录中找到示例。

工作原理(与其他 MCP 实现的不同之处)

uMCP 可以直接使用流式 HTTP 协议与 MCP 客户端通信,无需其他依赖项。 这使得其实现比依赖于 Python、Node.js 或其他语言运行时的其他 MCP 服务器更高效且轻量级。

您的 MCP 客户端 <-- 流式 HTTP --> uMCP 服务器

安装

先决条件

  • Unity 编辑器:版本 2022.3 LTS 或更新版本。
  • MCP 客户端必须支持流式 HTTP(例如,VSCode Agent 模式、Cursor、CLINE 等)。

1. 安装核心框架

使用 Unity 包管理器

  1. openupm add com.natsuneko.modelcontextprotocol.core-framework
  2. 打开您的 Unity 项目。

使用 Git URL

  1. 打开您的 Unity 项目。
  2. 转到 窗口 > 包管理器
  3. 点击 + 并选择 从 Git URL 添加包...
  4. 输入 URL:
    https://github.com/mika-f/uMCP.git?path=/Assets/NatsunekoLaboratory/ModelContextProtocol/CoreFramework
    
  5. 点击 添加
  6. 当您运行 Unity 项目时,MCP 服务器会自动启动。

2. 安装管理工具(和其他包)

使用 Unity 包管理器

  • openupm add com.natsuneko.modelcontextprotocol.management-tools
  • openupm add com.natsuneko.modelcontextprotocol.vrchat-world-tools

使用 Git URL

  1. 打开您的 Unity 项目。
  2. 转到 窗口 > 包管理器
  3. 点击 + 并选择 从 Git URL 添加包...
  4. 输入 URL:
    https://github.com/mika-f/uMCP.git?path=/Assets/NatsunekoLaboratory/ModelContextProtocol/MagagementTools
    
  5. 点击 添加

3. 配置您的 MCP 客户端

将支持流式 HTTP 的 MCP 客户端(如 VSCode Agent 模式、Cursor、CLINE 等)连接到 MCP 服务器。

http://localhost:7225/sse
# 或
http://localhost:7225/mcp

VSCode Agent 模式的示例:

{
  "servers": {
    "uMCP": {
      "url": "http://localhost:7225/mcp"
    }
  }
}

使用方法

  1. 打开您的 Unity 项目。
  2. 启动您的 MCP 客户端(如 VSCode Agent 模式、Cursor、CLINE 等)。
  3. 互动!您的 MCP 客户端现在应该能够与 Unity 应用程序通信。

扩展

您可以通过创建自己的自定义命令和操作来扩展 uMCP。

using System;
using System.ComponentModel;

using NatsunekoLaboratory.ModelContextProtocol.CoreFramework.Attributes;
using NatsunekoLaboratory.ModelContextProtocol.CoreFramework.Models;
using NatsunekoLaboratory.ModelContextProtocol.CoreFramework.Protocol.Abstractions;
using NatsunekoLaboratory.ModelContextProtocol.CoreFramework.Protocol.Interfaces;

namespace NatsunekoLaboratory.Examples.MyCustomCommands
{
    [McpServerToolType]
    public class MyCustomCommand
    {
        [McpServerTool]
        [Description("这是一个执行某些操作的自定义命令。")]
        public static IToolResult Execute([Description("自定义命令的一个示例参数。")] string exampleParameter)
        {
            // 自定义命令逻辑在此处
            return new TextResult($"执行了带有参数的自定义命令:{exampleParameter}");
        }
    }
}

许可证

MIT 许可证,由 @6jz 提供