项目简介

这是一个基于 Model Context Protocol (MCP) 实现的服务器端应用,专注于通过标准化接口为大型语言模型 (LLM) 客户端提供 .NET MAUI 图形绘制能力。它允许AI助理调用预定义的工具,在 MAUI 的 GraphicsView 画布上执行绘制操作,例如绘制形状、线条和文本,并能查看生成的代码。

主要功能点

  • 图形绘制工具集: 提供一系列工具,支持绘制圆形、矩形、圆角矩形、线条、路径和文本。
  • 实时可视化: 将AI生成的绘制命令直接在 .NET MAUI 应用程序的 GraphicsView 上实时渲染。
  • 代码导出: 允许将AI生成的绘制命令转换为可用的 .NET MAUI GraphicsView C# 代码并导出。
  • MCP协议支持: 实现MCP服务器端,通过标准JSON-RPC协议接收LLM客户端的工具调用请求。
  • Stdio传输: 支持通过标准输入/输出流进行通信。

安装步骤

  1. 确保已安装 .NET SDK(支持 .NET MAUI 的版本)。
  2. 克隆GitHub仓库到本地:
    git clone https://github.com/jsuarezruiz/maui-graphics-mcp-server.git
  3. 导航到项目根目录:
    cd maui-graphics-mcp-server
  4. 通过MCP客户端(如MCP Inspector)启动服务器。

服务器配置

MCP客户端连接此服务器时,需要提供服务器的启动命令和参数。配置通常是一个JSON对象,包含以下信息:

{
  "name": "MauiGraphics",
  "command": "dotnet",
  "args": ["run", "--project", "src/MauiGraphicsMcp"],
  "transport": "stdio"
}
  • 'name': 服务器的名称,例如 "MauiGraphics"。
  • 'command': 启动服务器进程的命令,此处为 'dotnet'。
  • 'args': 传递给命令的参数列表。'"run", "--project", "src/MauiGraphicsMcp"' 指示dotnet运行 'src/MauiGraphicsMcp' 目录下的项目。
  • 'transport': 服务器使用的传输协议,此处为 'stdio' (标准输入/输出)。

基本使用方法

MCP客户端(如LLM AI助理)通过JSON-RPC调用服务器暴露的工具。工具名称和描述在README和代码中的 'MauiGraphicsMcpTool.cs' 文件中定义,例如:

  • 'maui_graphics_clear': 清空画布。
  • 'maui_graphics_fill_circle': 绘制并填充圆形,需要 'x', 'y', 'radius', 'color' 参数。
  • 'maui_graphics_draw_rectangle': 绘制矩形轮廓,需要 'x', 'y', 'height', 'width', 'color', 'strokeSize' 参数。
  • 'maui_graphics_draw_string': 绘制文本,需要 'x', 'y', 'text', 'fontSize', 'fontColor' 参数。

AI助理会根据用户的请求,将意图转化为相应的工具调用及其参数,通过MCP协议发送给该服务器。服务器接收到请求后执行对应的绘制操作,并在关联的MAUI应用窗口中显示结果。

例如,一个AI助理可能会发送一个请求,调用 'maui_graphics_fill_circle' 工具,并提供圆形的位置、半径和颜色参数,从而在MAUI应用中绘制一个圆形。

信息

分类

开发者工具