MCP插件3.0 本地MCP文档
目前仅供娱乐,不如使用E2TXT增强版互转了。
本插件可实现通过外部软件以 MCP 服务器方式操控易语言 IDE。
使用前提
- 使用必须启用内联汇编支持库。
- 将插件放到助手插件目录下:
易语言目录\lib\iDraw\eTools\Plugin\MCP.dll(视觉库)
- 或
易语言目录\lib\eTools\Plugin\MCP.dll
- 然后在助手插件设置中启用。
接入 MCP 客户端
在 Cherry Studio、Codex 等支持 MCP 的软件中新增 MCP:
- 类型:
流式HTTP
- URL:启动 IDE 的时候会输出类似于:
http://127.0.0.1:2334/mcp
说明:
- 下表按当前项目代码中的
批量添加工具_* 分组整理。
可用状态 仅表示当前实现状态;其中 条件可用 仍可能受 IDE 当前页面、支持库状态或交互流程影响。
程序配置
| 方法 |
说明 |
可用状态 |
add_cond_macro |
新增条件编译宏。 |
可用 |
get_active_cond_macro |
读取当前激活条件编译宏。 |
可用 |
get_cond_macro_detail |
读取条件编译宏详情。参数:index/name。 |
可用 |
get_program_config |
读取程序配置与元信息。 |
可用 |
list_cond_macros |
列出条件编译宏。 |
可用 |
remove_cond_macro |
删除条件编译宏。参数:index/name。 |
可用 |
set_active_cond_macro |
设置当前激活条件编译宏,起始0。 |
可用 |
set_cond_macro_name |
修改条件编译宏名称。参数:index/name/new_name。 |
可用 |
set_cond_macro_value |
修改条件编译宏值。参数:index/name/value。 |
可用 |
set_program_author |
设置程序作者。参数:author。 |
可用 |
set_program_contact_info |
设置程序联系信息。参数:zip_code/address/phone/fax/email/homepage/copyright。 |
可用 |
set_program_desc |
设置程序描述。参数:desc。 |
可用 |
set_program_name |
设置程序名称。参数:name。 |
可用 |
set_program_version |
设置程序版本。参数:version_text 或 major/minor/build/revise。 |
可用 |
全局变量
| 方法 |
说明 |
可用状态 |
add_global_variable |
新增全局变量。当前版本暂不支持。 |
暂不支持 |
get_global_variable_detail |
按 index/name 读取全局变量详情。 |
可用 |
jump_to_global_variable |
跳转到全局变量。参数:index/name。 |
可用 |
list_global_variables |
列出全局变量。 |
可用 |
rename_global_variable |
重命名全局变量。建议参数:index;新名称用 new_name,也兼容 name;按名称定位时用 source_name/old_name。 |
可用 |
set_global_variable_comment |
设置全局变量注释。参数:index/name/comment。 |
可用 |
set_global_variable_public |
设置全局变量公开状态。参数:index/name/is_public。 |
可用 |
set_global_variable_type |
设置全局变量类型。参数:index/name/datatype_id/datatype_name。 |
可用 |
数据类型
| 方法 |
说明 |
可用状态 |
add_datatype |
新增数据类型。当前版本 InlineAssembler.fne 未导出 ia_datatype_add。 |
底层未导出 |
add_datatype_member |
新增数据类型成员。参数:id/index/name/comment/datatype_id/datatype_name/is_reference/array_size。 |
可用 |
get_datatype_detail |
按 id/index 读取自定义数据类型详情。 |
可用 |
jump_to_datatype |
跳转到自定义数据类型。参数:id/index。 |
可用 |
list_available_types |
列出可用数据类型,包含易语言内置类型和自定义数据类型。 |
可用 |
list_datatypes |
列出自定义数据类型。 |
可用 |
remove_datatype |
删除数据类型。参数:id/index。 |
可用 |
set_datatype_public |
设置数据类型公开状态。参数:id/index/is_public。 |
可用 |
update_datatype_member |
修改数据类型成员。参数:id/index/member_index/name/datatype_id/datatype_name/is_reference。 |
可用 |
程序集
| 方法 |
说明 |
可用状态 |
add_assembly |
新增程序集。当前版本 InlineAssembler.fne 未导出 ia_assembly_add。 |
底层未导出 |
get_assembly_detail |
按 id/index/name 读取程序集详情。 |
可用 |
jump_to_assembly |
跳转到程序集。参数:id/index/name。 |
可用 |
list_assemblies |
列出程序集。 |
可用 |
rename_assembly |
重命名程序集。建议参数:id 或 index;新名称用 new_name,也兼容 name;按名称定位时用 source_name/old_name。 |
可用 |
set_assembly_base_type |
设置程序集基类。参数:id/index/name/base_type_id/base_type_name。 |
可用 |
set_assembly_comment |
设置程序集注释。参数:id/index/name/comment。 |
可用 |
set_assembly_public |
设置程序集公开状态。参数:id/index/name/is_public。 |
可用 |
子程序
| 方法 |
说明 |
可用状态 |
add_subprogram |
新增子程序。参数:name/comment/epk/return_type_id/return_type_name/assembly_id/is_public。 |
可用 |
add_subprogram_local_variable |
新增局部变量。当前版本 InlineAssembler.fne 未导出 ia_func_add_variable。 |
底层未导出 |
add_subprogram_param |
新增子程序参数。当前版本 InlineAssembler.fne 未导出 ia_func_add_param。 |
底层未导出 |
get_subprogram_detail |
按 id/index/name 读取子程序详情。 |
可用 |
insert_subprogram |
新增子程序,add_subprogram 的别名。 |
可用 |
jump_to_subprogram |
跳转到子程序。参数:id/index/name。 |
可用 |
list_subprograms |
列出子程序。 |
可用 |
remove_subprogram |
删除子程序。参数:id/index/name。 |
可用 |
remove_subprogram_local_variable |
删除局部变量。当前版本 InlineAssembler.fne 未导出 ia_func_remove_variable。 |
底层未导出 |
remove_subprogram_param |
删除子程序参数。当前版本 InlineAssembler.fne 未导出 ia_func_remove_param。 |
底层未导出 |
rename_subprogram |
重命名子程序。建议参数:id 或 index;新名称用 new_name,也兼容 name;按名称定位时用 source_name/old_name。 |
可用 |
set_subprogram_comment |
设置子程序注释。参数:id/index/name/comment。 |
可用 |
set_subprogram_return_type |
设置子程序返回值类型。参数:id/index/name/datatype_id/datatype_name。 |
可用 |
常量资源
| 方法 |
说明 |
可用状态 |
add_bool_constant |
新增布尔常量。参数:name/value/comment/is_public。 |
可用 |
add_image_resource |
新增图片资源。参数:name/path/comment/is_public。 |
可用 |
add_number_constant |
新增数值常量。参数:name/value/comment/is_public。 |
可用 |
add_sound_resource |
新增声音资源。参数:name/path/comment/is_public。 |
可用 |
add_text_constant |
新增文本常量。参数:name/value/comment/is_public/is_long。 |
可用 |
add_time_constant |
新增时间常量。参数:name/value/comment/is_public。 |
可用 |
get_constant_resource_detail |
按 index/name 读取常量资源详情。 |
可用 |
list_constant_resources |
列出常量和资源。 |
可用 |
remove_constant_resource |
删除常量或资源。参数:index/name。 |
可用 |
update_constant_value |
修改常量值。参数:index/name/value_kind/value,value_kind=text/number/bool/time。 |
可用 |
IDE操作
| 方法 |
说明 |
可用状态 |
allocate_memory |
申请内存。参数:size。 |
可用 |
compile_project |
编译当前工程。参数:file_path 可空,空时沿用之前编译路径;compile_mode 可选 普通编译/静态编译/黑月编译/独立编译。 |
条件可用(可能弹窗或运行工程) |
free_memory |
释放内存。参数:ptr。 |
可用 |
get_active_editor_info |
读取活动编辑器信息。 |
可用 |
get_completion_candidates |
读取补全候选对象。参数:keyword/match_type/assembly_id/subprogram_id。 |
可用 |
get_cursor_info |
读取光标信息。 |
可用 |
get_debug_process_info |
读取调试进程信息。 |
可用 |
get_debug_status |
读取当前运行和调试状态。 |
可用 |
get_debug_thread_info |
读取调试线程信息。 |
可用 |
get_ide_info |
读取 IDE 基础信息。 |
可用 |
get_process_handle_info |
读取进程句柄信息。 |
可用 |
get_run_status_detail |
读取运行状态详情。 |
可用 |
get_snapshot |
读取当前 IDE 快照。 |
可用 |
get_source_info |
读取当前源码和程序信息。 |
可用 |
get_support_library_loaded_detail |
读取已加载支持库详情。参数:index。 |
可用 |
get_thread_handle_info |
读取线程句柄信息。 |
可用 |
import_module |
导入模块到当前源码。参数:path。 |
可用 |
is_support_library_loaded |
判断支持库是否已加载。参数:name。 |
可用 |
list_completion_candidates |
仅读取补全候选列表。参数:keyword/match_type/assembly_id/subprogram_id。 |
可用 |
list_loaded_support_libraries |
列出已加载支持库。 |
可用 |
list_modules |
列出当前项目已导入模块。 |
可用 |
list_support_libraries |
列出当前源码引用支持库。 |
可用 |
list_symbols |
列出主要符号总表。 |
可用 |
load_support_library |
加载支持库。参数:name。 |
条件可用(受支持库状态影响) |
output_text |
向易语言 IDE 输出窗口输出文本。参数:text。 |
可用 |
read_selection |
读取当前选区或当前行文本。 |
可用 |
read_symbol |
按 kind/id/index/name 读取符号详情;当前仅活动子程序可回填 body_text。 |
可用 |
remove_module |
按索引移除已导入模块。参数:index。 |
条件可用(需先确定导入项) |
rename_symbol |
按 kind 重命名符号。参数:kind;建议用 id/index 定位;新名称用 new_name,也兼容 name;可选 source_name/oldname/control*。 |
可用 |
run_project |
调试运行当前工程。 |
条件可用(可能弹窗或运行工程) |
search_project |
按 keyword 搜索程序集、子程序、DLL命令、数据类型和全局变量。 |
可用 |
unload_support_library |
卸载支持库。参数:name。 |
条件可用(受支持库状态影响) |
unload_unused_support_libraries |
卸载当前源码未引用的支持库。 |
条件可用(受支持库状态影响) |
DLL命令
| 方法 |
说明 |
可用状态 |
add_dll_command |
新增 DLL 命令。参数:name/module/entry_name/return_type_id/return_type_name/is_public。 |
可用 |
add_dll_param |
新增 DLL 参数。当前版本 InlineAssembler.fne 未导出 ia_dll_func_param_add。 |
底层未导出 |
get_dll_command_detail |
按 id/index/name 读取 DLL 命令详情。 |
可用 |
jump_to_dll_command |
跳转到 DLL 命令。参数:id/index/name。 |
可用 |
list_dll_commands |
列出 DLL 命令。 |
可用 |
remove_dll_command |
删除 DLL 命令。参数:id/index/name。 |
可用 |
remove_dll_param |
删除 DLL 参数。当前版本 InlineAssembler.fne 未导出 ia_dll_func_param_remove。 |
底层未导出 |
rename_dll_command |
重命名 DLL 命令。建议参数:id 或 index;新名称用 new_name,也兼容 name;按名称定位时用 source_name/old_name。 |
可用 |
set_dll_entry_name |
设置 DLL 入口名。参数:id/index/name/entry_name。 |
可用 |
set_dll_module_name |
设置 DLL 模块名。参数:id/index/name/module。 |
可用 |
窗口控件
| 方法 |
说明 |
可用状态 |
get_active_window |
读取当前激活设计窗口。 |
条件可用(需活动设计窗口) |
get_window_detail |
按 id/index/name 读取窗口详情。 |
可用 |
jump_to_active_window |
跳转到当前激活窗口。 |
条件可用(需活动设计窗口) |
jump_to_window |
跳转到窗口。参数:id/index/name。 |
可用 |
list_selected_controls |
列出当前选中控件。 |
条件可用(需活动设计窗口) |
list_windows |
列出窗口和控件概览。 |
可用 |
rename_control |
重命名控件。参数:control_id/control_index/control_name/new_name,也兼容 name。 |
条件可用(需活动设计窗口) |
select_all_controls |
全选当前窗口控件。 |
条件可用(需活动设计窗口) |
select_control |
选择控件。参数:control_id/control_index/control_name。 |
条件可用(需活动设计窗口) |
set_control_comment |
设置控件注释。参数:control_id/control_index/control_name/comment。 |
条件可用(需活动设计窗口) |
set_control_datatype |
设置控件数据类型。参数:control_id/control_index/control_name/datatype_id/datatype_name。 |
条件可用(需活动设计窗口) |
unselect_control |
取消选择控件。参数:control_id/control_index/control_name。 |
条件可用(需活动设计窗口) |
待实现
| 方法 |
说明 |
可用状态 |
append_subprogram_code |
预留:向子程序末尾追加代码。 |
待实现 |
apply_text_edit |
预留:应用单个文本编辑。 |
待实现 |
apply_text_edits_batch |
预留:批量应用文本编辑。 |
待实现 |
find_callees |
预留:查找被调用目标。 |
待实现 |
find_callers |
预留:查找调用者。 |
待实现 |
find_references |
预留:查找符号引用。 |
待实现 |
format_subprogram |
预留:格式化子程序代码。 |
待实现 |
get_build_result |
预留:读取最近一次编译结果。 |
待实现 |
get_change_log |
预留:读取 MCP 写操作变更日志。 |
待实现 |
get_designer_status |
预留:读取设计器状态。 |
待实现 |
get_diagnostics |
预留:读取诊断信息。 |
待实现 |
get_project_model |
预留:读取结构化项目模型摘要。 |
待实现 |
insert_source_text |
预留:插入源码文本。 |
待实现 |
insert_subprogram_code |
预留:向子程序插入代码。 |
待实现 |
is_designer_active |
预留:判断当前是否有活动设计窗口。 |
待实现 |
list_symbol_usages |
预留:列出符号用法。 |
待实现 |
preview_text_edit |
预留:预览文本编辑。 |
待实现 |
read_file_range |
预留:read_source_range 的别名。 |
待实现 |
read_source_range |
预留:读取源码指定行范围。 |
待实现 |
read_subprogram_body |
预留:读取子程序正文。 |
待实现 |
replace_source_range |
预留:替换源码指定范围。 |
待实现 |
replace_subprogram_body |
预留:替换子程序正文。 |
待实现 |
resolve_datatype |
预留:解析数据类型 ID 与名称。 |
待实现 |
resolve_symbol |
预留:按名称或 ID 解析符号。 |
待实现 |
undo_change |
预留:按 change_id 回滚变更。 |
待实现 |
|