@hasna/microservices 0.0.16 → 0.0.17

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 (293) hide show
  1. package/README.md +143 -23
  2. package/bin/index.js +711 -13998
  3. package/bin/mcp.js +228 -10987
  4. package/dist/index.js +166 -10056
  5. package/package.json +25 -25
  6. package/microservices/microservice-ads/package.json +0 -28
  7. package/microservices/microservice-ads/src/cli/index.ts +0 -605
  8. package/microservices/microservice-ads/src/db/campaigns.ts +0 -797
  9. package/microservices/microservice-ads/src/db/database.ts +0 -91
  10. package/microservices/microservice-ads/src/db/migrations.ts +0 -60
  11. package/microservices/microservice-ads/src/index.ts +0 -39
  12. package/microservices/microservice-ads/src/mcp/index.ts +0 -480
  13. package/microservices/microservice-analytics/package.json +0 -28
  14. package/microservices/microservice-analytics/src/cli/index.ts +0 -373
  15. package/microservices/microservice-analytics/src/db/analytics.ts +0 -564
  16. package/microservices/microservice-analytics/src/db/database.ts +0 -91
  17. package/microservices/microservice-analytics/src/db/migrations.ts +0 -50
  18. package/microservices/microservice-analytics/src/index.ts +0 -37
  19. package/microservices/microservice-analytics/src/mcp/index.ts +0 -334
  20. package/microservices/microservice-assets/package.json +0 -28
  21. package/microservices/microservice-assets/src/cli/index.ts +0 -375
  22. package/microservices/microservice-assets/src/db/assets.ts +0 -370
  23. package/microservices/microservice-assets/src/db/database.ts +0 -91
  24. package/microservices/microservice-assets/src/db/migrations.ts +0 -51
  25. package/microservices/microservice-assets/src/index.ts +0 -32
  26. package/microservices/microservice-assets/src/mcp/index.ts +0 -346
  27. package/microservices/microservice-bookkeeping/package.json +0 -28
  28. package/microservices/microservice-bookkeeping/src/cli/index.ts +0 -386
  29. package/microservices/microservice-bookkeeping/src/db/bookkeeping.ts +0 -591
  30. package/microservices/microservice-bookkeeping/src/db/database.ts +0 -91
  31. package/microservices/microservice-bookkeeping/src/db/migrations.ts +0 -52
  32. package/microservices/microservice-bookkeeping/src/index.ts +0 -32
  33. package/microservices/microservice-bookkeeping/src/mcp/index.ts +0 -284
  34. package/microservices/microservice-calendar/package.json +0 -28
  35. package/microservices/microservice-calendar/src/cli/index.ts +0 -287
  36. package/microservices/microservice-calendar/src/db/calendar.ts +0 -328
  37. package/microservices/microservice-calendar/src/db/database.ts +0 -91
  38. package/microservices/microservice-calendar/src/db/migrations.ts +0 -47
  39. package/microservices/microservice-calendar/src/index.ts +0 -24
  40. package/microservices/microservice-calendar/src/mcp/index.ts +0 -226
  41. package/microservices/microservice-company/package.json +0 -28
  42. package/microservices/microservice-company/src/cli/index.ts +0 -1126
  43. package/microservices/microservice-company/src/db/company.ts +0 -854
  44. package/microservices/microservice-company/src/db/database.ts +0 -91
  45. package/microservices/microservice-company/src/db/migrations.ts +0 -214
  46. package/microservices/microservice-company/src/db/workflow-migrations.ts +0 -44
  47. package/microservices/microservice-company/src/index.ts +0 -60
  48. package/microservices/microservice-company/src/lib/audit.ts +0 -168
  49. package/microservices/microservice-company/src/lib/finance.ts +0 -299
  50. package/microservices/microservice-company/src/lib/settings.ts +0 -85
  51. package/microservices/microservice-company/src/lib/workflows.ts +0 -698
  52. package/microservices/microservice-company/src/mcp/index.ts +0 -991
  53. package/microservices/microservice-compliance/package.json +0 -28
  54. package/microservices/microservice-compliance/src/cli/index.ts +0 -467
  55. package/microservices/microservice-compliance/src/db/compliance.ts +0 -633
  56. package/microservices/microservice-compliance/src/db/database.ts +0 -91
  57. package/microservices/microservice-compliance/src/db/migrations.ts +0 -63
  58. package/microservices/microservice-compliance/src/index.ts +0 -46
  59. package/microservices/microservice-compliance/src/mcp/index.ts +0 -438
  60. package/microservices/microservice-contacts/package.json +0 -28
  61. package/microservices/microservice-contacts/src/cli/index.ts +0 -393
  62. package/microservices/microservice-contacts/src/db/companies.ts +0 -167
  63. package/microservices/microservice-contacts/src/db/contacts.ts +0 -249
  64. package/microservices/microservice-contacts/src/db/database.ts +0 -91
  65. package/microservices/microservice-contacts/src/db/migrations.ts +0 -71
  66. package/microservices/microservice-contacts/src/db/relationships.ts +0 -53
  67. package/microservices/microservice-contacts/src/index.ts +0 -42
  68. package/microservices/microservice-contacts/src/mcp/index.ts +0 -303
  69. package/microservices/microservice-contracts/package.json +0 -28
  70. package/microservices/microservice-contracts/src/cli/index.ts +0 -770
  71. package/microservices/microservice-contracts/src/db/contracts.ts +0 -925
  72. package/microservices/microservice-contracts/src/db/database.ts +0 -91
  73. package/microservices/microservice-contracts/src/db/migrations.ts +0 -141
  74. package/microservices/microservice-contracts/src/index.ts +0 -43
  75. package/microservices/microservice-contracts/src/mcp/index.ts +0 -617
  76. package/microservices/microservice-crm/package.json +0 -28
  77. package/microservices/microservice-crm/src/cli/index.ts +0 -396
  78. package/microservices/microservice-crm/src/db/database.ts +0 -91
  79. package/microservices/microservice-crm/src/db/migrations.ts +0 -66
  80. package/microservices/microservice-crm/src/db/pipeline.ts +0 -397
  81. package/microservices/microservice-crm/src/index.ts +0 -34
  82. package/microservices/microservice-crm/src/mcp/index.ts +0 -294
  83. package/microservices/microservice-documents/package.json +0 -28
  84. package/microservices/microservice-documents/src/cli/index.ts +0 -246
  85. package/microservices/microservice-documents/src/db/database.ts +0 -91
  86. package/microservices/microservice-documents/src/db/documents.ts +0 -316
  87. package/microservices/microservice-documents/src/db/migrations.ts +0 -49
  88. package/microservices/microservice-documents/src/index.ts +0 -24
  89. package/microservices/microservice-documents/src/mcp/index.ts +0 -202
  90. package/microservices/microservice-domains/package.json +0 -28
  91. package/microservices/microservice-domains/src/cli/index.ts +0 -1111
  92. package/microservices/microservice-domains/src/db/database.ts +0 -91
  93. package/microservices/microservice-domains/src/db/domains.ts +0 -1164
  94. package/microservices/microservice-domains/src/db/migrations.ts +0 -60
  95. package/microservices/microservice-domains/src/index.ts +0 -65
  96. package/microservices/microservice-domains/src/lib/brandsight.ts +0 -350
  97. package/microservices/microservice-domains/src/lib/godaddy.ts +0 -338
  98. package/microservices/microservice-domains/src/lib/namecheap.ts +0 -262
  99. package/microservices/microservice-domains/src/lib/registrar.ts +0 -355
  100. package/microservices/microservice-domains/src/mcp/index.ts +0 -781
  101. package/microservices/microservice-expenses/package.json +0 -28
  102. package/microservices/microservice-expenses/src/cli/index.ts +0 -267
  103. package/microservices/microservice-expenses/src/db/database.ts +0 -91
  104. package/microservices/microservice-expenses/src/db/expenses.ts +0 -345
  105. package/microservices/microservice-expenses/src/db/migrations.ts +0 -45
  106. package/microservices/microservice-expenses/src/index.ts +0 -25
  107. package/microservices/microservice-expenses/src/mcp/index.ts +0 -196
  108. package/microservices/microservice-habits/package.json +0 -28
  109. package/microservices/microservice-habits/src/cli/index.ts +0 -315
  110. package/microservices/microservice-habits/src/db/database.ts +0 -91
  111. package/microservices/microservice-habits/src/db/habits.ts +0 -451
  112. package/microservices/microservice-habits/src/db/migrations.ts +0 -46
  113. package/microservices/microservice-habits/src/index.ts +0 -31
  114. package/microservices/microservice-habits/src/mcp/index.ts +0 -313
  115. package/microservices/microservice-health/package.json +0 -28
  116. package/microservices/microservice-health/src/cli/index.ts +0 -484
  117. package/microservices/microservice-health/src/db/database.ts +0 -91
  118. package/microservices/microservice-health/src/db/health.ts +0 -708
  119. package/microservices/microservice-health/src/db/migrations.ts +0 -70
  120. package/microservices/microservice-health/src/index.ts +0 -63
  121. package/microservices/microservice-health/src/mcp/index.ts +0 -437
  122. package/microservices/microservice-hiring/package.json +0 -28
  123. package/microservices/microservice-hiring/src/cli/index.ts +0 -741
  124. package/microservices/microservice-hiring/src/db/database.ts +0 -91
  125. package/microservices/microservice-hiring/src/db/hiring.ts +0 -1085
  126. package/microservices/microservice-hiring/src/db/migrations.ts +0 -89
  127. package/microservices/microservice-hiring/src/index.ts +0 -80
  128. package/microservices/microservice-hiring/src/lib/scoring.ts +0 -206
  129. package/microservices/microservice-hiring/src/mcp/index.ts +0 -709
  130. package/microservices/microservice-inventory/package.json +0 -28
  131. package/microservices/microservice-inventory/src/cli/index.ts +0 -365
  132. package/microservices/microservice-inventory/src/db/database.ts +0 -91
  133. package/microservices/microservice-inventory/src/db/inventory.ts +0 -393
  134. package/microservices/microservice-inventory/src/db/migrations.ts +0 -54
  135. package/microservices/microservice-inventory/src/index.ts +0 -28
  136. package/microservices/microservice-inventory/src/mcp/index.ts +0 -250
  137. package/microservices/microservice-invoices/dashboard/index.html +0 -12
  138. package/microservices/microservice-invoices/dashboard/package.json +0 -29
  139. package/microservices/microservice-invoices/dashboard/tsconfig.json +0 -14
  140. package/microservices/microservice-invoices/dashboard/vite.config.ts +0 -15
  141. package/microservices/microservice-invoices/package.json +0 -31
  142. package/microservices/microservice-invoices/src/cli/index.ts +0 -308
  143. package/microservices/microservice-invoices/src/db/business.ts +0 -241
  144. package/microservices/microservice-invoices/src/db/clients.ts +0 -127
  145. package/microservices/microservice-invoices/src/db/database.ts +0 -91
  146. package/microservices/microservice-invoices/src/db/invoices.ts +0 -345
  147. package/microservices/microservice-invoices/src/db/migrations.ts +0 -184
  148. package/microservices/microservice-invoices/src/index.ts +0 -56
  149. package/microservices/microservice-invoices/src/mcp/index.ts +0 -242
  150. package/microservices/microservice-invoices/src/server/index.ts +0 -162
  151. package/microservices/microservice-leads/package.json +0 -28
  152. package/microservices/microservice-leads/src/cli/index.ts +0 -596
  153. package/microservices/microservice-leads/src/db/database.ts +0 -91
  154. package/microservices/microservice-leads/src/db/leads.ts +0 -520
  155. package/microservices/microservice-leads/src/db/lists.ts +0 -151
  156. package/microservices/microservice-leads/src/db/migrations.ts +0 -93
  157. package/microservices/microservice-leads/src/index.ts +0 -65
  158. package/microservices/microservice-leads/src/lib/enrichment.ts +0 -202
  159. package/microservices/microservice-leads/src/lib/scoring.ts +0 -134
  160. package/microservices/microservice-leads/src/mcp/index.ts +0 -533
  161. package/microservices/microservice-notes/package.json +0 -28
  162. package/microservices/microservice-notes/src/cli/index.ts +0 -63
  163. package/microservices/microservice-notes/src/db/database.ts +0 -91
  164. package/microservices/microservice-notes/src/db/migrations.ts +0 -40
  165. package/microservices/microservice-notes/src/db/notes.ts +0 -114
  166. package/microservices/microservice-notes/src/index.ts +0 -2
  167. package/microservices/microservice-notes/src/mcp/index.ts +0 -37
  168. package/microservices/microservice-notifications/package.json +0 -28
  169. package/microservices/microservice-notifications/src/cli/index.ts +0 -349
  170. package/microservices/microservice-notifications/src/db/database.ts +0 -91
  171. package/microservices/microservice-notifications/src/db/migrations.ts +0 -62
  172. package/microservices/microservice-notifications/src/db/notifications.ts +0 -509
  173. package/microservices/microservice-notifications/src/index.ts +0 -41
  174. package/microservices/microservice-notifications/src/mcp/index.ts +0 -422
  175. package/microservices/microservice-payments/package.json +0 -28
  176. package/microservices/microservice-payments/src/cli/index.ts +0 -609
  177. package/microservices/microservice-payments/src/db/database.ts +0 -91
  178. package/microservices/microservice-payments/src/db/migrations.ts +0 -81
  179. package/microservices/microservice-payments/src/db/payments.ts +0 -1204
  180. package/microservices/microservice-payments/src/index.ts +0 -51
  181. package/microservices/microservice-payments/src/mcp/index.ts +0 -683
  182. package/microservices/microservice-payroll/package.json +0 -28
  183. package/microservices/microservice-payroll/src/cli/index.ts +0 -643
  184. package/microservices/microservice-payroll/src/db/database.ts +0 -91
  185. package/microservices/microservice-payroll/src/db/migrations.ts +0 -95
  186. package/microservices/microservice-payroll/src/db/payroll.ts +0 -1377
  187. package/microservices/microservice-payroll/src/index.ts +0 -48
  188. package/microservices/microservice-payroll/src/mcp/index.ts +0 -666
  189. package/microservices/microservice-products/package.json +0 -28
  190. package/microservices/microservice-products/src/cli/index.ts +0 -416
  191. package/microservices/microservice-products/src/db/categories.ts +0 -154
  192. package/microservices/microservice-products/src/db/database.ts +0 -91
  193. package/microservices/microservice-products/src/db/migrations.ts +0 -58
  194. package/microservices/microservice-products/src/db/pricing-tiers.ts +0 -66
  195. package/microservices/microservice-products/src/db/products.ts +0 -452
  196. package/microservices/microservice-products/src/index.ts +0 -53
  197. package/microservices/microservice-products/src/mcp/index.ts +0 -453
  198. package/microservices/microservice-projects/package.json +0 -28
  199. package/microservices/microservice-projects/src/cli/index.ts +0 -480
  200. package/microservices/microservice-projects/src/db/database.ts +0 -91
  201. package/microservices/microservice-projects/src/db/migrations.ts +0 -65
  202. package/microservices/microservice-projects/src/db/projects.ts +0 -715
  203. package/microservices/microservice-projects/src/index.ts +0 -57
  204. package/microservices/microservice-projects/src/mcp/index.ts +0 -501
  205. package/microservices/microservice-proposals/package.json +0 -28
  206. package/microservices/microservice-proposals/src/cli/index.ts +0 -400
  207. package/microservices/microservice-proposals/src/db/database.ts +0 -91
  208. package/microservices/microservice-proposals/src/db/migrations.ts +0 -52
  209. package/microservices/microservice-proposals/src/db/proposals.ts +0 -532
  210. package/microservices/microservice-proposals/src/index.ts +0 -37
  211. package/microservices/microservice-proposals/src/mcp/index.ts +0 -375
  212. package/microservices/microservice-reading/package.json +0 -28
  213. package/microservices/microservice-reading/src/cli/index.ts +0 -464
  214. package/microservices/microservice-reading/src/db/database.ts +0 -91
  215. package/microservices/microservice-reading/src/db/migrations.ts +0 -59
  216. package/microservices/microservice-reading/src/db/reading.ts +0 -524
  217. package/microservices/microservice-reading/src/index.ts +0 -51
  218. package/microservices/microservice-reading/src/mcp/index.ts +0 -368
  219. package/microservices/microservice-shipping/package.json +0 -28
  220. package/microservices/microservice-shipping/src/cli/index.ts +0 -606
  221. package/microservices/microservice-shipping/src/db/database.ts +0 -91
  222. package/microservices/microservice-shipping/src/db/migrations.ts +0 -69
  223. package/microservices/microservice-shipping/src/db/shipping.ts +0 -1093
  224. package/microservices/microservice-shipping/src/index.ts +0 -53
  225. package/microservices/microservice-shipping/src/mcp/index.ts +0 -533
  226. package/microservices/microservice-social/package.json +0 -29
  227. package/microservices/microservice-social/src/cli/index.ts +0 -1583
  228. package/microservices/microservice-social/src/db/database.ts +0 -91
  229. package/microservices/microservice-social/src/db/migrations.ts +0 -160
  230. package/microservices/microservice-social/src/db/social.ts +0 -1076
  231. package/microservices/microservice-social/src/index.ts +0 -46
  232. package/microservices/microservice-social/src/lib/audience.ts +0 -353
  233. package/microservices/microservice-social/src/lib/content-ai.ts +0 -278
  234. package/microservices/microservice-social/src/lib/media.ts +0 -311
  235. package/microservices/microservice-social/src/lib/mentions.ts +0 -434
  236. package/microservices/microservice-social/src/lib/metrics-sync.ts +0 -264
  237. package/microservices/microservice-social/src/lib/publisher.ts +0 -377
  238. package/microservices/microservice-social/src/lib/scheduler.ts +0 -229
  239. package/microservices/microservice-social/src/lib/sentiment.ts +0 -256
  240. package/microservices/microservice-social/src/lib/threads.ts +0 -291
  241. package/microservices/microservice-social/src/mcp/index.ts +0 -1425
  242. package/microservices/microservice-social/src/server/index.ts +0 -441
  243. package/microservices/microservice-subscriptions/package.json +0 -28
  244. package/microservices/microservice-subscriptions/src/cli/index.ts +0 -715
  245. package/microservices/microservice-subscriptions/src/db/database.ts +0 -91
  246. package/microservices/microservice-subscriptions/src/db/migrations.ts +0 -125
  247. package/microservices/microservice-subscriptions/src/db/subscriptions.ts +0 -1256
  248. package/microservices/microservice-subscriptions/src/index.ts +0 -41
  249. package/microservices/microservice-subscriptions/src/mcp/index.ts +0 -631
  250. package/microservices/microservice-timesheets/package.json +0 -28
  251. package/microservices/microservice-timesheets/src/cli/index.ts +0 -373
  252. package/microservices/microservice-timesheets/src/db/database.ts +0 -91
  253. package/microservices/microservice-timesheets/src/db/locale.ts +0 -217
  254. package/microservices/microservice-timesheets/src/db/migrations.ts +0 -74
  255. package/microservices/microservice-timesheets/src/db/timesheets.ts +0 -447
  256. package/microservices/microservice-timesheets/src/index.ts +0 -44
  257. package/microservices/microservice-timesheets/src/mcp/index.ts +0 -269
  258. package/microservices/microservice-transcriber/package.json +0 -29
  259. package/microservices/microservice-transcriber/src/cli/index.ts +0 -1593
  260. package/microservices/microservice-transcriber/src/db/annotations.ts +0 -37
  261. package/microservices/microservice-transcriber/src/db/comments.ts +0 -166
  262. package/microservices/microservice-transcriber/src/db/database.ts +0 -91
  263. package/microservices/microservice-transcriber/src/db/migrations.ts +0 -118
  264. package/microservices/microservice-transcriber/src/db/proofread.ts +0 -119
  265. package/microservices/microservice-transcriber/src/db/transcripts.ts +0 -395
  266. package/microservices/microservice-transcriber/src/index.ts +0 -43
  267. package/microservices/microservice-transcriber/src/lib/config.ts +0 -77
  268. package/microservices/microservice-transcriber/src/lib/diff.ts +0 -91
  269. package/microservices/microservice-transcriber/src/lib/downloader.ts +0 -638
  270. package/microservices/microservice-transcriber/src/lib/feeds.ts +0 -62
  271. package/microservices/microservice-transcriber/src/lib/live.ts +0 -94
  272. package/microservices/microservice-transcriber/src/lib/notion.ts +0 -129
  273. package/microservices/microservice-transcriber/src/lib/proofread.ts +0 -296
  274. package/microservices/microservice-transcriber/src/lib/providers.ts +0 -713
  275. package/microservices/microservice-transcriber/src/lib/summarizer.ts +0 -147
  276. package/microservices/microservice-transcriber/src/lib/translator.ts +0 -75
  277. package/microservices/microservice-transcriber/src/lib/webhook.ts +0 -37
  278. package/microservices/microservice-transcriber/src/mcp/index.ts +0 -1330
  279. package/microservices/microservice-transcriber/src/server/index.ts +0 -199
  280. package/microservices/microservice-travel/package.json +0 -28
  281. package/microservices/microservice-travel/src/cli/index.ts +0 -505
  282. package/microservices/microservice-travel/src/db/database.ts +0 -91
  283. package/microservices/microservice-travel/src/db/migrations.ts +0 -77
  284. package/microservices/microservice-travel/src/db/travel.ts +0 -802
  285. package/microservices/microservice-travel/src/index.ts +0 -60
  286. package/microservices/microservice-travel/src/mcp/index.ts +0 -495
  287. package/microservices/microservice-wiki/package.json +0 -28
  288. package/microservices/microservice-wiki/src/cli/index.ts +0 -345
  289. package/microservices/microservice-wiki/src/db/database.ts +0 -91
  290. package/microservices/microservice-wiki/src/db/migrations.ts +0 -55
  291. package/microservices/microservice-wiki/src/db/wiki.ts +0 -395
  292. package/microservices/microservice-wiki/src/index.ts +0 -32
  293. package/microservices/microservice-wiki/src/mcp/index.ts +0 -344
@@ -1,344 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
4
- import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
5
- import { z } from "zod";
6
- import {
7
- createPage,
8
- getPage,
9
- getPageBySlug,
10
- listPages,
11
- updatePage,
12
- deletePage,
13
- searchPages,
14
- getPageTree,
15
- getRecentlyUpdated,
16
- getByCategory,
17
- getByTag,
18
- getPageHistory,
19
- revertToVersion,
20
- addLink,
21
- removeLink,
22
- getLinksFrom,
23
- getLinksTo,
24
- } from "../db/wiki.js";
25
-
26
- const server = new McpServer({
27
- name: "microservice-wiki",
28
- version: "0.0.1",
29
- });
30
-
31
- // --- Pages ---
32
-
33
- server.registerTool(
34
- "create_page",
35
- {
36
- title: "Create Page",
37
- description: "Create a new wiki page.",
38
- inputSchema: {
39
- title: z.string(),
40
- slug: z.string().optional(),
41
- content: z.string().optional(),
42
- format: z.enum(["markdown", "html"]).optional(),
43
- category: z.string().optional(),
44
- parent_id: z.string().optional(),
45
- author: z.string().optional(),
46
- status: z.enum(["draft", "published", "archived"]).optional(),
47
- tags: z.array(z.string()).optional(),
48
- },
49
- },
50
- async (params) => {
51
- const page = createPage(params);
52
- return { content: [{ type: "text", text: JSON.stringify(page, null, 2) }] };
53
- }
54
- );
55
-
56
- server.registerTool(
57
- "get_page",
58
- {
59
- title: "Get Page",
60
- description: "Get a wiki page by ID.",
61
- inputSchema: { id: z.string() },
62
- },
63
- async ({ id }) => {
64
- const page = getPage(id);
65
- if (!page) {
66
- return { content: [{ type: "text", text: `Page '${id}' not found.` }], isError: true };
67
- }
68
- return { content: [{ type: "text", text: JSON.stringify(page, null, 2) }] };
69
- }
70
- );
71
-
72
- server.registerTool(
73
- "get_page_by_slug",
74
- {
75
- title: "Get Page by Slug",
76
- description: "Get a wiki page by its URL slug.",
77
- inputSchema: { slug: z.string() },
78
- },
79
- async ({ slug }) => {
80
- const page = getPageBySlug(slug);
81
- if (!page) {
82
- return { content: [{ type: "text", text: `Page with slug '${slug}' not found.` }], isError: true };
83
- }
84
- return { content: [{ type: "text", text: JSON.stringify(page, null, 2) }] };
85
- }
86
- );
87
-
88
- server.registerTool(
89
- "list_pages",
90
- {
91
- title: "List Pages",
92
- description: "List wiki pages with optional filters.",
93
- inputSchema: {
94
- search: z.string().optional(),
95
- category: z.string().optional(),
96
- status: z.enum(["draft", "published", "archived"]).optional(),
97
- tag: z.string().optional(),
98
- limit: z.number().optional(),
99
- },
100
- },
101
- async (params) => {
102
- const pages = listPages(params);
103
- return {
104
- content: [
105
- { type: "text", text: JSON.stringify({ pages, count: pages.length }, null, 2) },
106
- ],
107
- };
108
- }
109
- );
110
-
111
- server.registerTool(
112
- "update_page",
113
- {
114
- title: "Update Page",
115
- description: "Update an existing wiki page. Auto-saves a version snapshot before updating.",
116
- inputSchema: {
117
- id: z.string(),
118
- title: z.string().optional(),
119
- slug: z.string().optional(),
120
- content: z.string().optional(),
121
- format: z.enum(["markdown", "html"]).optional(),
122
- category: z.string().optional(),
123
- parent_id: z.string().optional(),
124
- author: z.string().optional(),
125
- status: z.enum(["draft", "published", "archived"]).optional(),
126
- tags: z.array(z.string()).optional(),
127
- },
128
- },
129
- async ({ id, ...input }) => {
130
- const page = updatePage(id, input);
131
- if (!page) {
132
- return { content: [{ type: "text", text: `Page '${id}' not found.` }], isError: true };
133
- }
134
- return { content: [{ type: "text", text: JSON.stringify(page, null, 2) }] };
135
- }
136
- );
137
-
138
- server.registerTool(
139
- "delete_page",
140
- {
141
- title: "Delete Page",
142
- description: "Delete a wiki page by ID.",
143
- inputSchema: { id: z.string() },
144
- },
145
- async ({ id }) => {
146
- const deleted = deletePage(id);
147
- return { content: [{ type: "text", text: JSON.stringify({ id, deleted }) }] };
148
- }
149
- );
150
-
151
- server.registerTool(
152
- "search_pages",
153
- {
154
- title: "Search Pages",
155
- description: "Search wiki pages by title or content.",
156
- inputSchema: { query: z.string() },
157
- },
158
- async ({ query }) => {
159
- const results = searchPages(query);
160
- return {
161
- content: [
162
- { type: "text", text: JSON.stringify({ results, count: results.length }, null, 2) },
163
- ],
164
- };
165
- }
166
- );
167
-
168
- server.registerTool(
169
- "get_page_tree",
170
- {
171
- title: "Get Page Tree",
172
- description: "Get hierarchical page tree organized by parent-child relationships.",
173
- inputSchema: {},
174
- },
175
- async () => {
176
- const tree = getPageTree();
177
- return { content: [{ type: "text", text: JSON.stringify(tree, null, 2) }] };
178
- }
179
- );
180
-
181
- server.registerTool(
182
- "get_recently_updated",
183
- {
184
- title: "Get Recently Updated Pages",
185
- description: "Get the most recently updated wiki pages.",
186
- inputSchema: { limit: z.number().optional() },
187
- },
188
- async ({ limit }) => {
189
- const pages = getRecentlyUpdated(limit);
190
- return {
191
- content: [
192
- { type: "text", text: JSON.stringify({ pages, count: pages.length }, null, 2) },
193
- ],
194
- };
195
- }
196
- );
197
-
198
- server.registerTool(
199
- "get_pages_by_category",
200
- {
201
- title: "Get Pages by Category",
202
- description: "Get all wiki pages in a specific category.",
203
- inputSchema: { category: z.string() },
204
- },
205
- async ({ category }) => {
206
- const pages = getByCategory(category);
207
- return {
208
- content: [
209
- { type: "text", text: JSON.stringify({ pages, count: pages.length }, null, 2) },
210
- ],
211
- };
212
- }
213
- );
214
-
215
- server.registerTool(
216
- "get_pages_by_tag",
217
- {
218
- title: "Get Pages by Tag",
219
- description: "Get all wiki pages with a specific tag.",
220
- inputSchema: { tag: z.string() },
221
- },
222
- async ({ tag }) => {
223
- const pages = getByTag(tag);
224
- return {
225
- content: [
226
- { type: "text", text: JSON.stringify({ pages, count: pages.length }, null, 2) },
227
- ],
228
- };
229
- }
230
- );
231
-
232
- server.registerTool(
233
- "get_page_history",
234
- {
235
- title: "Get Page History",
236
- description: "Get the version history of a wiki page.",
237
- inputSchema: { page_id: z.string() },
238
- },
239
- async ({ page_id }) => {
240
- const history = getPageHistory(page_id);
241
- return {
242
- content: [
243
- { type: "text", text: JSON.stringify({ versions: history, count: history.length }, null, 2) },
244
- ],
245
- };
246
- }
247
- );
248
-
249
- server.registerTool(
250
- "revert_page",
251
- {
252
- title: "Revert Page",
253
- description: "Revert a wiki page to a previous version.",
254
- inputSchema: {
255
- page_id: z.string(),
256
- version: z.number(),
257
- },
258
- },
259
- async ({ page_id, version }) => {
260
- const page = revertToVersion(page_id, version);
261
- if (!page) {
262
- return { content: [{ type: "text", text: `Page '${page_id}' or version ${version} not found.` }], isError: true };
263
- }
264
- return { content: [{ type: "text", text: JSON.stringify(page, null, 2) }] };
265
- }
266
- );
267
-
268
- server.registerTool(
269
- "add_page_link",
270
- {
271
- title: "Add Page Link",
272
- description: "Create a link between two wiki pages.",
273
- inputSchema: {
274
- source_id: z.string(),
275
- target_id: z.string(),
276
- },
277
- },
278
- async ({ source_id, target_id }) => {
279
- const link = addLink(source_id, target_id);
280
- return { content: [{ type: "text", text: JSON.stringify(link, null, 2) }] };
281
- }
282
- );
283
-
284
- server.registerTool(
285
- "remove_page_link",
286
- {
287
- title: "Remove Page Link",
288
- description: "Remove a link between two wiki pages.",
289
- inputSchema: {
290
- source_id: z.string(),
291
- target_id: z.string(),
292
- },
293
- },
294
- async ({ source_id, target_id }) => {
295
- const removed = removeLink(source_id, target_id);
296
- return { content: [{ type: "text", text: JSON.stringify({ source_id, target_id, removed }) }] };
297
- }
298
- );
299
-
300
- server.registerTool(
301
- "get_links_from",
302
- {
303
- title: "Get Outgoing Links",
304
- description: "Get all links from a wiki page to other pages.",
305
- inputSchema: { page_id: z.string() },
306
- },
307
- async ({ page_id }) => {
308
- const links = getLinksFrom(page_id);
309
- return {
310
- content: [
311
- { type: "text", text: JSON.stringify({ links, count: links.length }, null, 2) },
312
- ],
313
- };
314
- }
315
- );
316
-
317
- server.registerTool(
318
- "get_links_to",
319
- {
320
- title: "Get Incoming Links",
321
- description: "Get all links to a wiki page from other pages.",
322
- inputSchema: { page_id: z.string() },
323
- },
324
- async ({ page_id }) => {
325
- const links = getLinksTo(page_id);
326
- return {
327
- content: [
328
- { type: "text", text: JSON.stringify({ links, count: links.length }, null, 2) },
329
- ],
330
- };
331
- }
332
- );
333
-
334
- // --- Start ---
335
- async function main() {
336
- const transport = new StdioServerTransport();
337
- await server.connect(transport);
338
- console.error("microservice-wiki MCP server running on stdio");
339
- }
340
-
341
- main().catch((error) => {
342
- console.error("Fatal error:", error);
343
- process.exit(1);
344
- });