@xiedada/nodemw-mcp-server 0.0.1 → 0.0.3

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 +0,0 @@
1
- {"version":3,"file":"upload-by-url.js","sourceRoot":"","sources":["../../../src/tools/editing/upload-by-url.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,eAAe,CAAE,MAAiB;IACjD,OAAO,MAAM,CAAC,IAAI,CACjB,eAAe,EACf,0DAA0D,EAC1D;QACC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,8BAA8B,CAAE;QAC/D,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAE,kCAAkC,CAAE;QACpE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAE,gBAAgB,CAAE;KAC3D,EACD;QACC,KAAK,EAAE,oBAAoB;QAC3B,YAAY,EAAE,KAAK;QACnB,eAAe,EAAE,KAAK;KACH,EACpB,KAAK,EAAG,MAAM,EAAG,EAAE,CAAC,qBAAqB,CAAE,MAAM,CAAE,CACnD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CACnC,MAIC;IAED,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAC3B,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,mCAAmC,CAAC;QAEhH,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAKtC,GAAG,EACH,aAAa,EACb,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,GAAG,EACV,eAAe,CACf,CAAC;QAEF,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAQ,KAAK,EAAG,CAAC;QAClB,OAAO,WAAW,CAAC,8BAA8B,EAAE,KAAc,CAAC,CAAC;IACpE,CAAC;AACF,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- export declare function uploadTool(server: McpServer): RegisteredTool;
3
- //# sourceMappingURL=upload.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../src/tools/editing/upload.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,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 uploadTool(server) {
5
- return server.tool('upload', 'Upload a file to wiki (requires authentication)', {
6
- filename: z.string().describe('Destination filename on wiki'),
7
- content: z.string().describe('File content as base64 string'),
8
- comment: z.string().optional().describe('Upload comment'),
9
- }, {
10
- title: 'Upload file',
11
- readOnlyHint: false,
12
- destructiveHint: false
13
- }, async (params) => handleUploadTool(params));
14
- }
15
- async function handleUploadTool(params) {
16
- try {
17
- const bot = await getBot();
18
- const fileContent = Buffer.from(params.content, 'base64');
19
- const comment = params.comment ? `[nodemw-mcp] ${params.comment}` : '[nodemw-mcp] File upload';
20
- const result = await promisifyBotMethod(bot, 'upload', params.filename, fileContent, comment);
21
- return jsonResult(result);
22
- }
23
- catch (error) {
24
- return errorResult('Failed to upload file', error);
25
- }
26
- }
27
- //# sourceMappingURL=upload.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upload.js","sourceRoot":"","sources":["../../../src/tools/editing/upload.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,iDAAiD,EACjD;QACC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,8BAA8B,CAAE;QAC/D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,+BAA+B,CAAE;QAC/D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAE,gBAAgB,CAAE;KAC3D,EACD;QACC,KAAK,EAAE,aAAa;QACpB,YAAY,EAAE,KAAK;QACnB,eAAe,EAAE,KAAK;KACH,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,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC;QAE/F,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAKtC,GAAG,EACH,QAAQ,EACR,MAAM,CAAC,QAAQ,EACf,WAAW,EACX,OAAO,CACP,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 registerAllTools(server: McpServer): RegisteredTool[];
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAkGzF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,cAAc,EAAE,CAUpE"}
@@ -1,105 +0,0 @@
1
- // Read tools
2
- import { getArticleTool } from './ro/get-article.js';
3
- import { searchTool } from './ro/search.js';
4
- import { getPagesInCategoryTool } from './ro/get-pages-in-category.js';
5
- import { getCategoriesTool } from './ro/get-categories.js';
6
- import { getUsersTool } from './ro/get-users.js';
7
- import { getAllPagesTool } from './ro/get-all-pages.js';
8
- import { getPagesInNamespaceTool } from './ro/get-pages-in-namespace.js';
9
- import { getPagesByPrefixTool } from './ro/get-pages-by-prefix.js';
10
- import { getPagesTranscludingTool } from './ro/get-pages-transcluding.js';
11
- import { getArticleRevisionsTool } from './ro/get-article-revisions.js';
12
- import { getArticleCategoriesTool } from './ro/get-article-categories.js';
13
- import { getArticlePropertiesTool } from './ro/get-article-properties.js';
14
- import { getArticleInfoTool } from './ro/get-article-info.js';
15
- import { getUserContribsTool } from './ro/get-user-contribs.js';
16
- import { whoamiTool } from './ro/whoami.js';
17
- import { whoisTool } from './ro/whois.js';
18
- import { whoareTool } from './ro/whoare.js';
19
- import { getImagesTool } from './ro/get-images.js';
20
- import { getImagesFromArticleTool } from './ro/get-images-from-article.js';
21
- import { getImageUsageTool } from './ro/get-image-usage.js';
22
- import { getImageInfoTool } from './ro/get-image-info.js';
23
- import { getLogTool } from './ro/get-log.js';
24
- import { expandTemplatesTool } from './ro/expand-templates.js';
25
- import { parseTool } from './ro/parse.js';
26
- import { getRecentChangesTool } from './ro/get-recent-changes.js';
27
- import { getSiteInfoTool } from './ro/get-site-info.js';
28
- import { getSiteStatsTool } from './ro/get-site-stats.js';
29
- import { getMediaWikiVersionTool } from './ro/get-mediawiki-version.js';
30
- import { getQueryPageTool } from './ro/get-query-page.js';
31
- import { getExternalLinksTool } from './ro/get-external-links.js';
32
- import { getBacklinksTool } from './ro/get-backlinks.js';
33
- // Write tools
34
- import { editTool } from './editing/edit.js';
35
- import { appendTool } from './editing/append.js';
36
- import { prependTool } from './editing/prepend.js';
37
- import { moveTool } from './editing/move.js';
38
- import { deleteTool } from './editing/delete.js';
39
- import { protectTool } from './editing/protect.js';
40
- import { purgeTool } from './editing/purge.js';
41
- import { sendEmailTool } from './editing/send-email.js';
42
- import { uploadTool } from './editing/upload.js';
43
- import { uploadByUrlTool } from './editing/upload-by-url.js';
44
- import { addFlowTopicTool } from './editing/add-flow-topic.js';
45
- import { createAccountTool } from './editing/create-account.js';
46
- const toolRegistrars = [
47
- // Read tools
48
- getArticleTool,
49
- searchTool,
50
- getPagesInCategoryTool,
51
- getCategoriesTool,
52
- getUsersTool,
53
- getAllPagesTool,
54
- getPagesInNamespaceTool,
55
- getPagesByPrefixTool,
56
- getPagesTranscludingTool,
57
- getArticleRevisionsTool,
58
- getArticleCategoriesTool,
59
- getArticlePropertiesTool,
60
- getArticleInfoTool,
61
- getUserContribsTool,
62
- whoamiTool,
63
- whoisTool,
64
- whoareTool,
65
- getImagesTool,
66
- getImagesFromArticleTool,
67
- getImageUsageTool,
68
- getImageInfoTool,
69
- getLogTool,
70
- expandTemplatesTool,
71
- parseTool,
72
- getRecentChangesTool,
73
- getSiteInfoTool,
74
- getSiteStatsTool,
75
- getMediaWikiVersionTool,
76
- getQueryPageTool,
77
- getExternalLinksTool,
78
- getBacklinksTool,
79
- // Write tools
80
- editTool,
81
- appendTool,
82
- prependTool,
83
- moveTool,
84
- deleteTool,
85
- protectTool,
86
- purgeTool,
87
- sendEmailTool,
88
- uploadTool,
89
- uploadByUrlTool,
90
- addFlowTopicTool,
91
- createAccountTool
92
- ];
93
- export function registerAllTools(server) {
94
- const registeredTools = [];
95
- for (const registrar of toolRegistrars) {
96
- try {
97
- registeredTools.push(registrar(server));
98
- }
99
- catch (error) {
100
- console.error(`Error registering tool: ${error.message}`);
101
- }
102
- }
103
- return registeredTools;
104
- }
105
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- export declare function expandTemplatesTool(server: McpServer): RegisteredTool;
3
- //# sourceMappingURL=expand-templates.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"expand-templates.d.ts","sourceRoot":"","sources":["../../../src/tools/ro/expand-templates.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAIzF,wBAAgB,mBAAmB,CAAE,MAAM,EAAE,SAAS,GAAI,cAAc,CAevE"}
@@ -1,28 +0,0 @@
1
- import { z } from 'zod';
2
- import { getBot, promisifyBotMethod } from '../../common/nodemwBot.js';
3
- export function expandTemplatesTool(server) {
4
- return server.tool('expand-templates', 'Expand templates in wikitext', {
5
- text: z.string().describe('Wikitext with templates to expand'),
6
- title: z.string().optional().describe('Context page title'),
7
- }, {
8
- title: 'Expand templates',
9
- readOnlyHint: true,
10
- destructiveHint: false
11
- }, async ({ text, title }) => handleExpandTemplatesTool(text, title));
12
- }
13
- async function handleExpandTemplatesTool(text, title) {
14
- try {
15
- const bot = await getBot();
16
- const expandedXml = await promisifyBotMethod(bot, 'expandTemplates', text, title || '');
17
- return {
18
- content: [{ type: 'text', text: expandedXml }]
19
- };
20
- }
21
- catch (error) {
22
- return {
23
- content: [{ type: 'text', text: `Error: ${error.message}` }],
24
- isError: true
25
- };
26
- }
27
- }
28
- //# sourceMappingURL=expand-templates.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"expand-templates.js","sourceRoot":"","sources":["../../../src/tools/ro/expand-templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEvE,MAAM,UAAU,mBAAmB,CAAE,MAAiB;IACrD,OAAO,MAAM,CAAC,IAAI,CACjB,kBAAkB,EAClB,8BAA8B,EAC9B;QACC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QAC9D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;KAC3D,EACD;QACC,KAAK,EAAE,kBAAkB;QACzB,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;KACH,EACpB,KAAK,EAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAG,EAAE,CAAC,yBAAyB,CAAE,IAAI,EAAE,KAAK,CAAE,CACrE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,yBAAyB,CACvC,IAAY,EACZ,KAAc;IAEd,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAC3B,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAC3C,GAAG,EACH,iBAAiB,EACjB,IAAI,EACJ,KAAK,IAAI,EAAE,CACX,CAAC;QAEF,OAAO;YACN,OAAO,EAAE,CAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAE;SAChD,CAAC;IACH,CAAC;IAAC,OAAQ,KAAK,EAAG,CAAC;QAClB,OAAO;YACN,OAAO,EAAE,CAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAa,KAAgB,CAAC,OAAQ,EAAE,EAAE,CAAE;YAC7E,OAAO,EAAE,IAAI;SACb,CAAC;IACH,CAAC;AACF,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- export declare function getAllPagesTool(server: McpServer): RegisteredTool;
3
- //# sourceMappingURL=get-all-pages.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-all-pages.d.ts","sourceRoot":"","sources":["../../../src/tools/ro/get-all-pages.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAYzF,wBAAgB,eAAe,CAAE,MAAM,EAAE,SAAS,GAAI,cAAc,CAcnE"}
@@ -1,30 +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 getAllPagesTool(server) {
5
- return server.tool('get-all-pages', 'Get all non-redirect pages from the wiki', {
6
- limit: z.number().optional().default(500).describe('Maximum number of pages to return')
7
- }, {
8
- title: 'Get all pages',
9
- readOnlyHint: true,
10
- destructiveHint: false
11
- }, async ({ limit }) => handleGetAllPagesTool(limit));
12
- }
13
- async function handleGetAllPagesTool(limit) {
14
- try {
15
- const bot = await getBot();
16
- const allResults = await promisifyBotMethod(bot, 'getAllPages');
17
- // Limit results
18
- const results = allResults.slice(0, limit);
19
- return jsonResult({
20
- total: allResults.length,
21
- displayed: results.length,
22
- pages: results,
23
- limit
24
- });
25
- }
26
- catch (error) {
27
- return errorResult('Failed to get all pages', error);
28
- }
29
- }
30
- //# sourceMappingURL=get-all-pages.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-all-pages.js","sourceRoot":"","sources":["../../../src/tools/ro/get-all-pages.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;AAShE,MAAM,UAAU,eAAe,CAAE,MAAiB;IACjD,OAAO,MAAM,CAAC,IAAI,CACjB,eAAe,EACf,0CAA0C,EAC1C;QACC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;KACvF,EACD;QACC,KAAK,EAAE,eAAe;QACtB,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;KACH,EACpB,KAAK,EAAG,EAAE,KAAK,EAAE,EAAG,EAAE,CAAC,qBAAqB,CAAE,KAAK,CAAE,CACrD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CACnC,KAAa;IAEb,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAC1C,GAAG,EACH,aAAa,CACb,CAAC;QAEF,gBAAgB;QAChB,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAE3C,OAAO,UAAU,CAAC;YACjB,KAAK,EAAE,UAAU,CAAC,MAAM;YACxB,SAAS,EAAE,OAAO,CAAC,MAAM;YACzB,KAAK,EAAE,OAAO;YACd,KAAK;SACL,CAAC,CAAC;IACJ,CAAC;IAAC,OAAQ,KAAK,EAAG,CAAC;QAClB,OAAO,WAAW,CAAC,yBAAyB,EAAE,KAAc,CAAC,CAAC;IAC/D,CAAC;AACF,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- export declare function getArticleCategoriesTool(server: McpServer): RegisteredTool;
3
- //# sourceMappingURL=get-article-categories.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-article-categories.d.ts","sourceRoot":"","sources":["../../../src/tools/ro/get-article-categories.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAKzF,wBAAgB,wBAAwB,CAAE,MAAM,EAAE,SAAS,GAAI,cAAc,CAc5E"}
@@ -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 getArticleCategoriesTool(server) {
5
- return server.tool('get-article-categories', 'Get all categories that an article belongs to', {
6
- title: z.union([z.string(), z.number()]).describe('Article title or page ID')
7
- }, {
8
- title: 'Get article categories',
9
- readOnlyHint: true,
10
- destructiveHint: false
11
- }, async ({ title }) => handleGetArticleCategoriesTool(title));
12
- }
13
- async function handleGetArticleCategoriesTool(title) {
14
- try {
15
- const bot = await getBot();
16
- const categories = await promisifyBotMethod(bot, 'getArticleCategories', title);
17
- return jsonResult({
18
- title,
19
- categories,
20
- count: categories.length
21
- });
22
- }
23
- catch (error) {
24
- return errorResult('Failed to get article categories', error);
25
- }
26
- }
27
- //# sourceMappingURL=get-article-categories.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-article-categories.js","sourceRoot":"","sources":["../../../src/tools/ro/get-article-categories.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,wBAAwB,CAAE,MAAiB;IAC1D,OAAO,MAAM,CAAC,IAAI,CACjB,wBAAwB,EACxB,+CAA+C,EAC/C;QACC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;KAC7E,EACD;QACC,KAAK,EAAE,wBAAwB;QAC/B,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;KACH,EACpB,KAAK,EAAG,EAAE,KAAK,EAAE,EAAG,EAAE,CAAC,8BAA8B,CAAE,KAAK,CAAE,CAC9D,CAAC;AACH,CAAC;AAED,KAAK,UAAU,8BAA8B,CAC5C,KAAsB;IAEtB,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAC1C,GAAG,EACH,sBAAsB,EACtB,KAAK,CACL,CAAC;QAEF,OAAO,UAAU,CAAC;YACjB,KAAK;YACL,UAAU;YACV,KAAK,EAAE,UAAU,CAAC,MAAM;SACxB,CAAC,CAAC;IACJ,CAAC;IAAC,OAAQ,KAAK,EAAG,CAAC;QAClB,OAAO,WAAW,CAAC,kCAAkC,EAAE,KAAc,CAAC,CAAC;IACxE,CAAC;AACF,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- export declare function getArticleInfoTool(server: McpServer): RegisteredTool;
3
- //# sourceMappingURL=get-article-info.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-article-info.d.ts","sourceRoot":"","sources":["../../../src/tools/ro/get-article-info.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAYzF,wBAAgB,kBAAkB,CAAE,MAAM,EAAE,SAAS,GAAI,cAAc,CAmBtE"}
@@ -1,35 +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 getArticleInfoTool(server) {
5
- return server.tool('get-article-info', 'Get detailed information about one or more articles', {
6
- title: z.union([
7
- z.string(),
8
- z.number(),
9
- z.array(z.union([z.string(), z.number()]))
10
- ]).describe('Article title, page ID, or array of titles/IDs'),
11
- properties: z.array(z.string()).optional().describe('Specific properties to retrieve')
12
- }, {
13
- title: 'Get article info',
14
- readOnlyHint: true,
15
- destructiveHint: false
16
- }, async ({ title, properties }) => handleGetArticleInfoTool(title, properties));
17
- }
18
- async function handleGetArticleInfoTool(title, properties) {
19
- try {
20
- const bot = await getBot();
21
- const options = properties ? { inprop: properties } : {};
22
- const info = await promisifyBotMethod(bot, 'getArticleInfo', title, options);
23
- // Handle array of results vs single result
24
- const results = Array.isArray(info) ? info : [info];
25
- return jsonResult({
26
- title,
27
- results,
28
- count: results.length
29
- });
30
- }
31
- catch (error) {
32
- return errorResult('Failed to get article info', error);
33
- }
34
- }
35
- //# sourceMappingURL=get-article-info.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-article-info.js","sourceRoot":"","sources":["../../../src/tools/ro/get-article-info.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;AAShE,MAAM,UAAU,kBAAkB,CAAE,MAAiB;IACpD,OAAO,MAAM,CAAC,IAAI,CACjB,kBAAkB,EAClB,qDAAqD,EACrD;QACC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC;YACd,CAAC,CAAC,MAAM,EAAE;YACV,CAAC,CAAC,MAAM,EAAE;YACV,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;SAC1C,CAAC,CAAC,QAAQ,CAAC,gDAAgD,CAAC;QAC7D,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;KACtF,EACD;QACC,KAAK,EAAE,kBAAkB;QACzB,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;KACH,EACpB,KAAK,EAAG,EAAE,KAAK,EAAE,UAAU,EAAE,EAAG,EAAE,CAAC,wBAAwB,CAAE,KAAK,EAAE,UAAU,CAAE,CAChF,CAAC;AACH,CAAC;AAED,KAAK,UAAU,wBAAwB,CACtC,KAA4C,EAC5C,UAAqB;IAErB,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,GAAG,MAAM,kBAAkB,CACpC,GAAG,EACH,gBAAgB,EAChB,KAAK,EACL,OAAO,CACP,CAAC;QAEF,2CAA2C;QAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAEpD,OAAO,UAAU,CAAC;YACjB,KAAK;YACL,OAAO;YACP,KAAK,EAAE,OAAO,CAAC,MAAM;SACrB,CAAC,CAAC;IACJ,CAAC;IAAC,OAAQ,KAAK,EAAG,CAAC;QAClB,OAAO,WAAW,CAAC,4BAA4B,EAAE,KAAc,CAAC,CAAC;IAClE,CAAC;AACF,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- export declare function getArticlePropertiesTool(server: McpServer): RegisteredTool;
3
- //# sourceMappingURL=get-article-properties.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-article-properties.d.ts","sourceRoot":"","sources":["../../../src/tools/ro/get-article-properties.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAUzF,wBAAgB,wBAAwB,CAAE,MAAM,EAAE,SAAS,GAAI,cAAc,CAc5E"}
@@ -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 getArticlePropertiesTool(server) {
5
- return server.tool('get-article-properties', 'Get page properties for a wiki article', {
6
- title: z.string().describe('Article title')
7
- }, {
8
- title: 'Get article properties',
9
- readOnlyHint: true,
10
- destructiveHint: false
11
- }, async ({ title }) => handleGetArticlePropertiesTool(title));
12
- }
13
- async function handleGetArticlePropertiesTool(title) {
14
- try {
15
- const bot = await getBot();
16
- const properties = await promisifyBotMethod(bot, 'getArticleProperties', title);
17
- return jsonResult({
18
- title,
19
- properties
20
- });
21
- }
22
- catch (error) {
23
- return errorResult('Failed to get article properties', error);
24
- }
25
- }
26
- //# sourceMappingURL=get-article-properties.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-article-properties.js","sourceRoot":"","sources":["../../../src/tools/ro/get-article-properties.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;AAOhE,MAAM,UAAU,wBAAwB,CAAE,MAAiB;IAC1D,OAAO,MAAM,CAAC,IAAI,CACjB,wBAAwB,EACxB,wCAAwC,EACxC;QACC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;KAC3C,EACD;QACC,KAAK,EAAE,wBAAwB;QAC/B,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;KACH,EACpB,KAAK,EAAG,EAAE,KAAK,EAAE,EAAG,EAAE,CAAC,8BAA8B,CAAE,KAAK,CAAE,CAC9D,CAAC;AACH,CAAC;AAED,KAAK,UAAU,8BAA8B,CAC5C,KAAa;IAEb,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAC1C,GAAG,EACH,sBAAsB,EACtB,KAAK,CACL,CAAC;QAEF,OAAO,UAAU,CAAC;YACjB,KAAK;YACL,UAAU;SACV,CAAC,CAAC;IACJ,CAAC;IAAC,OAAQ,KAAK,EAAG,CAAC;QAClB,OAAO,WAAW,CAAC,kCAAkC,EAAE,KAAc,CAAC,CAAC;IACxE,CAAC;AACF,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- export declare function getArticleRevisionsTool(server: McpServer): RegisteredTool;
3
- //# sourceMappingURL=get-article-revisions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-article-revisions.d.ts","sourceRoot":"","sources":["../../../src/tools/ro/get-article-revisions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAczF,wBAAgB,uBAAuB,CAAE,MAAM,EAAE,SAAS,GAAI,cAAc,CAc3E"}
@@ -1,29 +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 getArticleRevisionsTool(server) {
5
- return server.tool('get-article-revisions', 'Get all revisions of a wiki article', {
6
- title: z.union([z.string(), z.number()]).describe('Article title or page ID')
7
- }, {
8
- title: 'Get article revisions',
9
- readOnlyHint: true,
10
- destructiveHint: false
11
- }, async ({ title }) => handleGetArticleRevisionsTool(title));
12
- }
13
- async function handleGetArticleRevisionsTool(title) {
14
- try {
15
- const bot = await getBot();
16
- const allRevisions = await promisifyBotMethod(bot, 'getArticleRevisions', title);
17
- // Flatten the results
18
- const revisions = allRevisions.flat();
19
- return jsonResult({
20
- title,
21
- revisions,
22
- count: revisions.length
23
- });
24
- }
25
- catch (error) {
26
- return errorResult('Failed to get article revisions', error);
27
- }
28
- }
29
- //# sourceMappingURL=get-article-revisions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-article-revisions.js","sourceRoot":"","sources":["../../../src/tools/ro/get-article-revisions.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;AAWhE,MAAM,UAAU,uBAAuB,CAAE,MAAiB;IACzD,OAAO,MAAM,CAAC,IAAI,CACjB,uBAAuB,EACvB,qCAAqC,EACrC;QACC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;KAC7E,EACD;QACC,KAAK,EAAE,uBAAuB;QAC9B,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;KACH,EACpB,KAAK,EAAG,EAAE,KAAK,EAAE,EAAG,EAAE,CAAC,6BAA6B,CAAE,KAAK,CAAE,CAC7D,CAAC;AACH,CAAC;AAED,KAAK,UAAU,6BAA6B,CAC3C,KAAsB;IAEtB,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAC3B,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAC5C,GAAG,EACH,qBAAqB,EACrB,KAAK,CACL,CAAC;QAEF,sBAAsB;QACtB,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;QAEtC,OAAO,UAAU,CAAC;YACjB,KAAK;YACL,SAAS;YACT,KAAK,EAAE,SAAS,CAAC,MAAM;SACvB,CAAC,CAAC;IACJ,CAAC;IAAC,OAAQ,KAAK,EAAG,CAAC;QAClB,OAAO,WAAW,CAAC,iCAAiC,EAAE,KAAc,CAAC,CAAC;IACvE,CAAC;AACF,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- export declare function getArticleTool(server: McpServer): RegisteredTool;
3
- //# sourceMappingURL=get-article.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-article.d.ts","sourceRoot":"","sources":["../../../src/tools/ro/get-article.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAIzF,wBAAgB,cAAc,CAAE,MAAM,EAAE,SAAS,GAAI,cAAc,CAgBlE"}
@@ -1,54 +0,0 @@
1
- import { z } from 'zod';
2
- import { getBot, promisifyBotMethod } from '../../common/nodemwBot.js';
3
- export function getArticleTool(server) {
4
- return server.tool('get-article', 'Retrieve the content of a wiki article', {
5
- title: z.string().describe('Article title'),
6
- followRedirect: z.boolean().optional().default(true).describe('Follow redirects'),
7
- redirectInfo: z.boolean().optional().default(false).describe('Include information about redirects')
8
- }, {
9
- title: 'Get article',
10
- readOnlyHint: true,
11
- destructiveHint: false
12
- }, async ({ title, followRedirect, redirectInfo }) => handleGetArticleTool(title, followRedirect, redirectInfo));
13
- }
14
- async function handleGetArticleTool(title, followRedirect, redirectInfo) {
15
- try {
16
- const bot = await getBot();
17
- if (redirectInfo) {
18
- // When redirectInfo is requested, get both content and redirect info
19
- const result = await new Promise((resolve, reject) => {
20
- const callback = (err, content, redirectInfo) => {
21
- if (err) {
22
- reject(err);
23
- }
24
- else {
25
- resolve([content, redirectInfo]);
26
- }
27
- };
28
- // @ts-expect-error: any method call
29
- bot.getArticle(title, followRedirect, callback);
30
- });
31
- const [content, redirect] = result;
32
- const responseText = redirect
33
- ? `Content:\n\n${content}\n\nRedirect Information:\n\n${JSON.stringify(redirect, null, 2)}`
34
- : content;
35
- return {
36
- content: [{ type: 'text', text: responseText }]
37
- };
38
- }
39
- else {
40
- // Original behavior: just return content
41
- const result = await promisifyBotMethod(bot, 'getArticle', title, followRedirect);
42
- return {
43
- content: [{ type: 'text', text: result }]
44
- };
45
- }
46
- }
47
- catch (error) {
48
- return {
49
- content: [{ type: 'text', text: `Error: ${error.message}` }],
50
- isError: true
51
- };
52
- }
53
- }
54
- //# sourceMappingURL=get-article.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-article.js","sourceRoot":"","sources":["../../../src/tools/ro/get-article.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEvE,MAAM,UAAU,cAAc,CAAE,MAAiB;IAChD,OAAO,MAAM,CAAC,IAAI,CACjB,aAAa,EACb,wCAAwC,EACxC;QACC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,eAAe,CAAE;QAC7C,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAE,IAAI,CAAE,CAAC,QAAQ,CAAE,kBAAkB,CAAE;QACrF,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAE,KAAK,CAAE,CAAC,QAAQ,CAAE,qCAAqC,CAAE;KACvG,EACD;QACC,KAAK,EAAE,aAAa;QACpB,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;KACH,EACpB,KAAK,EAAG,EAAE,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,EAAG,EAAE,CAAC,oBAAoB,CAAE,KAAK,EAAE,cAAc,EAAE,YAAY,CAAE,CAChH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CAClC,KAAa,EACb,cAAuB,EACvB,YAAqB;IAErB,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAC3B,IAAI,YAAY,EAAE,CAAC;YAClB,qEAAqE;YACrE,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACvE,MAAM,QAAQ,GAAG,CAAC,GAAiB,EAAE,OAAe,EAAE,YAAqB,EAAE,EAAE;oBAC9E,IAAI,GAAG,EAAE,CAAC;wBACT,MAAM,CAAC,GAAG,CAAC,CAAC;oBACb,CAAC;yBAAM,CAAC;wBACP,OAAO,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;oBAClC,CAAC;gBACF,CAAC,CAAC;gBAEF,oCAAoC;gBACpC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC;YACnC,MAAM,YAAY,GAAG,QAAQ;gBAC5B,CAAC,CAAC,eAAe,OAAO,gCAAgC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;gBAC3F,CAAC,CAAC,OAAO,CAAC;YAEX,OAAO;gBACN,OAAO,EAAE,CAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,CAAE;aACjD,CAAC;QACH,CAAC;aAAM,CAAC;YACP,yCAAyC;YACzC,MAAM,MAAM,GAAG,MAAM,kBAAkB,CACtC,GAAG,EACH,YAAY,EACZ,KAAK,EACL,cAAc,CACd,CAAC;YACF,OAAO;gBACN,OAAO,EAAE,CAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAE;aAC3C,CAAC;QACH,CAAC;IACF,CAAC;IAAC,OAAQ,KAAK,EAAG,CAAC;QAClB,OAAO;YACN,OAAO,EAAE,CAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAa,KAAgB,CAAC,OAAQ,EAAE,EAAE,CAAE;YAC7E,OAAO,EAAE,IAAI;SACb,CAAC;IACH,CAAC;AACF,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- export declare function getBacklinksTool(server: McpServer): RegisteredTool;
3
- //# sourceMappingURL=get-backlinks.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-backlinks.d.ts","sourceRoot":"","sources":["../../../src/tools/ro/get-backlinks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAWzF,wBAAgB,gBAAgB,CAAE,MAAM,EAAE,SAAS,GAAI,cAAc,CAcpE"}
@@ -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 getBacklinksTool(server) {
5
- return server.tool('get-backlinks', 'Get all backlinks to a specific page', {
6
- title: z.string().describe('Target page title to find backlinks for')
7
- }, {
8
- title: 'Get backlinks',
9
- readOnlyHint: true,
10
- destructiveHint: false
11
- }, async ({ title }) => handleGetBacklinksTool(title));
12
- }
13
- async function handleGetBacklinksTool(title) {
14
- try {
15
- const bot = await getBot();
16
- const backlinks = await promisifyBotMethod(bot, 'getBacklinks', title);
17
- return jsonResult({
18
- target: title,
19
- backlinks,
20
- count: backlinks.length
21
- });
22
- }
23
- catch (error) {
24
- return errorResult('Failed to get backlinks', error);
25
- }
26
- }
27
- //# sourceMappingURL=get-backlinks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-backlinks.js","sourceRoot":"","sources":["../../../src/tools/ro/get-backlinks.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;AAQhE,MAAM,UAAU,gBAAgB,CAAE,MAAiB;IAClD,OAAO,MAAM,CAAC,IAAI,CACjB,eAAe,EACf,sCAAsC,EACtC;QACC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;KACrE,EACD;QACC,KAAK,EAAE,eAAe;QACtB,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;KACH,EACpB,KAAK,EAAG,EAAE,KAAK,EAAE,EAAG,EAAE,CAAC,sBAAsB,CAAE,KAAK,CAAE,CACtD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,sBAAsB,CACpC,KAAa;IAEb,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,MAAM,kBAAkB,CACzC,GAAG,EACH,cAAc,EACd,KAAK,CACL,CAAC;QAEF,OAAO,UAAU,CAAC;YACjB,MAAM,EAAE,KAAK;YACb,SAAS;YACT,KAAK,EAAE,SAAS,CAAC,MAAM;SACvB,CAAC,CAAC;IACJ,CAAC;IAAC,OAAQ,KAAK,EAAG,CAAC;QAClB,OAAO,WAAW,CAAC,yBAAyB,EAAE,KAAc,CAAC,CAAC;IAC/D,CAAC;AACF,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- export declare function getCategoriesTool(server: McpServer): RegisteredTool;
3
- //# sourceMappingURL=get-categories.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-categories.d.ts","sourceRoot":"","sources":["../../../src/tools/ro/get-categories.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAKzF,wBAAgB,iBAAiB,CAAE,MAAM,EAAE,SAAS,GAAI,cAAc,CAcrE"}
@@ -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 getCategoriesTool(server) {
5
- return server.tool('get-categories', 'Get all categories matching a prefix', {
6
- prefix: z.string().optional().default('').describe('Prefix to filter categories')
7
- }, {
8
- title: 'Get categories',
9
- readOnlyHint: true,
10
- destructiveHint: false
11
- }, async ({ prefix }) => handleGetCategoriesTool(prefix));
12
- }
13
- async function handleGetCategoriesTool(prefix) {
14
- try {
15
- const bot = await getBot();
16
- const results = await promisifyBotMethod(bot, 'getCategories', prefix);
17
- return jsonResult({
18
- prefix,
19
- categories: results,
20
- count: results.length
21
- });
22
- }
23
- catch (error) {
24
- return errorResult('Failed to get categories', error);
25
- }
26
- }
27
- //# sourceMappingURL=get-categories.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-categories.js","sourceRoot":"","sources":["../../../src/tools/ro/get-categories.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,sCAAsC,EACtC;QACC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC;KACjF,EACD;QACC,KAAK,EAAE,gBAAgB;QACvB,YAAY,EAAE,IAAI;QAClB,eAAe,EAAE,KAAK;KACH,EACpB,KAAK,EAAG,EAAE,MAAM,EAAE,EAAG,EAAE,CAAC,uBAAuB,CAAE,MAAM,CAAE,CACzD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,uBAAuB,CACrC,MAAc;IAEd,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,MAAM,kBAAkB,CACvC,GAAG,EACH,eAAe,EACf,MAAM,CACN,CAAC;QAEF,OAAO,UAAU,CAAC;YACjB,MAAM;YACN,UAAU,EAAE,OAAO;YACnB,KAAK,EAAE,OAAO,CAAC,MAAM;SACrB,CAAC,CAAC;IACJ,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 getExternalLinksTool(server: McpServer): RegisteredTool;
3
- //# sourceMappingURL=get-external-links.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-external-links.d.ts","sourceRoot":"","sources":["../../../src/tools/ro/get-external-links.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAUzF,wBAAgB,oBAAoB,CAAE,MAAM,EAAE,SAAS,GAAI,cAAc,CAcxE"}