Token导航 LogoToken导航TokenDH.com
Delphi MCP logo
AI代理未说明官方级别未说明来源级核验

Delphi MCP

MCP Server

DelphiMCP是一个用于构建MCP(模型上下文协议)服务器的框架,提供VCL自动化工具,支持视觉检查、控制交互、键盘/鼠标操作等功能,适用于Delphi应用程序的AI驱动自动化。

工具数

0

提示词数

0

GitHub Stars

17

资源数

0
AI驱动ClaudeAI代理Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

JavierusTk

提供方

JavierusTk

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

DelphiMCP-Delphi模型上下文协议框架

![License: MPL 2.0](https://opensource.org/licenses/MPL-2.0) ](https://www.embarcadero.com/products/delphi) ![Platform](https://www.microsoft.com/windows) ](https://github.com/JavierusTk/DelphiMCP/issues) ![PRs Welcome](CONTRIBUTING.md) ![Status](https://github.com/JavierusTk/DelphiMCP)

Delphi中构建MCP(模型上下文协议)服务器的半成品框架

版本3.3.0-增强模态支持 模态窗口自动化现在支持{SPACE}键和增强的焦点检测。有关详细信息,请参阅CHANGELOG.md。

概述

DelphiMCP是一个 正在进行的通用VCL自动化框架 对于Delphi应用程序,通过模型上下文协议(MCP)实现AI驱动的自动化。

这是什么:

  • 自动化框架:30个VCL自动化专业工具(目视检查、控制交互、键盘/鼠标、同步)
  • MCP电桥:通过HTTP/SSE和命名管道将框架连接到Claude Code
  • 在开发中:与CyberMAX ERP系统一起开发
  • 独立:除了Delphi RTL/VCL之外没有外部依赖关系

当前状态:

  • 模态窗口支持 -现在使用{SPACE}键支持非VCL对话框(MessageDlg、TOpenDialog)
  • 增强焦点检测 -ui_focus_get现在显示按钮标题和控件类型
  • 三层焦点管理 -Windows 11上可靠的窗口激活
  • ⚠️ 进行中 -一些边缘病例可能需要人工干预

架构组件

此存储库包含三个主要组件:

  1. 自动化工具 (初级产品)

- 地点: Source/AutomationTools/ - 2封装架构: - 自动化桥 (13个基础设施单元):配置、日志记录、注册表、服务器、实用程序 - 自动化工具 (30个自动化工具):目视检查、控制交互、键盘/鼠标、同步 - JSON-RPC命名管道服务器 - 独立式VCL自动化(约6000条生产线) - 线程安全VCL交互 - 适用于任何Delphi VCL应用程序

  1. MCPBridge

- 地点: Source/MCPbridge/ - HTTP/SSE服务器(连接到Claude Code) - 动态工具代理(通过命名管道转发调用) - 9个附加实用工具(调试捕获等) - 基于Delphi MCP Server框架构建

  1. 示例应用程序

- 地点: Examples/SimpleVCLApp/ - 演示框架集成 - 显示典型使用模式 - 准备运行和测试

主要特点

  • 30个自动化工具 -目视检查、控制交互、键盘/鼠标、同步
  • 模态窗口支持 -完全支持非VCL对话框(MessageDlg、TOpenDialog)
  • 增强焦点检测 -ui_focus_get显示按钮标题和控件类型(v3.3.0)
  • {SPACE}关键支持 -Windows对话框中的正确按钮激活(v3.3.0)
  • 独立 -Delphi RTL/VCL之外没有外部依赖
  • 易于集成 -双线设置: RegisterCoreAutomationTools; StartAutomationServer;
  • 线程安全 -所有VCL访问都通过TThread。同步
  • 可扩展 -轻松添加自定义工具
  • HTTP/MCP网桥 -无缝连接到Claude Code

工具类别

目视检查(9个工具): 截图、获取表单信息、列出打开的表单、列出控件、查找控件、获取控件、ui_get_tree_diff、ui_focus_get、ui_value_get

控制交互(7个工具): 设置控件值,ui_set_text_verified,单击按钮,选择组合项,选择选项卡,关闭窗体,设置焦点

键盘/鼠标(5个工具): ui_send_keys、ui_mouse_move、ui-mouse-click、ui_mouse_dblclick、ui_mouse_wheel

同步(4个工具): wait_idle、wait_focus、wait_text、wait_when

开发(2个工具): 分析表格taborder,列出可聚焦的表格

实用工具(2个工具): echo,列表工具

桥接工具(9个工具): 调试捕获工具、连接测试

快速集成

最小集成 (2行):

uses AutomationServer, AutomationCoreTools;
begin
  Application.Initialize;
  Application.CreateForm(TfmMain, fmMain);

  RegisterCoreAutomationTools;  // Register 30 tools
  StartAutomationServer;        // Start server

  Application.Run;
end.

依赖项

必修的:

  • 德尔福12 (RAD工作室12雅典)或更高版本
  • Delphi MCP服务器 框架(用于桥梁组件)

- 存储库:https://github.com/GDKsoftware/delphi-mcp-server - 本地路径: /mnt/w/Delphi-MCP-Server/ - HTTP/SSE服务器(使用Indy,Delphi附带) - MCP协议处理(JSON-RPC 2.0)

无其他依赖关系:

  • Automation Framework是自包含的(仅限RTL/VCL)
  • 不需要外部库或组件

5分钟快速入门

只需几个步骤,即可让DelphiMCP与Claude Code一起运行:

步骤1:克隆存储库

git clone https://github.com/JavierusTk/DelphiMCP.git
cd DelphiMCP

步骤2:配置依赖关系

  1. 安装 Delphi MCP服务器 框架
  2. 更新路径 Packages/DelphiMCP.dpk (参见 软件包/配置.md)

步骤3:构建网桥服务器

# Open in Delphi IDE
Source/MCPserver/DelphiMCPserver.dproj

# Or compile from command line
cd Source/MCPserver
dcc32 DelphiMCPserver.dpr

步骤4:运行服务器

cd Binaries
./DelphiMCPserver.exe

步骤5:连接克劳德代码

从命令行添加MCP服务器:

# Add DelphiMCP server to Claude Code configuration
claude mcp add delphi-mcp http://localhost:3001/mcp -t http

测试一下: 询问克劳德代码: *“列出delphi mcp中的可用工具”*

______________________________________________________________________

兼容性

组件版本状态注释
德尔斐12 (29.0)✅ 测试RAD Studio 12雅典
德尔斐11⚠️ 未测试应该有效,未验证
德尔斐10.4+⚠️ 未测试可能需要调整
视窗10 (1809+)✅ 支持需要Windows 10或更高版本
视窗11✅ 支持经过全面测试
Windows 服务器2019+✅ 支持支持命名管道
印地10.6+✅ 必需包含在Delphi中
MCP协议2024-11-05✅ 支持最新规格

平台说明

  • 命名管道是特定于Windows的 -此框架需要Windows
  • Indy捆绑在一起 使用Delphi-无需单独安装
  • 64位编译 支持(Win64平台)

______________________________________________________________________

详细设置

先决条件

  • 德尔福12 (RAD Studio 12)或更高版本
  • 视窗 (命名管道是特定于Windows的)
  • Delphi MCP服务器 框架

- 存储库:https://github.com/GDKsoftware/delphi-mcp-server - 使用Indy提供HTTP/SSE服务器(包含在Delphi中)

  • 目标应用程序 使用MCP服务器实现(您的Delphi应用程序)

运行DelphiMCP服务器

  1. 启动目标应用程序 (启用MCP服务器)
  1. 运行网桥服务器:
   cd Binaries
   ./DelphiMCPserver.exe
  1. 配置Claude代码:
   claude mcp add delphi-mcp http://localhost:3001/mcp -t http
  1. 测试连接:
   Claude, can you list the available tools?

建筑

Claude Code (AI Assistant)
       ↓ MCP Protocol (HTTP/SSE)
┌─────────────────────────────────────────┐
│ DelphiMCPserver.exe                     │
│                                         │
│  ┌────────────────────────────────────┐ │
│  │ Delphi-MCP-Server (HTTP/Protocol)  │ │
│  │  - HTTP/SSE Server (Indy)          │ │
│  │  - MCP JSON-RPC 2.0 handling       │ │
│  │  - Tool/Resource management        │ │
│  └────────────────────────────────────┘ │
│               ↓                         │
│  ┌────────────────────────────────────┐ │
│  │ DelphiMCP (Tools & Proxy)          │ │
│  │  - Dynamic proxy logic             │ │
│  │  - Named pipe client               │ │
│  │  - Debug capture engine            │ │
│  │  - 9 built-in tools                │ │
│  └────────────────────────────────────┘ │
└─────────────────────────────────────────┘
       ↓ Named Pipe (\\.\pipe\YourApp_MCP_Request)
Target Application (your Delphi application)
       ↓ JSON-RPC 2.0
Internal MCP Server (embedded in target)

依赖结构:

  • DelphiMCPserver.exe =Delphi MCP服务器(HTTP层)+DelphiMCP(工具/代理层)
  • Indy HTTP服务器 (包含在Delphi中)提供HTTP/SSE传输
  • 命名管道 为IPC提供目标Delphi应用程序

文档/架构.md 详细的架构。

安装

选项1:用作包装

在Delphi IDE中安装DelphiMCP包:

1. Open Packages/DelphiMCP.dpk in Delphi
2. Build the package
3. Add to your project's required packages

软件包/README.md 了解详细的安装说明。

选项2:直接来源使用(推荐)

将MCPautomationBridge包添加到您的项目中:

Project → Options → Packages → Runtime Packages
Add: MCPautomationBridge

Or add source directories to search path:
$(DelphiMCP)\Source\MCPbridge\Core;$(DelphiMCP)\Source\MCPbridge\Tools

核心组件

MCPautomationBridge软件包(源/MCPbridge)

将Delphi应用程序连接到MCP服务器的自动化桥库。

核心组件 (Source/MCPbridge/Core/):

  • MCP服务器。应用程序。DynamicProxy.pas -工具发现的动态代理
  • MCPServer。应用程序。Pipeclient.pas -为目标应用程序命名管道客户端
  • MCP。工具。适配器。Indy.pas -SharedTools集成适配器

共享工具 (从 DelphiMCPbridge/Source/SharedTools/):

Indy和mORMot服务器之间共享的后端无关工具:

  1. mcp_hello -测试连接性
  2. mcp-echo -回显消息(可选大写)
  3. mcp-time -通过格式化获取系统时间
  4. start_debug_capture -开始捕获调试输出
  5. get_debug_消息 -通过过滤检索捕获的邮件
  6. stop_debug_capture -停止捕获会话
  7. get_capture_status -获取捕获会话统计信息
  8. 缺货捕获 -暂停/恢复捕获
  9. get_process_summary -过程统计

另请参见: DelphiMCPbridge 用于共享工具的实现。

调试捕获功能

该框架包括一个强大的调试输出捕获系统:

// Start capturing debug output from all processes
start_debug_capture

// Filter by process name
get_debug_messages(processname="YourApp.exe")

// Filter by message content
get_debug_messages(messagecontains="[ERROR]")

// Filter by regex pattern
get_debug_messages(messageregex="\\[MCP\\].*")

// Get statistics
get_process_summary

文档/调试.md 以获取完整的文档。

扩展框架

添加自定义工具

  1. 在中创建新单元 Source/Tools/:
   unit MCPServer.Tool.MyCustomTool;

   interface

   uses MCPServer.Types;

   procedure RegisterMyCustomTool(Server: TMCPServer);

   implementation

   procedure RegisterMyCustomTool(Server: TMCPServer);
   begin
     Server.RegisterTool('my-custom-tool',
       procedure(Params: TJSONObject; out Result: TJSONObject)
       begin
         // Your tool implementation
       end,
       'Description of my custom tool'
     );
   end;

   end.
  1. 注册 DelphiMCPserver.dpr:
   MCPServer.Tool.MyCustomTool.RegisterMyCustomTool(Server);

连接到不同的应用程序

修改 MCPServer.Application.PipeClient.pas 管道名称:

const
  PIPE_NAME = '\\.\pipe\MyApp_MCP_Request';

配置

编辑 Examples/DelphiMCPserver/settings.ini:

[Server]
Port=3001
Host=localhost
Name=delphi-auto
Version=2.1.0
Endpoint=/mcp

[CORS]
Enabled=1
AllowedOrigins=http://localhost,http://127.0.0.1,https://localhost,https://127.0.0.1

例子

DelphiMCP服务器

Delphi应用程序的完整MCP桥示例。

特性:

  • 端口3001上的HTTP服务器
  • 命名管道通信(可配置)
  • 已注册所有9个内置工具
  • 调试捕获已启用

位置: Examples/DelphiMCPserver/

备注:示例使用 \\.\pipe\YourApp_MCP_Request 作为默认管道名称。在源代码中修改此项以匹配应用程序的管道名称。

文档

核心文件

研究文件

开发示例

该框架正在积极开发,并在现实世界的应用程序中进行测试。

开发用例:CyberMAX ERP

DelphiMCP正在与CyberMAX ERP系统一起开发,用于人工智能自动化:

规模:

  • 28个核心工具 (通过目标应用程序)
  • 9桥梁工具 (调试捕获、回声、时间)
  • 413次操作 可通过内部执行访问
  • 100+命令 通过命令处理器

当前状态:

  • ✅ 非模态形状控制和检查工作
  • ⚠️ 模态对话框导致阻塞(开发中)
  • ✅ 70%的代币优化,实现API的高效使用
  • ⚠️ 由于模式窗口限制,尚未准备好生产

注: CyberMAX是一个私有系统。该框架正在与它一起开发,并推广供公众使用。

测试

# Build the example
cd /mnt/w/Public/DelphiMCP/Examples/DelphiMCPserver/
# Use compiler-agent to compile

# Run tests
cd /mnt/w/Public/DelphiMCP/Binaries/
./DelphiMCPserver.exe

# Test with curl
curl http://localhost:3001/mcp

需求

发展

  • 德尔福12 (RAD Studio 12)或更高版本
  • Windows 10/11
  • Delphi MCP服务器 框架(必需的依赖关系)

- 地点: /mnt/w/Delphi-MCP-Server/ - 提供:HTTP/SSE服务器、MCP协议、工具管理 - 用途:Indy(包含在Delphi中)

运行时

  • Windows 10/11
  • Delphi MCP服务器 二进制文件
  • 目标应用程序 使用MCP服务器实现(您的Delphi应用程序)
  • 网络端口3001 可用(可通过settings.ini配置)

许可证

此项目根据Mozilla公共许可证2.0(MPL-2.0)获得许可。 看 许可证 文件以获取完整详细信息。

社区与支持

获取帮助

贡献

我们欢迎捐款!看 贡献.md 关于以下方面的指导方针:

  • 报告问题
  • 提交拉取请求
  • 代码风格和测试要求
  • 开发工作流程

保持更新

  • 标记此存储库 表示支持并保持更新
  • 👀 观看发布 对于新版本和功能
  • 🔔 查看存储库 关于问题和PR的通知

成功案例

在生产中使用DelphiMCP?我们很想听听!打开一个问题或讨论来分享你的经验。

版本

当前版本:v3.2.0(2025-10-12)

学分

最初是为CyberMAX ERP开发的,现在可用作通过模型上下文协议将AI助手连接到Delphi应用程序的通用框架。

关键技术:

  • 模型上下文协议(MCP)-https://modelcontextprotocol.io/
  • Delphi MCP服务器-HTTP/SSE服务器实现
  • Windows命名管道-带目标应用程序的IPC
  • Claude Code-AI编码助手集成

已知限制

关键问题

  • ⚠️ 不支持模态窗口:当通过以下方式显示模态表单时,框架当前会阻止 ShowModal()。这会影响:

- 消息框(ShowMessage、MessageDlg等) - 模态对话框(ShowModal显示的形式) - 任何阻塞UI操作 - 影响:这是一个关键的限制,在许多情况下阻碍了生产使用

次要限制

  • 单个连接:命名管道仅支持每根管道一个连接(不支持多连接)
  • 仅限Windows:命名管道是特定于Windows的(不计划跨平台支持)
  • 手动重新启动:目标应用程序重新启动时,网桥服务器需要手动重新启动

路线图

模态窗口问题是主要的发展重点。一旦解决,该框架将被视为生产就绪。

______________________________________________________________________

状态: ⚠️ 正在进行中(不支持模态窗口) 版本: 3.2 最后更新: 2025-10-12

目录标签

目录标签

AI驱动ClaudeAI代理Pascal本地部署自动化框架VCL自动化MCP协议Delphi开发

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP