使用说明
MCP HTA — 基于文件共享(中小型企业)的JSON-RPC 服务器/客户端
此存储库没有外部运行时HTA(mshta.exe, JScript)通过文件共享(SMB)JSON-RPC 是系统。
构成
mcp_server.hta—基于文件的JSON-RPC 服务器mcp_client.hta— JSON-RPC 客户机(incoming/将条目添加到文档注册表outgoing/轮询)mcp_config.json—共享文件夹和行为参数tools/—服务器端工具(自动加载和自动注册)register.js—方法注册表(registerMethod,listTools)loader.js—tools/属下.js自动检测,从注释信息注册
目录(共享位置)
incoming/-客户端-服务器请求(.msg)outgoing/-服务器-客户端响应(<id>.response.json)processed/—服务器已处理.msg移动
结构(基于文件JSON-RPC)
- 客户机JSON-RPC 2.0 请求符合
incoming/的<id>.msg中所述修改相应参数的值.tmp→重命名)。 - 服务器
incoming/轮询并处理请求outgoing/<id>.response.json导出(.tmp→重命名)。 - 客户机
outgoing/我的<id>.response.json中所述修改相应参数的值。
服务器JSON-RPC 2.0 的错误代码:
- -32700分析错误
- -32600无效请求
- -32601找不到方法
- -32602无效参数
- -32603内部错误
设定(mcp_config.json)
{
"sharedPath": ".", // 共有フォルダ(. はカレント)
"pollInterval": 1000, // ポーリング間隔(ms)
"encoding": "utf-8" // 文字コード
}
自动注册工具(tools/loader.js)
tools/ 属下 .js 将从第一个注释的元信息自动注册。document.write 而需要与环境混合的每条反射光线,进行环境采样。
注释示例(标题)
/*
Tool: excel/read
Description: Read Excel cells with absolute positions; optional formula/style.
Params: {path, sheet?, range?, formulas?, styles?} or [path, sheet?, range?, formulas?, styles?]
Returns: {sheet, range, anchor, size, cells[]}
Example: {path:"C:\\file.xlsx", sheet:"Sheet1", range:"A1:C3"}
Example: ["C:\\file.xlsx", "Sheet1", "A1:C3", true, true]
*/
function readExcel(params){ /* ... */ }
// 推奨: 明示引数で定義(loader が自動でマッピング)
// function readExcel(path, sheet, range, formulas, styles){ /* ... */ }
积分
- 工具名称以斜线分隔(例如:
core/echo,excel/read,excel/write) - 文件中的第一个
function 関数名(...)检测并自动注册 - 自动参数映射(对象/数组-函数参数)
params排列-直接fn.apply(null, params)params对象-签名params[引数名]映射- 向后兼容:一个参数,名称为
params/p/arg/args在…的情况下params原封不动地交给
- 注册表(
register.js)description/params/returns加上examples保存 listTools啊examples的明细栏样式中定义的设置
可用工具(示例)
-
core/echo — 按原样返回输入
- 例: params:
{ "hello": "world" }
- 例: params:
-
core/sum — 2 一个数字的和(数组)or 对象格式
- 例: params:
[1,2]/{a:1,b:2}
- 例: params:
-
core/time — 现在时刻の文字列
-
excel/sheets/read — Excel 装入单元格(位置,可选公式/样式)
-
excel/sheets/write — 在指定地址时写入值/公式/样式(有保存标志)
-
excel/sheets/list — 按数组返回指定工作簿的工作表名称
-
excel/sheets/add — 添加新工作表(名称/位置指定和保存标志)
-
file/list — 目录列表(可通配符)
-
file/read — 文本文件导入(OS默认代码页)
-
file/write — 文本文件写入(OS默认代码页,覆盖)
-
file/stat — 文件/文件夹信息(类别、大小、日期时间等)
-
file/mkdir — 文件夹创建(递归创建)
-
file/delete — 文件/文件夹删除(文件夹为recursive=true 必需的
Excel 系是Windows + Excel COM 中所述方法的备选方法Excel.Application)。
送受信例(JSON-RPC)
请求
{
"jsonrpc": "2.0",
"id": "1234",
"method": "core/sum",
"params": [1, 2]
}
响应
{
"jsonrpc": "2.0",
"id": "1234",
"result": 3
}
使用方法(步骤)
mcp_server.hta中所述修改相应参数的值。mcp_client.hta启动方法名称和params 输入并发送(如果有对应的工具)Examples 查看项目中可用的所有族。- 客户端自动
outgoing/,接收并显示相应的响应。
补足
- 文件写入
.tmp→用重命名原子性地进行。 - 在实际操作中,请确认共享权限网络的稳定性。
