glosc-mcp 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/README.md +23 -0
  2. package/build/GloscMcp.js +207 -0
  3. package/build/GloscTools.js +495 -0
  4. package/build/index.js +12 -0
  5. package/libs/7z/Linux/7zz +0 -0
  6. package/libs/7z/Linux/7zzs +0 -0
  7. package/libs/7z/Linux/History.txt +178 -0
  8. package/libs/7z/Linux/License.txt +144 -0
  9. package/libs/7z/Linux/MANUAL/cmdline/commands/add.htm +96 -0
  10. package/libs/7z/Linux/MANUAL/cmdline/commands/bench.htm +186 -0
  11. package/libs/7z/Linux/MANUAL/cmdline/commands/delete.htm +64 -0
  12. package/libs/7z/Linux/MANUAL/cmdline/commands/extract.htm +101 -0
  13. package/libs/7z/Linux/MANUAL/cmdline/commands/extract_full.htm +77 -0
  14. package/libs/7z/Linux/MANUAL/cmdline/commands/hash.htm +101 -0
  15. package/libs/7z/Linux/MANUAL/cmdline/commands/index.htm +36 -0
  16. package/libs/7z/Linux/MANUAL/cmdline/commands/list.htm +79 -0
  17. package/libs/7z/Linux/MANUAL/cmdline/commands/rename.htm +51 -0
  18. package/libs/7z/Linux/MANUAL/cmdline/commands/style.css +232 -0
  19. package/libs/7z/Linux/MANUAL/cmdline/commands/test.htm +51 -0
  20. package/libs/7z/Linux/MANUAL/cmdline/commands/update.htm +74 -0
  21. package/libs/7z/Linux/MANUAL/cmdline/exit_codes.htm +27 -0
  22. package/libs/7z/Linux/MANUAL/cmdline/index.htm +29 -0
  23. package/libs/7z/Linux/MANUAL/cmdline/style.css +232 -0
  24. package/libs/7z/Linux/MANUAL/cmdline/switches/ar_exclude.htm +58 -0
  25. package/libs/7z/Linux/MANUAL/cmdline/switches/ar_include.htm +84 -0
  26. package/libs/7z/Linux/MANUAL/cmdline/switches/ar_no.htm +52 -0
  27. package/libs/7z/Linux/MANUAL/cmdline/switches/bb.htm +61 -0
  28. package/libs/7z/Linux/MANUAL/cmdline/switches/bs.htm +67 -0
  29. package/libs/7z/Linux/MANUAL/cmdline/switches/charset.htm +61 -0
  30. package/libs/7z/Linux/MANUAL/cmdline/switches/email.htm +43 -0
  31. package/libs/7z/Linux/MANUAL/cmdline/switches/exclude.htm +81 -0
  32. package/libs/7z/Linux/MANUAL/cmdline/switches/include.htm +152 -0
  33. package/libs/7z/Linux/MANUAL/cmdline/switches/index.htm +117 -0
  34. package/libs/7z/Linux/MANUAL/cmdline/switches/large_pages.htm +60 -0
  35. package/libs/7z/Linux/MANUAL/cmdline/switches/list_tech.htm +36 -0
  36. package/libs/7z/Linux/MANUAL/cmdline/switches/method.htm +1067 -0
  37. package/libs/7z/Linux/MANUAL/cmdline/switches/output_dir.htm +53 -0
  38. package/libs/7z/Linux/MANUAL/cmdline/switches/overwrite.htm +56 -0
  39. package/libs/7z/Linux/MANUAL/cmdline/switches/password.htm +80 -0
  40. package/libs/7z/Linux/MANUAL/cmdline/switches/recurse.htm +104 -0
  41. package/libs/7z/Linux/MANUAL/cmdline/switches/sa.htm +58 -0
  42. package/libs/7z/Linux/MANUAL/cmdline/switches/scc.htm +42 -0
  43. package/libs/7z/Linux/MANUAL/cmdline/switches/scrc.htm +54 -0
  44. package/libs/7z/Linux/MANUAL/cmdline/switches/sdel.htm +39 -0
  45. package/libs/7z/Linux/MANUAL/cmdline/switches/sfx.htm +154 -0
  46. package/libs/7z/Linux/MANUAL/cmdline/switches/shared.htm +40 -0
  47. package/libs/7z/Linux/MANUAL/cmdline/switches/sni.htm +56 -0
  48. package/libs/7z/Linux/MANUAL/cmdline/switches/sns.htm +77 -0
  49. package/libs/7z/Linux/MANUAL/cmdline/switches/spf.htm +80 -0
  50. package/libs/7z/Linux/MANUAL/cmdline/switches/spm.htm +72 -0
  51. package/libs/7z/Linux/MANUAL/cmdline/switches/ssc.htm +50 -0
  52. package/libs/7z/Linux/MANUAL/cmdline/switches/stdin.htm +56 -0
  53. package/libs/7z/Linux/MANUAL/cmdline/switches/stdout.htm +54 -0
  54. package/libs/7z/Linux/MANUAL/cmdline/switches/stl.htm +39 -0
  55. package/libs/7z/Linux/MANUAL/cmdline/switches/stop_switch.htm +32 -0
  56. package/libs/7z/Linux/MANUAL/cmdline/switches/stx.htm +50 -0
  57. package/libs/7z/Linux/MANUAL/cmdline/switches/style.css +232 -0
  58. package/libs/7z/Linux/MANUAL/cmdline/switches/type.htm +146 -0
  59. package/libs/7z/Linux/MANUAL/cmdline/switches/update.htm +179 -0
  60. package/libs/7z/Linux/MANUAL/cmdline/switches/volume.htm +49 -0
  61. package/libs/7z/Linux/MANUAL/cmdline/switches/working_dir.htm +56 -0
  62. package/libs/7z/Linux/MANUAL/cmdline/switches/yes.htm +48 -0
  63. package/libs/7z/Linux/MANUAL/cmdline/syntax.htm +118 -0
  64. package/libs/7z/Linux/MANUAL/general/7z.htm +117 -0
  65. package/libs/7z/Linux/MANUAL/general/faq.htm +125 -0
  66. package/libs/7z/Linux/MANUAL/general/formats.htm +104 -0
  67. package/libs/7z/Linux/MANUAL/general/index.htm +28 -0
  68. package/libs/7z/Linux/MANUAL/general/license.htm +26 -0
  69. package/libs/7z/Linux/MANUAL/general/performance.htm +55 -0
  70. package/libs/7z/Linux/MANUAL/general/register.htm +24 -0
  71. package/libs/7z/Linux/MANUAL/general/style.css +232 -0
  72. package/libs/7z/Linux/MANUAL/general/thanks.htm +44 -0
  73. package/libs/7z/Linux/MANUAL/start.htm +38 -0
  74. package/libs/7z/Linux/MANUAL/style.css +232 -0
  75. package/libs/7z/Linux/readme.txt +100 -0
  76. package/libs/7z/README.md +1 -0
  77. package/libs/7z/macOS/7zz +0 -0
  78. package/libs/7z/macOS/History.txt +178 -0
  79. package/libs/7z/macOS/License.txt +144 -0
  80. package/libs/7z/macOS/MANUAL/cmdline/commands/add.htm +96 -0
  81. package/libs/7z/macOS/MANUAL/cmdline/commands/bench.htm +186 -0
  82. package/libs/7z/macOS/MANUAL/cmdline/commands/delete.htm +64 -0
  83. package/libs/7z/macOS/MANUAL/cmdline/commands/extract.htm +101 -0
  84. package/libs/7z/macOS/MANUAL/cmdline/commands/extract_full.htm +77 -0
  85. package/libs/7z/macOS/MANUAL/cmdline/commands/hash.htm +101 -0
  86. package/libs/7z/macOS/MANUAL/cmdline/commands/index.htm +36 -0
  87. package/libs/7z/macOS/MANUAL/cmdline/commands/list.htm +79 -0
  88. package/libs/7z/macOS/MANUAL/cmdline/commands/rename.htm +51 -0
  89. package/libs/7z/macOS/MANUAL/cmdline/commands/style.css +232 -0
  90. package/libs/7z/macOS/MANUAL/cmdline/commands/test.htm +51 -0
  91. package/libs/7z/macOS/MANUAL/cmdline/commands/update.htm +74 -0
  92. package/libs/7z/macOS/MANUAL/cmdline/exit_codes.htm +27 -0
  93. package/libs/7z/macOS/MANUAL/cmdline/index.htm +29 -0
  94. package/libs/7z/macOS/MANUAL/cmdline/style.css +232 -0
  95. package/libs/7z/macOS/MANUAL/cmdline/switches/ar_exclude.htm +58 -0
  96. package/libs/7z/macOS/MANUAL/cmdline/switches/ar_include.htm +84 -0
  97. package/libs/7z/macOS/MANUAL/cmdline/switches/ar_no.htm +52 -0
  98. package/libs/7z/macOS/MANUAL/cmdline/switches/bb.htm +61 -0
  99. package/libs/7z/macOS/MANUAL/cmdline/switches/bs.htm +67 -0
  100. package/libs/7z/macOS/MANUAL/cmdline/switches/charset.htm +61 -0
  101. package/libs/7z/macOS/MANUAL/cmdline/switches/email.htm +43 -0
  102. package/libs/7z/macOS/MANUAL/cmdline/switches/exclude.htm +81 -0
  103. package/libs/7z/macOS/MANUAL/cmdline/switches/include.htm +152 -0
  104. package/libs/7z/macOS/MANUAL/cmdline/switches/index.htm +117 -0
  105. package/libs/7z/macOS/MANUAL/cmdline/switches/large_pages.htm +60 -0
  106. package/libs/7z/macOS/MANUAL/cmdline/switches/list_tech.htm +36 -0
  107. package/libs/7z/macOS/MANUAL/cmdline/switches/method.htm +1067 -0
  108. package/libs/7z/macOS/MANUAL/cmdline/switches/output_dir.htm +53 -0
  109. package/libs/7z/macOS/MANUAL/cmdline/switches/overwrite.htm +56 -0
  110. package/libs/7z/macOS/MANUAL/cmdline/switches/password.htm +80 -0
  111. package/libs/7z/macOS/MANUAL/cmdline/switches/recurse.htm +104 -0
  112. package/libs/7z/macOS/MANUAL/cmdline/switches/sa.htm +58 -0
  113. package/libs/7z/macOS/MANUAL/cmdline/switches/scc.htm +42 -0
  114. package/libs/7z/macOS/MANUAL/cmdline/switches/scrc.htm +54 -0
  115. package/libs/7z/macOS/MANUAL/cmdline/switches/sdel.htm +39 -0
  116. package/libs/7z/macOS/MANUAL/cmdline/switches/sfx.htm +154 -0
  117. package/libs/7z/macOS/MANUAL/cmdline/switches/shared.htm +40 -0
  118. package/libs/7z/macOS/MANUAL/cmdline/switches/sni.htm +56 -0
  119. package/libs/7z/macOS/MANUAL/cmdline/switches/sns.htm +77 -0
  120. package/libs/7z/macOS/MANUAL/cmdline/switches/spf.htm +80 -0
  121. package/libs/7z/macOS/MANUAL/cmdline/switches/spm.htm +72 -0
  122. package/libs/7z/macOS/MANUAL/cmdline/switches/ssc.htm +50 -0
  123. package/libs/7z/macOS/MANUAL/cmdline/switches/stdin.htm +56 -0
  124. package/libs/7z/macOS/MANUAL/cmdline/switches/stdout.htm +54 -0
  125. package/libs/7z/macOS/MANUAL/cmdline/switches/stl.htm +39 -0
  126. package/libs/7z/macOS/MANUAL/cmdline/switches/stop_switch.htm +32 -0
  127. package/libs/7z/macOS/MANUAL/cmdline/switches/stx.htm +50 -0
  128. package/libs/7z/macOS/MANUAL/cmdline/switches/style.css +232 -0
  129. package/libs/7z/macOS/MANUAL/cmdline/switches/type.htm +146 -0
  130. package/libs/7z/macOS/MANUAL/cmdline/switches/update.htm +179 -0
  131. package/libs/7z/macOS/MANUAL/cmdline/switches/volume.htm +49 -0
  132. package/libs/7z/macOS/MANUAL/cmdline/switches/working_dir.htm +56 -0
  133. package/libs/7z/macOS/MANUAL/cmdline/switches/yes.htm +48 -0
  134. package/libs/7z/macOS/MANUAL/cmdline/syntax.htm +118 -0
  135. package/libs/7z/macOS/MANUAL/general/7z.htm +117 -0
  136. package/libs/7z/macOS/MANUAL/general/faq.htm +125 -0
  137. package/libs/7z/macOS/MANUAL/general/formats.htm +104 -0
  138. package/libs/7z/macOS/MANUAL/general/index.htm +28 -0
  139. package/libs/7z/macOS/MANUAL/general/license.htm +26 -0
  140. package/libs/7z/macOS/MANUAL/general/performance.htm +55 -0
  141. package/libs/7z/macOS/MANUAL/general/register.htm +24 -0
  142. package/libs/7z/macOS/MANUAL/general/style.css +232 -0
  143. package/libs/7z/macOS/MANUAL/general/thanks.htm +44 -0
  144. package/libs/7z/macOS/MANUAL/start.htm +38 -0
  145. package/libs/7z/macOS/MANUAL/style.css +232 -0
  146. package/libs/7z/macOS/readme.txt +100 -0
  147. package/libs/7z/win/7za.dll +0 -0
  148. package/libs/7z/win/7za.exe +0 -0
  149. package/libs/7z/win/7zxa.dll +0 -0
  150. package/libs/7z/win/Far/7-ZipEng.hlf +85 -0
  151. package/libs/7z/win/Far/7-ZipEng.lng +220 -0
  152. package/libs/7z/win/Far/7-ZipFar.dll +0 -0
  153. package/libs/7z/win/Far/7-ZipFar64.dll +0 -0
  154. package/libs/7z/win/Far/7-ZipRus.hlf +84 -0
  155. package/libs/7z/win/Far/7-ZipRus.lng +220 -0
  156. package/libs/7z/win/Far/7zToFar.ini +67 -0
  157. package/libs/7z/win/Far/far7z.reg +67 -0
  158. package/libs/7z/win/Far/far7z.txt +73 -0
  159. package/libs/7z/win/License.txt +123 -0
  160. package/libs/7z/win/arm64/7-ZipFar.dll +0 -0
  161. package/libs/7z/win/arm64/7za.dll +0 -0
  162. package/libs/7z/win/arm64/7za.exe +0 -0
  163. package/libs/7z/win/arm64/7zxa.dll +0 -0
  164. package/libs/7z/win/history.txt +347 -0
  165. package/libs/7z/win/readme.txt +125 -0
  166. package/libs/7z/win/x64/7za.dll +0 -0
  167. package/libs/7z/win/x64/7za.exe +0 -0
  168. package/libs/7z/win/x64/7zxa.dll +0 -0
  169. package/package.json +50 -0
package/README.md ADDED
@@ -0,0 +1,23 @@
1
+ # Glosc Mcp Tools
2
+
3
+ 适用于 Glosc Copilot 的 Mcp 工具集。
4
+
5
+ ### 配置
6
+ ```json
7
+
8
+
9
+ ```
10
+
11
+ ### Tools
12
+
13
+ - `listApps`
14
+ - 获取已安装应用列表(Windows 注册表)
15
+ - 入参:`{ query?: string, matchMode?: "contains"|"equals"|"regex", limit?: number }`
16
+
17
+ - `getAppInstallPath`
18
+ - 获取应用安装路径(优先 `InstallLocation`,否则从 `DisplayIcon`/卸载命令推断)
19
+ - 入参:`{ name: string, matchMode?: "contains"|"equals"|"regex", allMatches?: boolean, limit?: number }`
20
+
21
+ - `openRef`
22
+ - 打开引用(文件/文件夹/URL/可执行文件),使用系统默认方式打开(Windows 下使用 `Start-Process`)
23
+ - 入参:`{ target: string, args?: string[], wait?: boolean }`
@@ -0,0 +1,207 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { z } from "zod";
3
+ import { GloscTools } from "./GloscTools.js";
4
+ export class GloscMcp {
5
+ server = new McpServer({
6
+ name: "gloss-mod-manager",
7
+ version: "1.62.1",
8
+ });
9
+ constructor() {
10
+ this.registerTool();
11
+ this.registerResource();
12
+ this.registerPrompt();
13
+ }
14
+ /**
15
+ * 注册工具
16
+ */
17
+ registerTool() {
18
+ this.server.registerTool("time", {
19
+ description: "获取当前时间",
20
+ inputSchema: z.object({}),
21
+ }, async (input) => {
22
+ return {
23
+ content: [
24
+ {
25
+ type: "text",
26
+ text: new Date().toISOString(),
27
+ },
28
+ ],
29
+ };
30
+ });
31
+ this.server.registerTool("web", {
32
+ description: "提取网页内容",
33
+ inputSchema: z.object({
34
+ url: z.url().describe("网页URL地址"),
35
+ useBrowser: z
36
+ .boolean()
37
+ .describe("是否模拟浏览器获取网页内容,true或false")
38
+ .default(false),
39
+ type: z
40
+ .enum(["text", "html", "json"])
41
+ .describe("内容类型, text、html或json")
42
+ .default("text"),
43
+ }),
44
+ }, async ({ url, useBrowser, type }) => {
45
+ // 获取网页内容
46
+ const content = await GloscTools.usebrowser(url, useBrowser, type);
47
+ return {
48
+ content: [
49
+ {
50
+ type: "text",
51
+ text: content,
52
+ },
53
+ ],
54
+ };
55
+ });
56
+ this.server.registerTool("web-search", {
57
+ description: "使用 Bing 联网搜索信息",
58
+ inputSchema: z.object({
59
+ query: z.string().describe("搜索查询内容"),
60
+ }),
61
+ }, async (input) => {
62
+ const url = `https://cn.bing.com/search?q=${encodeURIComponent(input.query)}`;
63
+ const content = await GloscTools.usebrowser(url, true, "text");
64
+ return {
65
+ content: [
66
+ {
67
+ type: "text",
68
+ text: content,
69
+ },
70
+ ],
71
+ };
72
+ });
73
+ this.server.registerTool("readFile", {
74
+ description: "读取文件内容,支持多种文件类型:文本、图片、表格、文档、压缩包(ZIP、RAR、7Z、TAR、GZ等)",
75
+ inputSchema: z.object({
76
+ path: z.string().describe("文件的绝对路径"),
77
+ }),
78
+ }, async (input) => {
79
+ const filePath = input.path;
80
+ try {
81
+ const content = await GloscTools.processFile(filePath);
82
+ return {
83
+ content: [
84
+ {
85
+ type: "text",
86
+ text: content,
87
+ },
88
+ ],
89
+ };
90
+ }
91
+ catch (error) {
92
+ const errorMessage = error instanceof Error ? error.message : String(error);
93
+ return {
94
+ content: [
95
+ {
96
+ type: "text",
97
+ text: `读取文件失败: ${errorMessage}`,
98
+ },
99
+ ],
100
+ };
101
+ }
102
+ });
103
+ this.server.registerTool("listApps", {
104
+ description: "获取已安装应用列表(Windows 注册表)",
105
+ inputSchema: z.object({
106
+ query: z.string().describe("按名称过滤(可选)").optional(),
107
+ matchMode: z
108
+ .enum(["contains", "equals", "regex"])
109
+ .describe("匹配模式")
110
+ .default("contains"),
111
+ limit: z
112
+ .number()
113
+ .int()
114
+ .min(1)
115
+ .max(5000)
116
+ .describe("最多返回多少条")
117
+ .default(200),
118
+ }),
119
+ }, async ({ query, matchMode, limit }) => {
120
+ const apps = await GloscTools.listInstalledApps({
121
+ query,
122
+ matchMode,
123
+ limit,
124
+ });
125
+ return {
126
+ content: [
127
+ {
128
+ type: "text",
129
+ text: JSON.stringify(apps, null, 2),
130
+ },
131
+ ],
132
+ };
133
+ });
134
+ this.server.registerTool("getAppInstallPath", {
135
+ description: "获取应用安装路径(优先 InstallLocation,其次推断)",
136
+ inputSchema: z.object({
137
+ name: z.string().describe("应用名称(支持模糊/正则)"),
138
+ matchMode: z
139
+ .enum(["contains", "equals", "regex"])
140
+ .describe("匹配模式")
141
+ .default("contains"),
142
+ allMatches: z
143
+ .boolean()
144
+ .describe("是否返回全部候选")
145
+ .default(false),
146
+ limit: z
147
+ .number()
148
+ .int()
149
+ .min(1)
150
+ .max(500)
151
+ .describe("候选上限")
152
+ .default(50),
153
+ }),
154
+ }, async ({ name, matchMode, allMatches, limit }) => {
155
+ const result = await GloscTools.getAppInstallPath({
156
+ name,
157
+ matchMode,
158
+ allMatches,
159
+ limit,
160
+ });
161
+ return {
162
+ content: [
163
+ {
164
+ type: "text",
165
+ text: JSON.stringify(result, null, 2),
166
+ },
167
+ ],
168
+ };
169
+ });
170
+ this.server.registerTool("openRef", {
171
+ description: "打开引用(文件/文件夹/URL/可执行文件),使用系统默认方式打开",
172
+ inputSchema: z.object({
173
+ target: z.string().describe("要打开的目标:路径或 URL"),
174
+ args: z
175
+ .array(z.string())
176
+ .describe("当 target 是可执行文件时的参数")
177
+ .optional(),
178
+ wait: z
179
+ .boolean()
180
+ .describe("是否等待进程退出")
181
+ .default(false),
182
+ }),
183
+ }, async ({ target, args, wait }) => {
184
+ const res = await GloscTools.openReference({
185
+ target,
186
+ args,
187
+ wait,
188
+ });
189
+ return {
190
+ content: [
191
+ {
192
+ type: "text",
193
+ text: JSON.stringify(res, null, 2),
194
+ },
195
+ ],
196
+ };
197
+ });
198
+ }
199
+ /**
200
+ * 注册资源
201
+ */
202
+ registerResource() { }
203
+ /**
204
+ * 注册提示词
205
+ */
206
+ registerPrompt() { }
207
+ }