@xiedada/nodemw-mcp-server 0.0.1 → 0.0.2

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 (195) hide show
  1. package/LICENSE +24 -166
  2. package/README.md +124 -145
  3. package/dist/index.js +36 -63
  4. package/dist/index.js.map +7 -1
  5. package/package.json +5 -11
  6. package/dist/common/nodemwBot.d.ts +0 -21
  7. package/dist/common/nodemwBot.d.ts.map +0 -1
  8. package/dist/common/nodemwBot.js +0 -62
  9. package/dist/common/nodemwBot.js.map +0 -1
  10. package/dist/common/utils.d.ts +0 -7
  11. package/dist/common/utils.d.ts.map +0 -1
  12. package/dist/common/utils.js +0 -38
  13. package/dist/common/utils.js.map +0 -1
  14. package/dist/index.d.ts +0 -3
  15. package/dist/index.d.ts.map +0 -1
  16. package/dist/server.d.ts +0 -4
  17. package/dist/server.d.ts.map +0 -1
  18. package/dist/server.js +0 -9
  19. package/dist/server.js.map +0 -1
  20. package/dist/tools/editing/add-flow-topic.d.ts +0 -3
  21. package/dist/tools/editing/add-flow-topic.d.ts.map +0 -1
  22. package/dist/tools/editing/add-flow-topic.js +0 -25
  23. package/dist/tools/editing/add-flow-topic.js.map +0 -1
  24. package/dist/tools/editing/append.d.ts +0 -3
  25. package/dist/tools/editing/append.d.ts.map +0 -1
  26. package/dist/tools/editing/append.js +0 -26
  27. package/dist/tools/editing/append.js.map +0 -1
  28. package/dist/tools/editing/create-account.d.ts +0 -3
  29. package/dist/tools/editing/create-account.d.ts.map +0 -1
  30. package/dist/tools/editing/create-account.js +0 -24
  31. package/dist/tools/editing/create-account.js.map +0 -1
  32. package/dist/tools/editing/delete.d.ts +0 -3
  33. package/dist/tools/editing/delete.d.ts.map +0 -1
  34. package/dist/tools/editing/delete.js +0 -25
  35. package/dist/tools/editing/delete.js.map +0 -1
  36. package/dist/tools/editing/edit.d.ts +0 -3
  37. package/dist/tools/editing/edit.d.ts.map +0 -1
  38. package/dist/tools/editing/edit.js +0 -27
  39. package/dist/tools/editing/edit.js.map +0 -1
  40. package/dist/tools/editing/move.d.ts +0 -3
  41. package/dist/tools/editing/move.d.ts.map +0 -1
  42. package/dist/tools/editing/move.js +0 -26
  43. package/dist/tools/editing/move.js.map +0 -1
  44. package/dist/tools/editing/prepend.d.ts +0 -3
  45. package/dist/tools/editing/prepend.d.ts.map +0 -1
  46. package/dist/tools/editing/prepend.js +0 -26
  47. package/dist/tools/editing/prepend.js.map +0 -1
  48. package/dist/tools/editing/protect.d.ts +0 -3
  49. package/dist/tools/editing/protect.d.ts.map +0 -1
  50. package/dist/tools/editing/protect.js +0 -37
  51. package/dist/tools/editing/protect.js.map +0 -1
  52. package/dist/tools/editing/purge.d.ts +0 -3
  53. package/dist/tools/editing/purge.d.ts.map +0 -1
  54. package/dist/tools/editing/purge.js +0 -23
  55. package/dist/tools/editing/purge.js.map +0 -1
  56. package/dist/tools/editing/send-email.d.ts +0 -3
  57. package/dist/tools/editing/send-email.d.ts.map +0 -1
  58. package/dist/tools/editing/send-email.js +0 -25
  59. package/dist/tools/editing/send-email.js.map +0 -1
  60. package/dist/tools/editing/upload-by-url.d.ts +0 -3
  61. package/dist/tools/editing/upload-by-url.d.ts.map +0 -1
  62. package/dist/tools/editing/upload-by-url.js +0 -26
  63. package/dist/tools/editing/upload-by-url.js.map +0 -1
  64. package/dist/tools/editing/upload.d.ts +0 -3
  65. package/dist/tools/editing/upload.d.ts.map +0 -1
  66. package/dist/tools/editing/upload.js +0 -27
  67. package/dist/tools/editing/upload.js.map +0 -1
  68. package/dist/tools/index.d.ts +0 -3
  69. package/dist/tools/index.d.ts.map +0 -1
  70. package/dist/tools/index.js +0 -105
  71. package/dist/tools/index.js.map +0 -1
  72. package/dist/tools/ro/expand-templates.d.ts +0 -3
  73. package/dist/tools/ro/expand-templates.d.ts.map +0 -1
  74. package/dist/tools/ro/expand-templates.js +0 -28
  75. package/dist/tools/ro/expand-templates.js.map +0 -1
  76. package/dist/tools/ro/get-all-pages.d.ts +0 -3
  77. package/dist/tools/ro/get-all-pages.d.ts.map +0 -1
  78. package/dist/tools/ro/get-all-pages.js +0 -30
  79. package/dist/tools/ro/get-all-pages.js.map +0 -1
  80. package/dist/tools/ro/get-article-categories.d.ts +0 -3
  81. package/dist/tools/ro/get-article-categories.d.ts.map +0 -1
  82. package/dist/tools/ro/get-article-categories.js +0 -27
  83. package/dist/tools/ro/get-article-categories.js.map +0 -1
  84. package/dist/tools/ro/get-article-info.d.ts +0 -3
  85. package/dist/tools/ro/get-article-info.d.ts.map +0 -1
  86. package/dist/tools/ro/get-article-info.js +0 -35
  87. package/dist/tools/ro/get-article-info.js.map +0 -1
  88. package/dist/tools/ro/get-article-properties.d.ts +0 -3
  89. package/dist/tools/ro/get-article-properties.d.ts.map +0 -1
  90. package/dist/tools/ro/get-article-properties.js +0 -26
  91. package/dist/tools/ro/get-article-properties.js.map +0 -1
  92. package/dist/tools/ro/get-article-revisions.d.ts +0 -3
  93. package/dist/tools/ro/get-article-revisions.d.ts.map +0 -1
  94. package/dist/tools/ro/get-article-revisions.js +0 -29
  95. package/dist/tools/ro/get-article-revisions.js.map +0 -1
  96. package/dist/tools/ro/get-article.d.ts +0 -3
  97. package/dist/tools/ro/get-article.d.ts.map +0 -1
  98. package/dist/tools/ro/get-article.js +0 -54
  99. package/dist/tools/ro/get-article.js.map +0 -1
  100. package/dist/tools/ro/get-backlinks.d.ts +0 -3
  101. package/dist/tools/ro/get-backlinks.d.ts.map +0 -1
  102. package/dist/tools/ro/get-backlinks.js +0 -27
  103. package/dist/tools/ro/get-backlinks.js.map +0 -1
  104. package/dist/tools/ro/get-categories.d.ts +0 -3
  105. package/dist/tools/ro/get-categories.d.ts.map +0 -1
  106. package/dist/tools/ro/get-categories.js +0 -27
  107. package/dist/tools/ro/get-categories.js.map +0 -1
  108. package/dist/tools/ro/get-external-links.d.ts +0 -3
  109. package/dist/tools/ro/get-external-links.d.ts.map +0 -1
  110. package/dist/tools/ro/get-external-links.js +0 -27
  111. package/dist/tools/ro/get-external-links.js.map +0 -1
  112. package/dist/tools/ro/get-image-info.d.ts +0 -3
  113. package/dist/tools/ro/get-image-info.d.ts.map +0 -1
  114. package/dist/tools/ro/get-image-info.js +0 -29
  115. package/dist/tools/ro/get-image-info.js.map +0 -1
  116. package/dist/tools/ro/get-image-usage.d.ts +0 -3
  117. package/dist/tools/ro/get-image-usage.d.ts.map +0 -1
  118. package/dist/tools/ro/get-image-usage.js +0 -27
  119. package/dist/tools/ro/get-image-usage.js.map +0 -1
  120. package/dist/tools/ro/get-images-from-article.d.ts +0 -3
  121. package/dist/tools/ro/get-images-from-article.d.ts.map +0 -1
  122. package/dist/tools/ro/get-images-from-article.js +0 -27
  123. package/dist/tools/ro/get-images-from-article.js.map +0 -1
  124. package/dist/tools/ro/get-images.d.ts +0 -3
  125. package/dist/tools/ro/get-images.d.ts.map +0 -1
  126. package/dist/tools/ro/get-images.js +0 -43
  127. package/dist/tools/ro/get-images.js.map +0 -1
  128. package/dist/tools/ro/get-log.d.ts +0 -3
  129. package/dist/tools/ro/get-log.d.ts.map +0 -1
  130. package/dist/tools/ro/get-log.js +0 -46
  131. package/dist/tools/ro/get-log.js.map +0 -1
  132. package/dist/tools/ro/get-mediawiki-version.d.ts +0 -3
  133. package/dist/tools/ro/get-mediawiki-version.d.ts.map +0 -1
  134. package/dist/tools/ro/get-mediawiki-version.js +0 -20
  135. package/dist/tools/ro/get-mediawiki-version.js.map +0 -1
  136. package/dist/tools/ro/get-pages-by-prefix.d.ts +0 -3
  137. package/dist/tools/ro/get-pages-by-prefix.d.ts.map +0 -1
  138. package/dist/tools/ro/get-pages-by-prefix.js +0 -27
  139. package/dist/tools/ro/get-pages-by-prefix.js.map +0 -1
  140. package/dist/tools/ro/get-pages-in-category.d.ts +0 -3
  141. package/dist/tools/ro/get-pages-in-category.d.ts.map +0 -1
  142. package/dist/tools/ro/get-pages-in-category.js +0 -29
  143. package/dist/tools/ro/get-pages-in-category.js.map +0 -1
  144. package/dist/tools/ro/get-pages-in-namespace.d.ts +0 -3
  145. package/dist/tools/ro/get-pages-in-namespace.d.ts.map +0 -1
  146. package/dist/tools/ro/get-pages-in-namespace.js +0 -27
  147. package/dist/tools/ro/get-pages-in-namespace.js.map +0 -1
  148. package/dist/tools/ro/get-pages-transcluding.d.ts +0 -3
  149. package/dist/tools/ro/get-pages-transcluding.d.ts.map +0 -1
  150. package/dist/tools/ro/get-pages-transcluding.js +0 -32
  151. package/dist/tools/ro/get-pages-transcluding.js.map +0 -1
  152. package/dist/tools/ro/get-query-page.d.ts +0 -3
  153. package/dist/tools/ro/get-query-page.d.ts.map +0 -1
  154. package/dist/tools/ro/get-query-page.js +0 -27
  155. package/dist/tools/ro/get-query-page.js.map +0 -1
  156. package/dist/tools/ro/get-recent-changes.d.ts +0 -3
  157. package/dist/tools/ro/get-recent-changes.d.ts.map +0 -1
  158. package/dist/tools/ro/get-recent-changes.js +0 -43
  159. package/dist/tools/ro/get-recent-changes.js.map +0 -1
  160. package/dist/tools/ro/get-site-info.d.ts +0 -3
  161. package/dist/tools/ro/get-site-info.d.ts.map +0 -1
  162. package/dist/tools/ro/get-site-info.js +0 -23
  163. package/dist/tools/ro/get-site-info.js.map +0 -1
  164. package/dist/tools/ro/get-site-stats.d.ts +0 -3
  165. package/dist/tools/ro/get-site-stats.d.ts.map +0 -1
  166. package/dist/tools/ro/get-site-stats.js +0 -20
  167. package/dist/tools/ro/get-site-stats.js.map +0 -1
  168. package/dist/tools/ro/get-user-contribs.d.ts +0 -3
  169. package/dist/tools/ro/get-user-contribs.d.ts.map +0 -1
  170. package/dist/tools/ro/get-user-contribs.js +0 -39
  171. package/dist/tools/ro/get-user-contribs.js.map +0 -1
  172. package/dist/tools/ro/get-users.d.ts +0 -3
  173. package/dist/tools/ro/get-users.d.ts.map +0 -1
  174. package/dist/tools/ro/get-users.js +0 -29
  175. package/dist/tools/ro/get-users.js.map +0 -1
  176. package/dist/tools/ro/parse.d.ts +0 -3
  177. package/dist/tools/ro/parse.d.ts.map +0 -1
  178. package/dist/tools/ro/parse.js +0 -37
  179. package/dist/tools/ro/parse.js.map +0 -1
  180. package/dist/tools/ro/search.d.ts +0 -3
  181. package/dist/tools/ro/search.d.ts.map +0 -1
  182. package/dist/tools/ro/search.js +0 -32
  183. package/dist/tools/ro/search.js.map +0 -1
  184. package/dist/tools/ro/whoami.d.ts +0 -3
  185. package/dist/tools/ro/whoami.d.ts.map +0 -1
  186. package/dist/tools/ro/whoami.js +0 -20
  187. package/dist/tools/ro/whoami.js.map +0 -1
  188. package/dist/tools/ro/whoare.d.ts +0 -3
  189. package/dist/tools/ro/whoare.d.ts.map +0 -1
  190. package/dist/tools/ro/whoare.js +0 -19
  191. package/dist/tools/ro/whoare.js.map +0 -1
  192. package/dist/tools/ro/whois.d.ts +0 -3
  193. package/dist/tools/ro/whois.d.ts.map +0 -1
  194. package/dist/tools/ro/whois.js +0 -26
  195. package/dist/tools/ro/whois.js.map +0 -1
@@ -1,62 +0,0 @@
1
- import Bot from 'nodemw';
2
- import { USER_AGENT } from '../server.js';
3
- let botInstance = null;
4
- let serverConfig = null;
5
- export function initServerConfig(config) {
6
- serverConfig = config;
7
- }
8
- export async function getBot() {
9
- if (botInstance) {
10
- return botInstance;
11
- }
12
- if (!serverConfig) {
13
- throw new Error('Server not configured. Use --server to specify the MediaWiki server.');
14
- }
15
- const { server, endpoint, protocol, port, proxy, userAgent, concurrency, debug, username, password, token, domain, dryRun } = serverConfig;
16
- botInstance = new Bot({
17
- server,
18
- protocol: protocol || 'https',
19
- port,
20
- path: endpoint,
21
- proxy,
22
- userAgent: userAgent || USER_AGENT,
23
- concurrency,
24
- debug,
25
- username: username || undefined,
26
- password: password || undefined,
27
- domain,
28
- // @ts-expect-error: dryRun is supported by nodemw at runtime but missing from BotOptions types
29
- dryRun
30
- });
31
- if (username && password) {
32
- await new Promise((resolve, reject) => {
33
- botInstance.logIn((err) => {
34
- if (err) {
35
- reject(err);
36
- }
37
- else {
38
- resolve();
39
- }
40
- });
41
- });
42
- }
43
- return botInstance;
44
- }
45
- export function clearBotCache() {
46
- botInstance = null;
47
- }
48
- export function promisifyBotMethod(bot, method, ...args) {
49
- return new Promise((resolve, reject) => {
50
- const callback = (err, result) => {
51
- if (err) {
52
- reject(err);
53
- }
54
- else {
55
- resolve(result);
56
- }
57
- };
58
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
59
- bot[method](...args, callback);
60
- });
61
- }
62
- //# sourceMappingURL=nodemwBot.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nodemwBot.js","sourceRoot":"","sources":["../../src/common/nodemwBot.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,QAAQ,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAkB1C,IAAI,WAAW,GAAe,IAAI,CAAC;AACnC,IAAI,YAAY,GAAwB,IAAI,CAAC;AAE7C,MAAM,UAAU,gBAAgB,CAAC,MAAoB;IACpD,YAAY,GAAG,MAAM,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM;IAC3B,IAAI,WAAW,EAAE,CAAC;QACjB,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,IAAI,CAAC,YAAY,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IACzF,CAAC;IAED,MAAM,EACL,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,SAAS,EACT,WAAW,EACX,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,MAAM,EACN,MAAM,EACN,GAAG,YAAY,CAAC;IAEjB,WAAW,GAAG,IAAI,GAAG,CAAC;QACrB,MAAM;QACN,QAAQ,EAAE,QAAQ,IAAI,OAAO;QAC7B,IAAI;QACJ,IAAI,EAAE,QAAQ;QACd,KAAK;QACL,SAAS,EAAE,SAAS,IAAI,UAAU;QAClC,WAAW;QACX,KAAK;QACL,QAAQ,EAAE,QAAQ,IAAI,SAAS;QAC/B,QAAQ,EAAE,QAAQ,IAAI,SAAS;QAC/B,MAAM;QACN,+FAA+F;QAC/F,MAAM;KACN,CAAC,CAAC;IAEH,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,WAAY,CAAC,KAAK,CAAC,CAAC,GAAiB,EAAE,EAAE;gBACxC,IAAI,GAAG,EAAE,CAAC;oBACT,MAAM,CAAC,GAAG,CAAC,CAAC;gBACb,CAAC;qBAAM,CAAC;oBACP,OAAO,EAAE,CAAC;gBACX,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,WAAW,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,aAAa;IAC5B,WAAW,GAAG,IAAI,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,kBAAkB,CACjC,GAAQ,EACR,MAAc,EACd,GAAG,IAAe;IAElB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACtC,MAAM,QAAQ,GAAG,CAAC,GAAiB,EAAE,MAAS,EAAE,EAAE;YACjD,IAAI,GAAG,EAAE,CAAC;gBACT,MAAM,CAAC,GAAG,CAAC,CAAC;YACb,CAAC;iBAAM,CAAC;gBACP,OAAO,CAAC,MAAM,CAAC,CAAC;YACjB,CAAC;QACF,CAAC,CAAC;QAEF,8DAA8D;QAC7D,GAAW,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACJ,CAAC"}
@@ -1,7 +0,0 @@
1
- import Bot = require('nodemw');
2
- import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
3
- export declare function promisifyBotMethod<T>(bot: Bot, method: string, ...args: unknown[]): Promise<T>;
4
- export declare function isNonNullish<T>(value: T | null | undefined): value is T;
5
- export declare function jsonResult(data: unknown): CallToolResult;
6
- export declare function errorResult(message: string, error?: Error): CallToolResult;
7
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/common/utils.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,GAAG,QAAQ,QAAQ,CAAC,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE,wBAAgB,kBAAkB,CAAC,CAAC,EACnC,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,EACd,GAAG,IAAI,EAAE,OAAO,EAAE,GAChB,OAAO,CAAC,CAAC,CAAC,CAaZ;AAED,wBAAgB,YAAY,CAAC,CAAC,EAC7B,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,GACzB,KAAK,IAAI,CAAC,CAEZ;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,cAAc,CAOxD;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,cAAc,CAW1E"}
@@ -1,38 +0,0 @@
1
- export function promisifyBotMethod(bot, method, ...args) {
2
- return new Promise((resolve, reject) => {
3
- const callback = (err, result) => {
4
- if (err) {
5
- reject(err);
6
- }
7
- else {
8
- resolve(result);
9
- }
10
- };
11
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
- bot[method](...args, callback);
13
- });
14
- }
15
- export function isNonNullish(value) {
16
- return value !== null && value !== undefined;
17
- }
18
- export function jsonResult(data) {
19
- return {
20
- content: [{
21
- type: 'text',
22
- text: JSON.stringify(data, null, 2)
23
- }]
24
- };
25
- }
26
- export function errorResult(message, error) {
27
- return {
28
- content: [{
29
- type: 'text',
30
- text: JSON.stringify({
31
- error: message,
32
- details: error?.message
33
- }, null, 2)
34
- }],
35
- isError: true
36
- };
37
- }
38
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/common/utils.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,kBAAkB,CACjC,GAAQ,EACR,MAAc,EACd,GAAG,IAAe;IAElB,OAAO,IAAI,OAAO,CAAE,CAAE,OAAO,EAAE,MAAM,EAAG,EAAE;QACzC,MAAM,QAAQ,GAAG,CAAE,GAAiB,EAAE,MAAS,EAAG,EAAE;YACnD,IAAK,GAAG,EAAG,CAAC;gBACX,MAAM,CAAE,GAAG,CAAE,CAAC;YACf,CAAC;iBAAM,CAAC;gBACP,OAAO,CAAE,MAAM,CAAE,CAAC;YACnB,CAAC;QACF,CAAC,CAAC;QAEF,8DAA8D;QAC5D,GAAY,CAAE,MAAM,CAAE,CAAE,GAAG,IAAI,EAAE,QAAQ,CAAE,CAAC;IAC/C,CAAC,CAAE,CAAC;AACL,CAAC;AAED,MAAM,UAAU,YAAY,CAC3B,KAA2B;IAE3B,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAa;IACvC,OAAO;QACN,OAAO,EAAE,CAAC;gBACT,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;aACnC,CAAC;KACF,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAe,EAAE,KAAa;IACzD,OAAO;QACN,OAAO,EAAE,CAAC;gBACT,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACpB,KAAK,EAAE,OAAO;oBACd,OAAO,EAAE,KAAK,EAAE,OAAO;iBACvB,EAAE,IAAI,EAAE,CAAC,CAAC;aACX,CAAC;QACF,OAAO,EAAE,IAAI;KACb,CAAC;AACH,CAAC"}
package/dist/index.d.ts DELETED
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/server.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- export declare const USER_AGENT = "nodemw-mcp-server/1.0";
3
- export declare function createServer(): McpServer;
4
- //# sourceMappingURL=server.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,eAAO,MAAM,UAAU,0BAA0B,CAAC;AAElD,wBAAgB,YAAY,IAAI,SAAS,CAQxC"}
package/dist/server.js DELETED
@@ -1,9 +0,0 @@
1
- import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- export const USER_AGENT = 'nodemw-mcp-server/1.0';
3
- export function createServer() {
4
- return new McpServer({
5
- name: 'nodemw-mcp-server',
6
- version: '1.0.0'
7
- }, { capabilities: { tools: {} } });
8
- }
9
- //# sourceMappingURL=server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,MAAM,CAAC,MAAM,UAAU,GAAG,uBAAuB,CAAC;AAElD,MAAM,UAAU,YAAY;IAC3B,OAAO,IAAI,SAAS,CACnB;QACC,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,OAAO;KAChB,EACD,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAC/B,CAAC;AACH,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- export declare function addFlowTopicTool(server: McpServer): RegisteredTool;
3
- //# sourceMappingURL=add-flow-topic.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"add-flow-topic.d.ts","sourceRoot":"","sources":["../../../src/tools/editing/add-flow-topic.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAKzF,wBAAgB,gBAAgB,CAAE,MAAM,EAAE,SAAS,GAAI,cAAc,CAgBpE"}
@@ -1,25 +0,0 @@
1
- import { z } from 'zod';
2
- import { getBot, promisifyBotMethod } from '../../common/nodemwBot.js';
3
- import { jsonResult, errorResult } from '../../common/utils.js';
4
- export function addFlowTopicTool(server) {
5
- return server.tool('add-flow-topic', 'Add a new Flow topic to a wiki page (requires authentication)', {
6
- title: z.string().describe('Page title to add topic to'),
7
- subject: z.string().describe('Topic subject'),
8
- content: z.string().describe('Topic content in wikitext'),
9
- }, {
10
- title: 'Add Flow topic',
11
- readOnlyHint: false,
12
- destructiveHint: false
13
- }, async (params) => handleAddFlowTopicTool(params));
14
- }
15
- async function handleAddFlowTopicTool(params) {
16
- try {
17
- const bot = await getBot();
18
- const result = await promisifyBotMethod(bot, 'addFlowTopic', params.title, params.subject, params.content);
19
- return jsonResult(result);
20
- }
21
- catch (error) {
22
- return errorResult('Failed to add Flow topic', error);
23
- }
24
- }
25
- //# sourceMappingURL=add-flow-topic.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"add-flow-topic.js","sourceRoot":"","sources":["../../../src/tools/editing/add-flow-topic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,UAAU,gBAAgB,CAAE,MAAiB;IAClD,OAAO,MAAM,CAAC,IAAI,CACjB,gBAAgB,EAChB,+DAA+D,EAC/D;QACC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,4BAA4B,CAAE;QAC1D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,eAAe,CAAE;QAC/C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,2BAA2B,CAAE;KAC3D,EACD;QACC,KAAK,EAAE,gBAAgB;QACvB,YAAY,EAAE,KAAK;QACnB,eAAe,EAAE,KAAK;KACH,EACpB,KAAK,EAAG,MAAM,EAAG,EAAE,CAAC,sBAAsB,CAAE,MAAM,CAAE,CACpD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,sBAAsB,CACpC,MAIC;IAED,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAE3B,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAMtC,GAAG,EACH,cAAc,EACd,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,OAAO,CACd,CAAC;QAEF,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAQ,KAAK,EAAG,CAAC;QAClB,OAAO,WAAW,CAAC,0BAA0B,EAAE,KAAc,CAAC,CAAC;IAChE,CAAC;AACF,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- export declare function appendTool(server: McpServer): RegisteredTool;
3
- //# sourceMappingURL=append.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"append.d.ts","sourceRoot":"","sources":["../../../src/tools/editing/append.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAKzF,wBAAgB,UAAU,CAAE,MAAM,EAAE,SAAS,GAAI,cAAc,CAgB9D"}
@@ -1,26 +0,0 @@
1
- import { z } from 'zod';
2
- import { getBot, promisifyBotMethod } from '../../common/nodemwBot.js';
3
- import { jsonResult, errorResult } from '../../common/utils.js';
4
- export function appendTool(server) {
5
- return server.tool('append', 'Append content to a wiki page (requires authentication)', {
6
- title: z.string().describe('Page title'),
7
- content: z.string().describe('Content to append'),
8
- summary: z.string().describe('Edit summary')
9
- }, {
10
- title: 'Append to page',
11
- readOnlyHint: false,
12
- destructiveHint: true
13
- }, async (params) => handleAppendTool(params));
14
- }
15
- async function handleAppendTool(params) {
16
- try {
17
- const bot = await getBot();
18
- const prefixedSummary = `[nodemw-mcp] ${params.summary}`;
19
- await promisifyBotMethod(bot, 'append', params.title, params.content, prefixedSummary);
20
- return jsonResult({ success: true, title: params.title });
21
- }
22
- catch (error) {
23
- return errorResult('Failed to append to page', error);
24
- }
25
- }
26
- //# sourceMappingURL=append.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"append.js","sourceRoot":"","sources":["../../../src/tools/editing/append.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,UAAU,UAAU,CAAE,MAAiB;IAC5C,OAAO,MAAM,CAAC,IAAI,CACjB,QAAQ,EACR,yDAAyD,EACzD;QACC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,YAAY,CAAE;QAC1C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,mBAAmB,CAAE;QACnD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,cAAc,CAAE;KAC9C,EACD;QACC,KAAK,EAAE,gBAAgB;QACvB,YAAY,EAAE,KAAK;QACnB,eAAe,EAAE,IAAI;KACF,EACpB,KAAK,EAAG,MAAM,EAAG,EAAE,CAAC,gBAAgB,CAAE,MAAM,CAAE,CAC9C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC9B,MAIC;IAED,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAC3B,MAAM,eAAe,GAAG,gBAAgB,MAAM,CAAC,OAAO,EAAE,CAAC;QAEzD,MAAM,kBAAkB,CACvB,GAAG,EACH,QAAQ,EACR,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,OAAO,EACd,eAAe,CACf,CAAC;QAEF,OAAO,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAQ,KAAK,EAAG,CAAC;QAClB,OAAO,WAAW,CAAC,0BAA0B,EAAE,KAAc,CAAC,CAAC;IAChE,CAAC;AACF,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- export declare function createAccountTool(server: McpServer): RegisteredTool;
3
- //# sourceMappingURL=create-account.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-account.d.ts","sourceRoot":"","sources":["../../../src/tools/editing/create-account.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAKzF,wBAAgB,iBAAiB,CAAE,MAAM,EAAE,SAAS,GAAI,cAAc,CAerE"}
@@ -1,24 +0,0 @@
1
- import { z } from 'zod';
2
- import { getBot, promisifyBotMethod } from '../../common/nodemwBot.js';
3
- import { jsonResult, errorResult } from '../../common/utils.js';
4
- export function createAccountTool(server) {
5
- return server.tool('create-account', 'Create a new MediaWiki user account (requires authentication)', {
6
- username: z.string().describe('New account username'),
7
- password: z.string().describe('New account password'),
8
- }, {
9
- title: 'Create user account',
10
- readOnlyHint: false,
11
- destructiveHint: false
12
- }, async (params) => handleCreateAccountTool(params));
13
- }
14
- async function handleCreateAccountTool(params) {
15
- try {
16
- const bot = await getBot();
17
- const result = await promisifyBotMethod(bot, 'createAccount', params.username, params.password);
18
- return jsonResult(result);
19
- }
20
- catch (error) {
21
- return errorResult('Failed to create account', error);
22
- }
23
- }
24
- //# sourceMappingURL=create-account.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-account.js","sourceRoot":"","sources":["../../../src/tools/editing/create-account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,UAAU,iBAAiB,CAAE,MAAiB;IACnD,OAAO,MAAM,CAAC,IAAI,CACjB,gBAAgB,EAChB,+DAA+D,EAC/D;QACC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,sBAAsB,CAAE;QACvD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,sBAAsB,CAAE;KACvD,EACD;QACC,KAAK,EAAE,qBAAqB;QAC5B,YAAY,EAAE,KAAK;QACnB,eAAe,EAAE,KAAK;KACH,EACpB,KAAK,EAAG,MAAM,EAAG,EAAE,CAAC,uBAAuB,CAAE,MAAM,CAAE,CACrD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,uBAAuB,CACrC,MAGC;IAED,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAE3B,MAAM,MAAM,GAAG,MAAM,kBAAkB,CACtC,GAAG,EACH,eAAe,EACf,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,QAAQ,CACf,CAAC;QAEF,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAQ,KAAK,EAAG,CAAC;QAClB,OAAO,WAAW,CAAC,0BAA0B,EAAE,KAAc,CAAC,CAAC;IAChE,CAAC;AACF,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- export declare function deleteTool(server: McpServer): RegisteredTool;
3
- //# sourceMappingURL=delete.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/tools/editing/delete.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAKzF,wBAAgB,UAAU,CAAE,MAAM,EAAE,SAAS,GAAI,cAAc,CAe9D"}
@@ -1,25 +0,0 @@
1
- import { z } from 'zod';
2
- import { getBot, promisifyBotMethod } from '../../common/nodemwBot.js';
3
- import { jsonResult, errorResult } from '../../common/utils.js';
4
- export function deleteTool(server) {
5
- return server.tool('delete', 'Delete a wiki page (requires authentication)', {
6
- title: z.string().describe('Page title to delete'),
7
- reason: z.string().describe('Reason for deletion'),
8
- }, {
9
- title: 'Delete page',
10
- readOnlyHint: false,
11
- destructiveHint: true
12
- }, async (params) => handleDeleteTool(params));
13
- }
14
- async function handleDeleteTool(params) {
15
- try {
16
- const bot = await getBot();
17
- const prefixedReason = `[nodemw-mcp] ${params.reason}`;
18
- const result = await promisifyBotMethod(bot, 'delete', params.title, prefixedReason);
19
- return jsonResult(result);
20
- }
21
- catch (error) {
22
- return errorResult('Failed to delete page', error);
23
- }
24
- }
25
- //# sourceMappingURL=delete.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/tools/editing/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,UAAU,UAAU,CAAE,MAAiB;IAC5C,OAAO,MAAM,CAAC,IAAI,CACjB,QAAQ,EACR,8CAA8C,EAC9C;QACC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,sBAAsB,CAAE;QACpD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,qBAAqB,CAAE;KACpD,EACD;QACC,KAAK,EAAE,aAAa;QACpB,YAAY,EAAE,KAAK;QACnB,eAAe,EAAE,IAAI;KACF,EACpB,KAAK,EAAG,MAAM,EAAG,EAAE,CAAC,gBAAgB,CAAE,MAAM,CAAE,CAC9C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC9B,MAGC;IAED,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAC3B,MAAM,cAAc,GAAG,gBAAgB,MAAM,CAAC,MAAM,EAAE,CAAC;QAEvD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAItC,GAAG,EACH,QAAQ,EACR,MAAM,CAAC,KAAK,EACZ,cAAc,CACd,CAAC;QAEF,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAQ,KAAK,EAAG,CAAC;QAClB,OAAO,WAAW,CAAC,uBAAuB,EAAE,KAAc,CAAC,CAAC;IAC7D,CAAC;AACF,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- export declare function editTool(server: McpServer): RegisteredTool;
3
- //# sourceMappingURL=edit.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../../src/tools/editing/edit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAKzF,wBAAgB,QAAQ,CAAE,MAAM,EAAE,SAAS,GAAI,cAAc,CAiB5D"}
@@ -1,27 +0,0 @@
1
- import { z } from 'zod';
2
- import { getBot, promisifyBotMethod } from '../../common/nodemwBot.js';
3
- import { jsonResult, errorResult } from '../../common/utils.js';
4
- export function editTool(server) {
5
- return server.tool('edit', 'Edit a wiki page (requires authentication)', {
6
- title: z.string().describe('Page title to edit'),
7
- content: z.string().describe('New content for the page'),
8
- summary: z.string().describe('Edit summary'),
9
- minor: z.boolean().optional().default(false).describe('Mark as minor edit')
10
- }, {
11
- title: 'Edit page',
12
- readOnlyHint: false,
13
- destructiveHint: true
14
- }, async (params) => handleEditTool(params));
15
- }
16
- async function handleEditTool(params) {
17
- try {
18
- const bot = await getBot();
19
- const prefixedSummary = `[nodemw-mcp] ${params.summary}`;
20
- const result = await promisifyBotMethod(bot, 'edit', params.title, params.content, prefixedSummary, params.minor || false);
21
- return jsonResult(result);
22
- }
23
- catch (error) {
24
- return errorResult('Failed to edit page', error);
25
- }
26
- }
27
- //# sourceMappingURL=edit.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/tools/editing/edit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,UAAU,QAAQ,CAAE,MAAiB;IAC1C,OAAO,MAAM,CAAC,IAAI,CACjB,MAAM,EACN,4CAA4C,EAC5C;QACC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,oBAAoB,CAAE;QAClD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,0BAA0B,CAAE;QAC1D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,cAAc,CAAE;QAC9C,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAE,KAAK,CAAE,CAAC,QAAQ,CAAE,oBAAoB,CAAE;KAC/E,EACD;QACC,KAAK,EAAE,WAAW;QAClB,YAAY,EAAE,KAAK;QACnB,eAAe,EAAE,IAAI;KACF,EACpB,KAAK,EAAG,MAAM,EAAG,EAAE,CAAC,cAAc,CAAE,MAAM,CAAE,CAC5C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAC5B,MAKC;IAED,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAC3B,MAAM,eAAe,GAAG,gBAAgB,MAAM,CAAC,OAAO,EAAE,CAAC;QAEzD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAMtC,GAAG,EACH,MAAM,EACN,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,OAAO,EACd,eAAe,EACf,MAAM,CAAC,KAAK,IAAI,KAAK,CACrB,CAAC;QAEF,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAQ,KAAK,EAAG,CAAC;QAClB,OAAO,WAAW,CAAC,qBAAqB,EAAE,KAAc,CAAC,CAAC;IAC3D,CAAC;AACF,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- export declare function moveTool(server: McpServer): RegisteredTool;
3
- //# sourceMappingURL=move.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"move.d.ts","sourceRoot":"","sources":["../../../src/tools/editing/move.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAKzF,wBAAgB,QAAQ,CAAE,MAAM,EAAE,SAAS,GAAI,cAAc,CAgB5D"}
@@ -1,26 +0,0 @@
1
- import { z } from 'zod';
2
- import { getBot, promisifyBotMethod } from '../../common/nodemwBot.js';
3
- import { jsonResult, errorResult } from '../../common/utils.js';
4
- export function moveTool(server) {
5
- return server.tool('move', 'Move (rename) a wiki page (requires authentication)', {
6
- from: z.string().describe('Current page title'),
7
- to: z.string().describe('New page title'),
8
- summary: z.string().describe('Move summary'),
9
- }, {
10
- title: 'Move page',
11
- readOnlyHint: false,
12
- destructiveHint: true
13
- }, async (params) => handleMoveTool(params));
14
- }
15
- async function handleMoveTool(params) {
16
- try {
17
- const bot = await getBot();
18
- const prefixedSummary = `[nodemw-mcp] ${params.summary}`;
19
- const result = await promisifyBotMethod(bot, 'move', params.from, params.to, prefixedSummary);
20
- return jsonResult(result);
21
- }
22
- catch (error) {
23
- return errorResult('Failed to move page', error);
24
- }
25
- }
26
- //# sourceMappingURL=move.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"move.js","sourceRoot":"","sources":["../../../src/tools/editing/move.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,UAAU,QAAQ,CAAE,MAAiB;IAC1C,OAAO,MAAM,CAAC,IAAI,CACjB,MAAM,EACN,qDAAqD,EACrD;QACC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,oBAAoB,CAAE;QACjD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,gBAAgB,CAAE;QAC3C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,cAAc,CAAE;KAC9C,EACD;QACC,KAAK,EAAE,WAAW;QAClB,YAAY,EAAE,KAAK;QACnB,eAAe,EAAE,IAAI;KACF,EACpB,KAAK,EAAG,MAAM,EAAG,EAAE,CAAC,cAAc,CAAE,MAAM,CAAE,CAC5C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAC5B,MAIC;IAED,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAC3B,MAAM,eAAe,GAAG,gBAAgB,MAAM,CAAC,OAAO,EAAE,CAAC;QAEzD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAKtC,GAAG,EACH,MAAM,EACN,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,EAAE,EACT,eAAe,CACf,CAAC;QAEF,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAQ,KAAK,EAAG,CAAC;QAClB,OAAO,WAAW,CAAC,qBAAqB,EAAE,KAAc,CAAC,CAAC;IAC3D,CAAC;AACF,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- export declare function prependTool(server: McpServer): RegisteredTool;
3
- //# sourceMappingURL=prepend.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prepend.d.ts","sourceRoot":"","sources":["../../../src/tools/editing/prepend.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAKzF,wBAAgB,WAAW,CAAE,MAAM,EAAE,SAAS,GAAI,cAAc,CAgB/D"}
@@ -1,26 +0,0 @@
1
- import { z } from 'zod';
2
- import { getBot, promisifyBotMethod } from '../../common/nodemwBot.js';
3
- import { jsonResult, errorResult } from '../../common/utils.js';
4
- export function prependTool(server) {
5
- return server.tool('prepend', 'Prepend content to a wiki page (requires authentication)', {
6
- title: z.string().describe('Page title to prepend to'),
7
- content: z.string().describe('Content to prepend'),
8
- summary: z.string().describe('Edit summary'),
9
- }, {
10
- title: 'Prepend to page',
11
- readOnlyHint: false,
12
- destructiveHint: true
13
- }, async (params) => handlePrependTool(params));
14
- }
15
- async function handlePrependTool(params) {
16
- try {
17
- const bot = await getBot();
18
- const prefixedSummary = `[nodemw-mcp] ${params.summary}`;
19
- const result = await promisifyBotMethod(bot, 'prepend', params.title, params.content, prefixedSummary);
20
- return jsonResult(result);
21
- }
22
- catch (error) {
23
- return errorResult('Failed to prepend to page', error);
24
- }
25
- }
26
- //# sourceMappingURL=prepend.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prepend.js","sourceRoot":"","sources":["../../../src/tools/editing/prepend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,UAAU,WAAW,CAAE,MAAiB;IAC7C,OAAO,MAAM,CAAC,IAAI,CACjB,SAAS,EACT,0DAA0D,EAC1D;QACC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,0BAA0B,CAAE;QACxD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,oBAAoB,CAAE;QACpD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,cAAc,CAAE;KAC9C,EACD;QACC,KAAK,EAAE,iBAAiB;QACxB,YAAY,EAAE,KAAK;QACnB,eAAe,EAAE,IAAI;KACF,EACpB,KAAK,EAAG,MAAM,EAAG,EAAE,CAAC,iBAAiB,CAAE,MAAM,CAAE,CAC/C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC/B,MAIC;IAED,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAC3B,MAAM,eAAe,GAAG,gBAAgB,MAAM,CAAC,OAAO,EAAE,CAAC;QAEzD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAMtC,GAAG,EACH,SAAS,EACT,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,OAAO,EACd,eAAe,CACf,CAAC;QAEF,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAQ,KAAK,EAAG,CAAC;QAClB,OAAO,WAAW,CAAC,2BAA2B,EAAE,KAAc,CAAC,CAAC;IACjE,CAAC;AACF,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- export declare function protectTool(server: McpServer): RegisteredTool;
3
- //# sourceMappingURL=protect.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"protect.d.ts","sourceRoot":"","sources":["../../../src/tools/editing/protect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAKzF,wBAAgB,WAAW,CAAE,MAAM,EAAE,SAAS,GAAI,cAAc,CAuB/D"}
@@ -1,37 +0,0 @@
1
- import { z } from 'zod';
2
- import { getBot, promisifyBotMethod } from '../../common/nodemwBot.js';
3
- import { jsonResult, errorResult } from '../../common/utils.js';
4
- export function protectTool(server) {
5
- return server.tool('protect', 'Protect a wiki page (requires authentication)', {
6
- title: z.string().describe('Page title to protect'),
7
- protections: z.array(z.object({
8
- type: z.string().describe('Action type (e.g., edit, move)'),
9
- level: z.string().optional().default('all').describe('Protection level (e.g., sysop, autoconfirmed)'),
10
- expiry: z.string().optional().describe('Expiry time (e.g., 1 week, never)')
11
- })).describe('Protection settings'),
12
- reason: z.string().optional().describe('Reason for protection'),
13
- cascade: z.boolean().optional().default(false).describe('Apply cascade protection')
14
- }, {
15
- title: 'Protect page',
16
- readOnlyHint: false,
17
- destructiveHint: true
18
- }, async (params) => handleProtectTool(params));
19
- }
20
- async function handleProtectTool(params) {
21
- try {
22
- const bot = await getBot();
23
- const options = {};
24
- if (params.reason) {
25
- options.reason = `[nodemw-mcp] ${params.reason}`;
26
- }
27
- if (params.cascade) {
28
- options.cascade = params.cascade;
29
- }
30
- const result = await promisifyBotMethod(bot, 'protect', params.title, params.protections, options);
31
- return jsonResult(result);
32
- }
33
- catch (error) {
34
- return errorResult('Failed to protect page', error);
35
- }
36
- }
37
- //# sourceMappingURL=protect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"protect.js","sourceRoot":"","sources":["../../../src/tools/editing/protect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,UAAU,WAAW,CAAE,MAAiB;IAC7C,OAAO,MAAM,CAAC,IAAI,CACjB,SAAS,EACT,+CAA+C,EAC/C;QACC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,uBAAuB,CAAE;QACrD,WAAW,EAAE,CAAC,CAAC,KAAK,CACnB,CAAC,CAAC,MAAM,CAAC;YACR,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,gCAAgC,CAAE;YAC7D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAE,+CAA+C,CAAE;YACvG,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAE,mCAAmC,CAAE;SAC7E,CAAC,CACF,CAAC,QAAQ,CAAE,qBAAqB,CAAE;QACnC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAE,uBAAuB,CAAE;QACjE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAE,0BAA0B,CAAE;KACrF,EACD;QACC,KAAK,EAAE,cAAc;QACrB,YAAY,EAAE,KAAK;QACnB,eAAe,EAAE,IAAI;KACF,EACpB,KAAK,EAAG,MAAM,EAAG,EAAE,CAAC,iBAAiB,CAAE,MAAM,CAAE,CAC/C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC/B,MAKC;IAED,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAQ,EAAE,CAAC;QACxB,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,CAAC,MAAM,GAAG,gBAAgB,MAAM,CAAC,MAAM,EAAE,CAAC;QAClD,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAClC,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAItC,GAAG,EACH,SAAS,EACT,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,WAAW,EAClB,OAAO,CACP,CAAC;QAEF,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAQ,KAAK,EAAG,CAAC;QAClB,OAAO,WAAW,CAAC,wBAAwB,EAAE,KAAc,CAAC,CAAC;IAC9D,CAAC;AACF,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- export declare function purgeTool(server: McpServer): RegisteredTool;
3
- //# sourceMappingURL=purge.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"purge.d.ts","sourceRoot":"","sources":["../../../src/tools/editing/purge.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAKzF,wBAAgB,SAAS,CAAE,MAAM,EAAE,SAAS,GAAI,cAAc,CAc7D"}
@@ -1,23 +0,0 @@
1
- import { z } from 'zod';
2
- import { getBot, promisifyBotMethod } from '../../common/nodemwBot.js';
3
- import { jsonResult, errorResult } from '../../common/utils.js';
4
- export function purgeTool(server) {
5
- return server.tool('purge', 'Purge cache for wiki pages', {
6
- titles: z.union([z.string(), z.array(z.string())]).describe('Page title(s) or category to purge'),
7
- }, {
8
- title: 'Purge pages',
9
- readOnlyHint: false,
10
- destructiveHint: false
11
- }, async (params) => handlePurgeTool(params));
12
- }
13
- async function handlePurgeTool(params) {
14
- try {
15
- const bot = await getBot();
16
- const result = await promisifyBotMethod(bot, 'purge', params.titles);
17
- return jsonResult(result);
18
- }
19
- catch (error) {
20
- return errorResult('Failed to purge pages', error);
21
- }
22
- }
23
- //# sourceMappingURL=purge.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"purge.js","sourceRoot":"","sources":["../../../src/tools/editing/purge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,UAAU,SAAS,CAAE,MAAiB;IAC3C,OAAO,MAAM,CAAC,IAAI,CACjB,OAAO,EACP,4BAA4B,EAC5B;QACC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAE,oCAAoC,CAAE;KACnG,EACD;QACC,KAAK,EAAE,aAAa;QACpB,YAAY,EAAE,KAAK;QACnB,eAAe,EAAE,KAAK;KACH,EACpB,KAAK,EAAG,MAAM,EAAG,EAAE,CAAC,eAAe,CAAE,MAAM,CAAE,CAC7C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAC7B,MAEC;IAED,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAE3B,MAAM,MAAM,GAAG,MAAM,kBAAkB,CACtC,GAAG,EACH,OAAO,EACP,MAAM,CAAC,MAAM,CACb,CAAC;QAEF,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAQ,KAAK,EAAG,CAAC;QAClB,OAAO,WAAW,CAAC,uBAAuB,EAAE,KAAc,CAAC,CAAC;IAC7D,CAAC;AACF,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- export declare function sendEmailTool(server: McpServer): RegisteredTool;
3
- //# sourceMappingURL=send-email.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"send-email.d.ts","sourceRoot":"","sources":["../../../src/tools/editing/send-email.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAKzF,wBAAgB,aAAa,CAAE,MAAM,EAAE,SAAS,GAAI,cAAc,CAgBjE"}
@@ -1,25 +0,0 @@
1
- import { z } from 'zod';
2
- import { getBot, promisifyBotMethod } from '../../common/nodemwBot.js';
3
- import { jsonResult, errorResult } from '../../common/utils.js';
4
- export function sendEmailTool(server) {
5
- return server.tool('send-email', 'Send email to a wiki user (requires authentication)', {
6
- username: z.string().describe('Username to email'),
7
- subject: z.string().describe('Email subject'),
8
- text: z.string().describe('Email content'),
9
- }, {
10
- title: 'Send email',
11
- readOnlyHint: false,
12
- destructiveHint: false
13
- }, async (params) => handleSendEmailTool(params));
14
- }
15
- async function handleSendEmailTool(params) {
16
- try {
17
- const bot = await getBot();
18
- const result = await promisifyBotMethod(bot, 'sendEmail', params.username, params.subject, params.text);
19
- return jsonResult(result);
20
- }
21
- catch (error) {
22
- return errorResult('Failed to send email', error);
23
- }
24
- }
25
- //# sourceMappingURL=send-email.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"send-email.js","sourceRoot":"","sources":["../../../src/tools/editing/send-email.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,UAAU,aAAa,CAAE,MAAiB;IAC/C,OAAO,MAAM,CAAC,IAAI,CACjB,YAAY,EACZ,qDAAqD,EACrD;QACC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,mBAAmB,CAAE;QACpD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,eAAe,CAAE;QAC/C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,eAAe,CAAE;KAC5C,EACD;QACC,KAAK,EAAE,YAAY;QACnB,YAAY,EAAE,KAAK;QACnB,eAAe,EAAE,KAAK;KACH,EACpB,KAAK,EAAG,MAAM,EAAG,EAAE,CAAC,mBAAmB,CAAE,MAAM,CAAE,CACjD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CACjC,MAIC;IAED,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAE3B,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAGtC,GAAG,EACH,WAAW,EACX,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,IAAI,CACX,CAAC;QAEF,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAQ,KAAK,EAAG,CAAC;QAClB,OAAO,WAAW,CAAC,sBAAsB,EAAE,KAAc,CAAC,CAAC;IAC5D,CAAC;AACF,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- export declare function uploadByUrlTool(server: McpServer): RegisteredTool;
3
- //# sourceMappingURL=upload-by-url.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upload-by-url.d.ts","sourceRoot":"","sources":["../../../src/tools/editing/upload-by-url.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAKzF,wBAAgB,eAAe,CAAE,MAAM,EAAE,SAAS,GAAI,cAAc,CAgBnE"}
@@ -1,26 +0,0 @@
1
- import { z } from 'zod';
2
- import { getBot, promisifyBotMethod } from '../../common/nodemwBot.js';
3
- import { jsonResult, errorResult } from '../../common/utils.js';
4
- export function uploadByUrlTool(server) {
5
- return server.tool('upload-by-url', 'Upload a file to wiki from URL (requires authentication)', {
6
- filename: z.string().describe('Destination filename on wiki'),
7
- url: z.string().url().describe('Source URL to download file from'),
8
- summary: z.string().optional().describe('Upload summary'),
9
- }, {
10
- title: 'Upload file by URL',
11
- readOnlyHint: false,
12
- destructiveHint: false
13
- }, async (params) => handleUploadByUrlTool(params));
14
- }
15
- async function handleUploadByUrlTool(params) {
16
- try {
17
- const bot = await getBot();
18
- const prefixedSummary = params.summary ? `[nodemw-mcp] ${params.summary}` : '[nodemw-mcp] File upload from URL';
19
- const result = await promisifyBotMethod(bot, 'uploadByUrl', params.filename, params.url, prefixedSummary);
20
- return jsonResult(result);
21
- }
22
- catch (error) {
23
- return errorResult('Failed to upload file by URL', error);
24
- }
25
- }
26
- //# sourceMappingURL=upload-by-url.js.map