@danyow/lark-mcp 0.5.1

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 (389) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/LICENSE +9 -0
  3. package/README.md +215 -0
  4. package/README_ZH.md +212 -0
  5. package/dist/auth/config.d.ts +12 -0
  6. package/dist/auth/config.js +15 -0
  7. package/dist/auth/handler/handler-local.d.ts +21 -0
  8. package/dist/auth/handler/handler-local.js +123 -0
  9. package/dist/auth/handler/handler.d.ts +32 -0
  10. package/dist/auth/handler/handler.js +117 -0
  11. package/dist/auth/handler/index.d.ts +2 -0
  12. package/dist/auth/handler/index.js +18 -0
  13. package/dist/auth/index.d.ts +4 -0
  14. package/dist/auth/index.js +20 -0
  15. package/dist/auth/provider/index.d.ts +3 -0
  16. package/dist/auth/provider/index.js +19 -0
  17. package/dist/auth/provider/oauth.d.ts +18 -0
  18. package/dist/auth/provider/oauth.js +147 -0
  19. package/dist/auth/provider/oidc.d.ts +18 -0
  20. package/dist/auth/provider/oidc.js +172 -0
  21. package/dist/auth/provider/types.d.ts +8 -0
  22. package/dist/auth/provider/types.js +2 -0
  23. package/dist/auth/store.d.ts +39 -0
  24. package/dist/auth/store.js +213 -0
  25. package/dist/auth/types.d.ts +13 -0
  26. package/dist/auth/types.js +2 -0
  27. package/dist/auth/utils/encryption.d.ts +7 -0
  28. package/dist/auth/utils/encryption.js +40 -0
  29. package/dist/auth/utils/index.d.ts +3 -0
  30. package/dist/auth/utils/index.js +19 -0
  31. package/dist/auth/utils/is-token-valid.d.ts +7 -0
  32. package/dist/auth/utils/is-token-valid.js +28 -0
  33. package/dist/auth/utils/pkce.d.ts +6 -0
  34. package/dist/auth/utils/pkce.js +20 -0
  35. package/dist/auth/utils/storage-manager.d.ts +17 -0
  36. package/dist/auth/utils/storage-manager.js +135 -0
  37. package/dist/cli/index.d.ts +1 -0
  38. package/dist/cli/index.js +5 -0
  39. package/dist/cli/login-handler.d.ts +16 -0
  40. package/dist/cli/login-handler.js +142 -0
  41. package/dist/cli.d.ts +4 -0
  42. package/dist/cli.js +122 -0
  43. package/dist/index.d.ts +3 -0
  44. package/dist/index.js +19 -0
  45. package/dist/mcp-server/index.d.ts +2 -0
  46. package/dist/mcp-server/index.js +18 -0
  47. package/dist/mcp-server/shared/index.d.ts +2 -0
  48. package/dist/mcp-server/shared/index.js +18 -0
  49. package/dist/mcp-server/shared/init.d.ts +10 -0
  50. package/dist/mcp-server/shared/init.js +121 -0
  51. package/dist/mcp-server/shared/types.d.ts +40 -0
  52. package/dist/mcp-server/shared/types.js +10 -0
  53. package/dist/mcp-server/transport/index.d.ts +3 -0
  54. package/dist/mcp-server/transport/index.js +19 -0
  55. package/dist/mcp-server/transport/sse.d.ts +2 -0
  56. package/dist/mcp-server/transport/sse.js +75 -0
  57. package/dist/mcp-server/transport/stdio.d.ts +2 -0
  58. package/dist/mcp-server/transport/stdio.js +36 -0
  59. package/dist/mcp-server/transport/streamable.d.ts +2 -0
  60. package/dist/mcp-server/transport/streamable.js +86 -0
  61. package/dist/mcp-server/transport/utils.d.ts +16 -0
  62. package/dist/mcp-server/transport/utils.js +34 -0
  63. package/dist/mcp-tool/constants.d.ts +49 -0
  64. package/dist/mcp-tool/constants.js +115 -0
  65. package/dist/mcp-tool/document-tool/index.d.ts +1 -0
  66. package/dist/mcp-tool/document-tool/index.js +17 -0
  67. package/dist/mcp-tool/document-tool/recall/index.d.ts +2 -0
  68. package/dist/mcp-tool/document-tool/recall/index.js +39 -0
  69. package/dist/mcp-tool/document-tool/recall/request.d.ts +2 -0
  70. package/dist/mcp-tool/document-tool/recall/request.js +25 -0
  71. package/dist/mcp-tool/document-tool/recall/type.d.ts +19 -0
  72. package/dist/mcp-tool/document-tool/recall/type.js +2 -0
  73. package/dist/mcp-tool/index.d.ts +5 -0
  74. package/dist/mcp-tool/index.js +21 -0
  75. package/dist/mcp-tool/mcp-tool.d.ts +52 -0
  76. package/dist/mcp-tool/mcp-tool.js +198 -0
  77. package/dist/mcp-tool/tools/en/builtin-tools/docx/builtin.d.ts +5 -0
  78. package/dist/mcp-tool/tools/en/builtin-tools/docx/builtin.js +219 -0
  79. package/dist/mcp-tool/tools/en/builtin-tools/drive/builtin.d.ts +4 -0
  80. package/dist/mcp-tool/tools/en/builtin-tools/drive/builtin.js +159 -0
  81. package/dist/mcp-tool/tools/en/builtin-tools/im/buildin.d.ts +4 -0
  82. package/dist/mcp-tool/tools/en/builtin-tools/im/buildin.js +63 -0
  83. package/dist/mcp-tool/tools/en/builtin-tools/index.d.ts +5 -0
  84. package/dist/mcp-tool/tools/en/builtin-tools/index.js +7 -0
  85. package/dist/mcp-tool/tools/en/gen-tools/index.d.ts +114 -0
  86. package/dist/mcp-tool/tools/en/gen-tools/index.js +129 -0
  87. package/dist/mcp-tool/tools/en/gen-tools/zod/acs_v1.d.ts +562 -0
  88. package/dist/mcp-tool/tools/en/gen-tools/zod/acs_v1.js +264 -0
  89. package/dist/mcp-tool/tools/en/gen-tools/zod/admin_v1.d.ts +912 -0
  90. package/dist/mcp-tool/tools/en/gen-tools/zod/admin_v1.js +449 -0
  91. package/dist/mcp-tool/tools/en/gen-tools/zod/aily_v1.d.ts +1213 -0
  92. package/dist/mcp-tool/tools/en/gen-tools/zod/aily_v1.js +560 -0
  93. package/dist/mcp-tool/tools/en/gen-tools/zod/apaas_v1.d.ts +2530 -0
  94. package/dist/mcp-tool/tools/en/gen-tools/zod/apaas_v1.js +949 -0
  95. package/dist/mcp-tool/tools/en/gen-tools/zod/application_v5.d.ts +80 -0
  96. package/dist/mcp-tool/tools/en/gen-tools/zod/application_v5.js +53 -0
  97. package/dist/mcp-tool/tools/en/gen-tools/zod/application_v6.d.ts +1008 -0
  98. package/dist/mcp-tool/tools/en/gen-tools/zod/application_v6.js +775 -0
  99. package/dist/mcp-tool/tools/en/gen-tools/zod/approval_v4.d.ts +3928 -0
  100. package/dist/mcp-tool/tools/en/gen-tools/zod/approval_v4.js +1602 -0
  101. package/dist/mcp-tool/tools/en/gen-tools/zod/attendance_v1.d.ts +6043 -0
  102. package/dist/mcp-tool/tools/en/gen-tools/zod/attendance_v1.js +1857 -0
  103. package/dist/mcp-tool/tools/en/gen-tools/zod/auth_v3.d.ts +151 -0
  104. package/dist/mcp-tool/tools/en/gen-tools/zod/auth_v3.js +71 -0
  105. package/dist/mcp-tool/tools/en/gen-tools/zod/authen_v1.d.ts +26 -0
  106. package/dist/mcp-tool/tools/en/gen-tools/zod/authen_v1.js +17 -0
  107. package/dist/mcp-tool/tools/en/gen-tools/zod/baike_v1.d.ts +2174 -0
  108. package/dist/mcp-tool/tools/en/gen-tools/zod/baike_v1.js +594 -0
  109. package/dist/mcp-tool/tools/en/gen-tools/zod/base_v2.d.ts +755 -0
  110. package/dist/mcp-tool/tools/en/gen-tools/zod/base_v2.js +234 -0
  111. package/dist/mcp-tool/tools/en/gen-tools/zod/bitable_v1.d.ts +3541 -0
  112. package/dist/mcp-tool/tools/en/gen-tools/zod/bitable_v1.js +1786 -0
  113. package/dist/mcp-tool/tools/en/gen-tools/zod/board_v1.d.ts +40 -0
  114. package/dist/mcp-tool/tools/en/gen-tools/zod/board_v1.js +18 -0
  115. package/dist/mcp-tool/tools/en/gen-tools/zod/calendar_v4.d.ts +2075 -0
  116. package/dist/mcp-tool/tools/en/gen-tools/zod/calendar_v4.js +1594 -0
  117. package/dist/mcp-tool/tools/en/gen-tools/zod/cardkit_v1.d.ts +528 -0
  118. package/dist/mcp-tool/tools/en/gen-tools/zod/cardkit_v1.js +260 -0
  119. package/dist/mcp-tool/tools/en/gen-tools/zod/compensation_v1.d.ts +189 -0
  120. package/dist/mcp-tool/tools/en/gen-tools/zod/compensation_v1.js +132 -0
  121. package/dist/mcp-tool/tools/en/gen-tools/zod/contact_v3.d.ts +4274 -0
  122. package/dist/mcp-tool/tools/en/gen-tools/zod/contact_v3.js +2583 -0
  123. package/dist/mcp-tool/tools/en/gen-tools/zod/corehr_v1.d.ts +16873 -0
  124. package/dist/mcp-tool/tools/en/gen-tools/zod/corehr_v1.js +5045 -0
  125. package/dist/mcp-tool/tools/en/gen-tools/zod/corehr_v2.d.ts +29387 -0
  126. package/dist/mcp-tool/tools/en/gen-tools/zod/corehr_v2.js +7787 -0
  127. package/dist/mcp-tool/tools/en/gen-tools/zod/directory_v1.d.ts +4274 -0
  128. package/dist/mcp-tool/tools/en/gen-tools/zod/directory_v1.js +1367 -0
  129. package/dist/mcp-tool/tools/en/gen-tools/zod/docs_v1.d.ts +58 -0
  130. package/dist/mcp-tool/tools/en/gen-tools/zod/docs_v1.js +28 -0
  131. package/dist/mcp-tool/tools/en/gen-tools/zod/docx_v1.d.ts +93466 -0
  132. package/dist/mcp-tool/tools/en/gen-tools/zod/docx_v1.js +14350 -0
  133. package/dist/mcp-tool/tools/en/gen-tools/zod/drive_v1.d.ts +3251 -0
  134. package/dist/mcp-tool/tools/en/gen-tools/zod/drive_v1.js +1422 -0
  135. package/dist/mcp-tool/tools/en/gen-tools/zod/drive_v2.d.ts +174 -0
  136. package/dist/mcp-tool/tools/en/gen-tools/zod/drive_v2.js +117 -0
  137. package/dist/mcp-tool/tools/en/gen-tools/zod/ehr_v1.d.ts +86 -0
  138. package/dist/mcp-tool/tools/en/gen-tools/zod/ehr_v1.js +48 -0
  139. package/dist/mcp-tool/tools/en/gen-tools/zod/event_v1.d.ts +44 -0
  140. package/dist/mcp-tool/tools/en/gen-tools/zod/event_v1.js +17 -0
  141. package/dist/mcp-tool/tools/en/gen-tools/zod/helpdesk_v1.d.ts +733 -0
  142. package/dist/mcp-tool/tools/en/gen-tools/zod/helpdesk_v1.js +285 -0
  143. package/dist/mcp-tool/tools/en/gen-tools/zod/hire_v1.d.ts +10076 -0
  144. package/dist/mcp-tool/tools/en/gen-tools/zod/hire_v1.js +6065 -0
  145. package/dist/mcp-tool/tools/en/gen-tools/zod/hire_v2.d.ts +158 -0
  146. package/dist/mcp-tool/tools/en/gen-tools/zod/hire_v2.js +61 -0
  147. package/dist/mcp-tool/tools/en/gen-tools/zod/human_authentication_v1.d.ts +70 -0
  148. package/dist/mcp-tool/tools/en/gen-tools/zod/human_authentication_v1.js +27 -0
  149. package/dist/mcp-tool/tools/en/gen-tools/zod/im_v1.d.ts +3043 -0
  150. package/dist/mcp-tool/tools/en/gen-tools/zod/im_v1.js +1869 -0
  151. package/dist/mcp-tool/tools/en/gen-tools/zod/im_v2.d.ts +2176 -0
  152. package/dist/mcp-tool/tools/en/gen-tools/zod/im_v2.js +460 -0
  153. package/dist/mcp-tool/tools/en/gen-tools/zod/lingo_v1.d.ts +2301 -0
  154. package/dist/mcp-tool/tools/en/gen-tools/zod/lingo_v1.js +669 -0
  155. package/dist/mcp-tool/tools/en/gen-tools/zod/mail_v1.d.ts +2462 -0
  156. package/dist/mcp-tool/tools/en/gen-tools/zod/mail_v1.js +1655 -0
  157. package/dist/mcp-tool/tools/en/gen-tools/zod/mdm_v1.d.ts +104 -0
  158. package/dist/mcp-tool/tools/en/gen-tools/zod/mdm_v1.js +45 -0
  159. package/dist/mcp-tool/tools/en/gen-tools/zod/mdm_v3.d.ts +329 -0
  160. package/dist/mcp-tool/tools/en/gen-tools/zod/mdm_v3.js +78 -0
  161. package/dist/mcp-tool/tools/en/gen-tools/zod/minutes_v1.d.ts +92 -0
  162. package/dist/mcp-tool/tools/en/gen-tools/zod/minutes_v1.js +62 -0
  163. package/dist/mcp-tool/tools/en/gen-tools/zod/moments_v1.d.ts +52 -0
  164. package/dist/mcp-tool/tools/en/gen-tools/zod/moments_v1.js +24 -0
  165. package/dist/mcp-tool/tools/en/gen-tools/zod/okr_v1.d.ts +1628 -0
  166. package/dist/mcp-tool/tools/en/gen-tools/zod/okr_v1.js +434 -0
  167. package/dist/mcp-tool/tools/en/gen-tools/zod/optical_char_recognition_v1.d.ts +38 -0
  168. package/dist/mcp-tool/tools/en/gen-tools/zod/optical_char_recognition_v1.js +17 -0
  169. package/dist/mcp-tool/tools/en/gen-tools/zod/passport_v1.d.ts +131 -0
  170. package/dist/mcp-tool/tools/en/gen-tools/zod/passport_v1.js +59 -0
  171. package/dist/mcp-tool/tools/en/gen-tools/zod/payroll_v1.d.ts +333 -0
  172. package/dist/mcp-tool/tools/en/gen-tools/zod/payroll_v1.js +176 -0
  173. package/dist/mcp-tool/tools/en/gen-tools/zod/performance_v1.d.ts +309 -0
  174. package/dist/mcp-tool/tools/en/gen-tools/zod/performance_v1.js +178 -0
  175. package/dist/mcp-tool/tools/en/gen-tools/zod/performance_v2.d.ts +1177 -0
  176. package/dist/mcp-tool/tools/en/gen-tools/zod/performance_v2.js +559 -0
  177. package/dist/mcp-tool/tools/en/gen-tools/zod/personal_settings_v1.d.ts +640 -0
  178. package/dist/mcp-tool/tools/en/gen-tools/zod/personal_settings_v1.js +303 -0
  179. package/dist/mcp-tool/tools/en/gen-tools/zod/report_v1.d.ts +192 -0
  180. package/dist/mcp-tool/tools/en/gen-tools/zod/report_v1.js +71 -0
  181. package/dist/mcp-tool/tools/en/gen-tools/zod/search_v2.d.ts +1695 -0
  182. package/dist/mcp-tool/tools/en/gen-tools/zod/search_v2.js +446 -0
  183. package/dist/mcp-tool/tools/en/gen-tools/zod/security_and_compliance_v1.d.ts +68 -0
  184. package/dist/mcp-tool/tools/en/gen-tools/zod/security_and_compliance_v1.js +32 -0
  185. package/dist/mcp-tool/tools/en/gen-tools/zod/sheets_v2.d.ts +523 -0
  186. package/dist/mcp-tool/tools/en/gen-tools/zod/sheets_v2.js +231 -0
  187. package/dist/mcp-tool/tools/en/gen-tools/zod/sheets_v3.d.ts +979 -0
  188. package/dist/mcp-tool/tools/en/gen-tools/zod/sheets_v3.js +721 -0
  189. package/dist/mcp-tool/tools/en/gen-tools/zod/speech_to_text_v1.d.ts +225 -0
  190. package/dist/mcp-tool/tools/en/gen-tools/zod/speech_to_text_v1.js +65 -0
  191. package/dist/mcp-tool/tools/en/gen-tools/zod/task_v1.d.ts +1161 -0
  192. package/dist/mcp-tool/tools/en/gen-tools/zod/task_v1.js +672 -0
  193. package/dist/mcp-tool/tools/en/gen-tools/zod/task_v2.d.ts +6051 -0
  194. package/dist/mcp-tool/tools/en/gen-tools/zod/task_v2.js +1970 -0
  195. package/dist/mcp-tool/tools/en/gen-tools/zod/tenant_v2.d.ts +31 -0
  196. package/dist/mcp-tool/tools/en/gen-tools/zod/tenant_v2.js +24 -0
  197. package/dist/mcp-tool/tools/en/gen-tools/zod/translation_v1.d.ts +80 -0
  198. package/dist/mcp-tool/tools/en/gen-tools/zod/translation_v1.js +37 -0
  199. package/dist/mcp-tool/tools/en/gen-tools/zod/trust_party_v1.d.ts +182 -0
  200. package/dist/mcp-tool/tools/en/gen-tools/zod/trust_party_v1.js +141 -0
  201. package/dist/mcp-tool/tools/en/gen-tools/zod/vc_v1.d.ts +5725 -0
  202. package/dist/mcp-tool/tools/en/gen-tools/zod/vc_v1.js +1751 -0
  203. package/dist/mcp-tool/tools/en/gen-tools/zod/verification_v1.d.ts +21 -0
  204. package/dist/mcp-tool/tools/en/gen-tools/zod/verification_v1.js +14 -0
  205. package/dist/mcp-tool/tools/en/gen-tools/zod/wiki_v1.d.ts +72 -0
  206. package/dist/mcp-tool/tools/en/gen-tools/zod/wiki_v1.js +19 -0
  207. package/dist/mcp-tool/tools/en/gen-tools/zod/wiki_v2.d.ts +843 -0
  208. package/dist/mcp-tool/tools/en/gen-tools/zod/wiki_v2.js +381 -0
  209. package/dist/mcp-tool/tools/en/gen-tools/zod/workplace_v1.d.ts +116 -0
  210. package/dist/mcp-tool/tools/en/gen-tools/zod/workplace_v1.js +77 -0
  211. package/dist/mcp-tool/tools/index.d.ts +104 -0
  212. package/dist/mcp-tool/tools/index.js +9 -0
  213. package/dist/mcp-tool/tools/zh/builtin-tools/docx/builtin.d.ts +5 -0
  214. package/dist/mcp-tool/tools/zh/builtin-tools/docx/builtin.js +198 -0
  215. package/dist/mcp-tool/tools/zh/builtin-tools/drive/builtin.d.ts +4 -0
  216. package/dist/mcp-tool/tools/zh/builtin-tools/drive/builtin.js +159 -0
  217. package/dist/mcp-tool/tools/zh/builtin-tools/im/buildin.d.ts +4 -0
  218. package/dist/mcp-tool/tools/zh/builtin-tools/im/buildin.js +63 -0
  219. package/dist/mcp-tool/tools/zh/builtin-tools/index.d.ts +5 -0
  220. package/dist/mcp-tool/tools/zh/builtin-tools/index.js +7 -0
  221. package/dist/mcp-tool/tools/zh/gen-tools/index.d.ts +114 -0
  222. package/dist/mcp-tool/tools/zh/gen-tools/index.js +129 -0
  223. package/dist/mcp-tool/tools/zh/gen-tools/zod/acs_v1.d.ts +562 -0
  224. package/dist/mcp-tool/tools/zh/gen-tools/zod/acs_v1.js +277 -0
  225. package/dist/mcp-tool/tools/zh/gen-tools/zod/admin_v1.d.ts +912 -0
  226. package/dist/mcp-tool/tools/zh/gen-tools/zod/admin_v1.js +430 -0
  227. package/dist/mcp-tool/tools/zh/gen-tools/zod/aily_v1.d.ts +1213 -0
  228. package/dist/mcp-tool/tools/zh/gen-tools/zod/aily_v1.js +541 -0
  229. package/dist/mcp-tool/tools/zh/gen-tools/zod/apaas_v1.d.ts +2530 -0
  230. package/dist/mcp-tool/tools/zh/gen-tools/zod/apaas_v1.js +885 -0
  231. package/dist/mcp-tool/tools/zh/gen-tools/zod/application_v5.d.ts +80 -0
  232. package/dist/mcp-tool/tools/zh/gen-tools/zod/application_v5.js +59 -0
  233. package/dist/mcp-tool/tools/zh/gen-tools/zod/application_v6.d.ts +1007 -0
  234. package/dist/mcp-tool/tools/zh/gen-tools/zod/application_v6.js +721 -0
  235. package/dist/mcp-tool/tools/zh/gen-tools/zod/approval_v4.d.ts +3928 -0
  236. package/dist/mcp-tool/tools/zh/gen-tools/zod/approval_v4.js +1532 -0
  237. package/dist/mcp-tool/tools/zh/gen-tools/zod/attendance_v1.d.ts +6043 -0
  238. package/dist/mcp-tool/tools/zh/gen-tools/zod/attendance_v1.js +1620 -0
  239. package/dist/mcp-tool/tools/zh/gen-tools/zod/auth_v3.d.ts +151 -0
  240. package/dist/mcp-tool/tools/zh/gen-tools/zod/auth_v3.js +87 -0
  241. package/dist/mcp-tool/tools/zh/gen-tools/zod/authen_v1.d.ts +26 -0
  242. package/dist/mcp-tool/tools/zh/gen-tools/zod/authen_v1.js +17 -0
  243. package/dist/mcp-tool/tools/zh/gen-tools/zod/baike_v1.d.ts +2174 -0
  244. package/dist/mcp-tool/tools/zh/gen-tools/zod/baike_v1.js +574 -0
  245. package/dist/mcp-tool/tools/zh/gen-tools/zod/base_v2.d.ts +755 -0
  246. package/dist/mcp-tool/tools/zh/gen-tools/zod/base_v2.js +270 -0
  247. package/dist/mcp-tool/tools/zh/gen-tools/zod/bitable_v1.d.ts +3541 -0
  248. package/dist/mcp-tool/tools/zh/gen-tools/zod/bitable_v1.js +1864 -0
  249. package/dist/mcp-tool/tools/zh/gen-tools/zod/board_v1.d.ts +40 -0
  250. package/dist/mcp-tool/tools/zh/gen-tools/zod/board_v1.js +18 -0
  251. package/dist/mcp-tool/tools/zh/gen-tools/zod/calendar_v4.d.ts +2075 -0
  252. package/dist/mcp-tool/tools/zh/gen-tools/zod/calendar_v4.js +1533 -0
  253. package/dist/mcp-tool/tools/zh/gen-tools/zod/cardkit_v1.d.ts +528 -0
  254. package/dist/mcp-tool/tools/zh/gen-tools/zod/cardkit_v1.js +248 -0
  255. package/dist/mcp-tool/tools/zh/gen-tools/zod/compensation_v1.d.ts +189 -0
  256. package/dist/mcp-tool/tools/zh/gen-tools/zod/compensation_v1.js +130 -0
  257. package/dist/mcp-tool/tools/zh/gen-tools/zod/contact_v3.d.ts +4274 -0
  258. package/dist/mcp-tool/tools/zh/gen-tools/zod/contact_v3.js +2394 -0
  259. package/dist/mcp-tool/tools/zh/gen-tools/zod/corehr_v1.d.ts +16957 -0
  260. package/dist/mcp-tool/tools/zh/gen-tools/zod/corehr_v1.js +4753 -0
  261. package/dist/mcp-tool/tools/zh/gen-tools/zod/corehr_v2.d.ts +29869 -0
  262. package/dist/mcp-tool/tools/zh/gen-tools/zod/corehr_v2.js +7902 -0
  263. package/dist/mcp-tool/tools/zh/gen-tools/zod/directory_v1.d.ts +4324 -0
  264. package/dist/mcp-tool/tools/zh/gen-tools/zod/directory_v1.js +1340 -0
  265. package/dist/mcp-tool/tools/zh/gen-tools/zod/docs_v1.d.ts +58 -0
  266. package/dist/mcp-tool/tools/zh/gen-tools/zod/docs_v1.js +26 -0
  267. package/dist/mcp-tool/tools/zh/gen-tools/zod/docx_v1.d.ts +116719 -0
  268. package/dist/mcp-tool/tools/zh/gen-tools/zod/docx_v1.js +14949 -0
  269. package/dist/mcp-tool/tools/zh/gen-tools/zod/drive_v1.d.ts +3251 -0
  270. package/dist/mcp-tool/tools/zh/gen-tools/zod/drive_v1.js +1395 -0
  271. package/dist/mcp-tool/tools/zh/gen-tools/zod/drive_v2.d.ts +174 -0
  272. package/dist/mcp-tool/tools/zh/gen-tools/zod/drive_v2.js +115 -0
  273. package/dist/mcp-tool/tools/zh/gen-tools/zod/ehr_v1.d.ts +86 -0
  274. package/dist/mcp-tool/tools/zh/gen-tools/zod/ehr_v1.js +48 -0
  275. package/dist/mcp-tool/tools/zh/gen-tools/zod/event_v1.d.ts +44 -0
  276. package/dist/mcp-tool/tools/zh/gen-tools/zod/event_v1.js +25 -0
  277. package/dist/mcp-tool/tools/zh/gen-tools/zod/helpdesk_v1.d.ts +733 -0
  278. package/dist/mcp-tool/tools/zh/gen-tools/zod/helpdesk_v1.js +279 -0
  279. package/dist/mcp-tool/tools/zh/gen-tools/zod/hire_v1.d.ts +10085 -0
  280. package/dist/mcp-tool/tools/zh/gen-tools/zod/hire_v1.js +5787 -0
  281. package/dist/mcp-tool/tools/zh/gen-tools/zod/hire_v2.d.ts +158 -0
  282. package/dist/mcp-tool/tools/zh/gen-tools/zod/hire_v2.js +64 -0
  283. package/dist/mcp-tool/tools/zh/gen-tools/zod/human_authentication_v1.d.ts +70 -0
  284. package/dist/mcp-tool/tools/zh/gen-tools/zod/human_authentication_v1.js +27 -0
  285. package/dist/mcp-tool/tools/zh/gen-tools/zod/im_v1.d.ts +3043 -0
  286. package/dist/mcp-tool/tools/zh/gen-tools/zod/im_v1.js +1812 -0
  287. package/dist/mcp-tool/tools/zh/gen-tools/zod/im_v2.d.ts +2176 -0
  288. package/dist/mcp-tool/tools/zh/gen-tools/zod/im_v2.js +454 -0
  289. package/dist/mcp-tool/tools/zh/gen-tools/zod/lingo_v1.d.ts +2301 -0
  290. package/dist/mcp-tool/tools/zh/gen-tools/zod/lingo_v1.js +650 -0
  291. package/dist/mcp-tool/tools/zh/gen-tools/zod/mail_v1.d.ts +2465 -0
  292. package/dist/mcp-tool/tools/zh/gen-tools/zod/mail_v1.js +1467 -0
  293. package/dist/mcp-tool/tools/zh/gen-tools/zod/mdm_v1.d.ts +104 -0
  294. package/dist/mcp-tool/tools/zh/gen-tools/zod/mdm_v1.js +45 -0
  295. package/dist/mcp-tool/tools/zh/gen-tools/zod/mdm_v3.d.ts +329 -0
  296. package/dist/mcp-tool/tools/zh/gen-tools/zod/mdm_v3.js +76 -0
  297. package/dist/mcp-tool/tools/zh/gen-tools/zod/minutes_v1.d.ts +92 -0
  298. package/dist/mcp-tool/tools/zh/gen-tools/zod/minutes_v1.js +62 -0
  299. package/dist/mcp-tool/tools/zh/gen-tools/zod/moments_v1.d.ts +52 -0
  300. package/dist/mcp-tool/tools/zh/gen-tools/zod/moments_v1.js +20 -0
  301. package/dist/mcp-tool/tools/zh/gen-tools/zod/okr_v1.d.ts +1664 -0
  302. package/dist/mcp-tool/tools/zh/gen-tools/zod/okr_v1.js +455 -0
  303. package/dist/mcp-tool/tools/zh/gen-tools/zod/optical_char_recognition_v1.d.ts +38 -0
  304. package/dist/mcp-tool/tools/zh/gen-tools/zod/optical_char_recognition_v1.js +17 -0
  305. package/dist/mcp-tool/tools/zh/gen-tools/zod/passport_v1.d.ts +131 -0
  306. package/dist/mcp-tool/tools/zh/gen-tools/zod/passport_v1.js +53 -0
  307. package/dist/mcp-tool/tools/zh/gen-tools/zod/payroll_v1.d.ts +609 -0
  308. package/dist/mcp-tool/tools/zh/gen-tools/zod/payroll_v1.js +321 -0
  309. package/dist/mcp-tool/tools/zh/gen-tools/zod/performance_v1.d.ts +309 -0
  310. package/dist/mcp-tool/tools/zh/gen-tools/zod/performance_v1.js +165 -0
  311. package/dist/mcp-tool/tools/zh/gen-tools/zod/performance_v2.d.ts +1177 -0
  312. package/dist/mcp-tool/tools/zh/gen-tools/zod/performance_v2.js +525 -0
  313. package/dist/mcp-tool/tools/zh/gen-tools/zod/personal_settings_v1.d.ts +640 -0
  314. package/dist/mcp-tool/tools/zh/gen-tools/zod/personal_settings_v1.js +295 -0
  315. package/dist/mcp-tool/tools/zh/gen-tools/zod/report_v1.d.ts +194 -0
  316. package/dist/mcp-tool/tools/zh/gen-tools/zod/report_v1.js +72 -0
  317. package/dist/mcp-tool/tools/zh/gen-tools/zod/search_v2.d.ts +1695 -0
  318. package/dist/mcp-tool/tools/zh/gen-tools/zod/search_v2.js +556 -0
  319. package/dist/mcp-tool/tools/zh/gen-tools/zod/security_and_compliance_v1.d.ts +68 -0
  320. package/dist/mcp-tool/tools/zh/gen-tools/zod/security_and_compliance_v1.js +32 -0
  321. package/dist/mcp-tool/tools/zh/gen-tools/zod/sheets_v2.d.ts +523 -0
  322. package/dist/mcp-tool/tools/zh/gen-tools/zod/sheets_v2.js +231 -0
  323. package/dist/mcp-tool/tools/zh/gen-tools/zod/sheets_v3.d.ts +979 -0
  324. package/dist/mcp-tool/tools/zh/gen-tools/zod/sheets_v3.js +821 -0
  325. package/dist/mcp-tool/tools/zh/gen-tools/zod/speech_to_text_v1.d.ts +225 -0
  326. package/dist/mcp-tool/tools/zh/gen-tools/zod/speech_to_text_v1.js +65 -0
  327. package/dist/mcp-tool/tools/zh/gen-tools/zod/task_v1.d.ts +1161 -0
  328. package/dist/mcp-tool/tools/zh/gen-tools/zod/task_v1.js +647 -0
  329. package/dist/mcp-tool/tools/zh/gen-tools/zod/task_v2.d.ts +6077 -0
  330. package/dist/mcp-tool/tools/zh/gen-tools/zod/task_v2.js +1894 -0
  331. package/dist/mcp-tool/tools/zh/gen-tools/zod/tenant_v2.d.ts +31 -0
  332. package/dist/mcp-tool/tools/zh/gen-tools/zod/tenant_v2.js +24 -0
  333. package/dist/mcp-tool/tools/zh/gen-tools/zod/translation_v1.d.ts +80 -0
  334. package/dist/mcp-tool/tools/zh/gen-tools/zod/translation_v1.js +37 -0
  335. package/dist/mcp-tool/tools/zh/gen-tools/zod/trust_party_v1.d.ts +182 -0
  336. package/dist/mcp-tool/tools/zh/gen-tools/zod/trust_party_v1.js +137 -0
  337. package/dist/mcp-tool/tools/zh/gen-tools/zod/vc_v1.d.ts +5725 -0
  338. package/dist/mcp-tool/tools/zh/gen-tools/zod/vc_v1.js +1640 -0
  339. package/dist/mcp-tool/tools/zh/gen-tools/zod/verification_v1.d.ts +21 -0
  340. package/dist/mcp-tool/tools/zh/gen-tools/zod/verification_v1.js +14 -0
  341. package/dist/mcp-tool/tools/zh/gen-tools/zod/wiki_v1.d.ts +72 -0
  342. package/dist/mcp-tool/tools/zh/gen-tools/zod/wiki_v1.js +34 -0
  343. package/dist/mcp-tool/tools/zh/gen-tools/zod/wiki_v2.d.ts +843 -0
  344. package/dist/mcp-tool/tools/zh/gen-tools/zod/wiki_v2.js +376 -0
  345. package/dist/mcp-tool/tools/zh/gen-tools/zod/workplace_v1.d.ts +116 -0
  346. package/dist/mcp-tool/tools/zh/gen-tools/zod/workplace_v1.js +77 -0
  347. package/dist/mcp-tool/types/index.d.ts +53 -0
  348. package/dist/mcp-tool/types/index.js +9 -0
  349. package/dist/mcp-tool/utils/case-transf.d.ts +2 -0
  350. package/dist/mcp-tool/utils/case-transf.js +15 -0
  351. package/dist/mcp-tool/utils/filter-tools.d.ts +2 -0
  352. package/dist/mcp-tool/utils/filter-tools.js +27 -0
  353. package/dist/mcp-tool/utils/get-should-use-uat.d.ts +2 -0
  354. package/dist/mcp-tool/utils/get-should-use-uat.js +18 -0
  355. package/dist/mcp-tool/utils/handler.d.ts +2 -0
  356. package/dist/mcp-tool/utils/handler.js +119 -0
  357. package/dist/mcp-tool/utils/index.d.ts +4 -0
  358. package/dist/mcp-tool/utils/index.js +20 -0
  359. package/dist/utils/clean-env-args.d.ts +1 -0
  360. package/dist/utils/clean-env-args.js +12 -0
  361. package/dist/utils/constants.d.ts +18 -0
  362. package/dist/utils/constants.js +35 -0
  363. package/dist/utils/http-instance.d.ts +2 -0
  364. package/dist/utils/http-instance.js +21 -0
  365. package/dist/utils/logger.d.ts +22 -0
  366. package/dist/utils/logger.js +97 -0
  367. package/dist/utils/noop.d.ts +1 -0
  368. package/dist/utils/noop.js +6 -0
  369. package/dist/utils/parser-string-array.d.ts +1 -0
  370. package/dist/utils/parser-string-array.js +13 -0
  371. package/dist/utils/safe-json-parse.d.ts +1 -0
  372. package/dist/utils/safe-json-parse.js +14 -0
  373. package/dist/utils/version.d.ts +1 -0
  374. package/dist/utils/version.js +52 -0
  375. package/docs/recall-mcp/README.md +137 -0
  376. package/docs/recall-mcp/README_ZH.md +137 -0
  377. package/docs/reference/cli/cli-zh.md +92 -0
  378. package/docs/reference/cli/cli.md +92 -0
  379. package/docs/reference/tool-presets/presets-zh.md +120 -0
  380. package/docs/reference/tool-presets/presets.md +120 -0
  381. package/docs/reference/tool-presets/tools-en.md +1527 -0
  382. package/docs/reference/tool-presets/tools-zh.md +1544 -0
  383. package/docs/troubleshooting/faq-zh.md +67 -0
  384. package/docs/troubleshooting/faq.md +67 -0
  385. package/docs/usage/configuration/configuration-zh.md +344 -0
  386. package/docs/usage/configuration/configuration.md +344 -0
  387. package/docs/usage/docker/docker-zh.md +101 -0
  388. package/docs/usage/docker/docker.md +106 -0
  389. package/package.json +65 -0
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.filterTools = filterTools;
4
+ const types_1 = require("../types");
5
+ function filterTools(tools, options) {
6
+ let filteredTools = tools.filter((tool) => {
7
+ var _a, _b;
8
+ return ((_a = options.allowTools) === null || _a === void 0 ? void 0 : _a.includes(tool.name)) ||
9
+ ((_b = options.allowProjects) === null || _b === void 0 ? void 0 : _b.includes(tool.project));
10
+ });
11
+ // Filter by token mode
12
+ if (options.tokenMode && options.tokenMode !== types_1.TokenMode.AUTO) {
13
+ filteredTools = filteredTools.filter((tool) => {
14
+ if (!tool.accessTokens) {
15
+ return false;
16
+ }
17
+ if (options.tokenMode === types_1.TokenMode.USER_ACCESS_TOKEN) {
18
+ return tool.accessTokens.includes('user');
19
+ }
20
+ if (options.tokenMode === types_1.TokenMode.TENANT_ACCESS_TOKEN) {
21
+ return tool.accessTokens.includes('tenant');
22
+ }
23
+ return true;
24
+ });
25
+ }
26
+ return filteredTools;
27
+ }
@@ -0,0 +1,2 @@
1
+ import { TokenMode } from '../types';
2
+ export declare function getShouldUseUAT(tokenMode?: TokenMode, useUAT?: boolean): boolean | undefined;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getShouldUseUAT = getShouldUseUAT;
4
+ const types_1 = require("../types");
5
+ function getShouldUseUAT(tokenMode = types_1.TokenMode.AUTO, useUAT) {
6
+ switch (tokenMode) {
7
+ case types_1.TokenMode.USER_ACCESS_TOKEN: {
8
+ return true;
9
+ }
10
+ case types_1.TokenMode.TENANT_ACCESS_TOKEN: {
11
+ return false;
12
+ }
13
+ case types_1.TokenMode.AUTO:
14
+ default: {
15
+ return useUAT;
16
+ }
17
+ }
18
+ }
@@ -0,0 +1,2 @@
1
+ import { McpHandler } from '../types';
2
+ export declare const larkOapiHandler: McpHandler;
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.larkOapiHandler = void 0;
37
+ const lark = __importStar(require("@larksuiteoapi/node-sdk"));
38
+ const logger_1 = require("../../utils/logger");
39
+ /**
40
+ * Replace path parameters in URL template
41
+ * e.g., /open-apis/sheets/v2/spreadsheets/:spreadsheet_token/values/:range
42
+ * with pathParams { spreadsheet_token: "xxx", range: "yyy" }
43
+ * becomes /open-apis/sheets/v2/spreadsheets/xxx/values/yyy
44
+ */
45
+ const fillApiPath = (apiPath, pathParams = {}) => {
46
+ return apiPath.replace(/:([^/]+)/g, (_, key) => {
47
+ if (pathParams[key] !== undefined) {
48
+ return encodeURIComponent(pathParams[key]);
49
+ }
50
+ throw new Error(`Missing path parameter: ${key}`);
51
+ });
52
+ };
53
+ const sdkFuncCall = async (client, params, options) => {
54
+ const { tool, userAccessToken } = options || {};
55
+ const { sdkName, path, httpMethod } = tool || {};
56
+ if (!sdkName) {
57
+ logger_1.logger.error(`[larkOapiHandler] Invalid sdkName`);
58
+ throw new Error('Invalid sdkName');
59
+ }
60
+ if (!path) {
61
+ logger_1.logger.error(`[larkOapiHandler] Invalid path`);
62
+ throw new Error('Invalid path');
63
+ }
64
+ const chain = sdkName.split('.');
65
+ let func = client;
66
+ for (const element of chain) {
67
+ func = func[element];
68
+ if (!func) {
69
+ // SDK doesn't have this method, use client.request() with path parameter replacement
70
+ func = async (reqParams, ...args) => {
71
+ const { path: pathParams, ...restParams } = reqParams || {};
72
+ const filledPath = fillApiPath(path, pathParams);
73
+ return await client.request({ method: httpMethod, url: filledPath, ...restParams }, ...args);
74
+ };
75
+ break;
76
+ }
77
+ }
78
+ if (!(func instanceof Function)) {
79
+ func = async (reqParams, ...args) => {
80
+ const { path: pathParams, ...restParams } = reqParams || {};
81
+ const filledPath = fillApiPath(path, pathParams);
82
+ return await client.request({ method: httpMethod, url: filledPath, ...restParams }, ...args);
83
+ };
84
+ }
85
+ if (params === null || params === void 0 ? void 0 : params.useUAT) {
86
+ if (!userAccessToken) {
87
+ logger_1.logger.error(`[larkOapiHandler] UserAccessToken is invalid or expired`);
88
+ throw new Error('UserAccessToken is invalid or expired');
89
+ }
90
+ return await func(params, lark.withUserAccessToken(userAccessToken));
91
+ }
92
+ return await func(params);
93
+ };
94
+ const larkOapiHandler = async (client, params, options) => {
95
+ var _a, _b;
96
+ try {
97
+ const response = await sdkFuncCall(client, params, options);
98
+ return {
99
+ content: [
100
+ {
101
+ type: 'text',
102
+ text: JSON.stringify((_a = response === null || response === void 0 ? void 0 : response.data) !== null && _a !== void 0 ? _a : response),
103
+ },
104
+ ],
105
+ };
106
+ }
107
+ catch (error) {
108
+ return {
109
+ isError: true,
110
+ content: [
111
+ {
112
+ type: 'text',
113
+ text: JSON.stringify(((_b = error === null || error === void 0 ? void 0 : error.response) === null || _b === void 0 ? void 0 : _b.data) || (error === null || error === void 0 ? void 0 : error.message) || error),
114
+ },
115
+ ],
116
+ };
117
+ }
118
+ };
119
+ exports.larkOapiHandler = larkOapiHandler;
@@ -0,0 +1,4 @@
1
+ export * from './filter-tools';
2
+ export * from './handler';
3
+ export * from './case-transf';
4
+ export * from './get-should-use-uat';
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./filter-tools"), exports);
18
+ __exportStar(require("./handler"), exports);
19
+ __exportStar(require("./case-transf"), exports);
20
+ __exportStar(require("./get-should-use-uat"), exports);
@@ -0,0 +1 @@
1
+ export declare function cleanEnvArgs(args: Record<string, string | undefined>): Record<string, string>;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cleanEnvArgs = cleanEnvArgs;
4
+ function cleanEnvArgs(args) {
5
+ const result = {};
6
+ for (const [key, value] of Object.entries(args)) {
7
+ if (value) {
8
+ result[key] = value;
9
+ }
10
+ }
11
+ return result;
12
+ }
@@ -0,0 +1,18 @@
1
+ import envPaths from 'env-paths';
2
+ export declare const ENV_PATHS: envPaths.Paths;
3
+ export declare const USER_AGENT: string;
4
+ export declare const NODE_VERSION_MAJOR: number;
5
+ export declare const OAPI_MCP_DEFAULT_ARGS: {
6
+ domain: string;
7
+ toolNameCase: string;
8
+ language: string;
9
+ tokenMode: string;
10
+ mode: string;
11
+ host: string;
12
+ port: string;
13
+ };
14
+ export declare const OAPI_MCP_ENV_ARGS: Record<string, string>;
15
+ export declare enum OAPI_MCP_ERROR_CODE {
16
+ USER_ACCESS_TOKEN_INVALID = 99991668,
17
+ USER_ACCESS_TOKEN_UNAUTHORIZED = 99991679
18
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.OAPI_MCP_ERROR_CODE = exports.OAPI_MCP_ENV_ARGS = exports.OAPI_MCP_DEFAULT_ARGS = exports.NODE_VERSION_MAJOR = exports.USER_AGENT = exports.ENV_PATHS = void 0;
7
+ const clean_env_args_1 = require("./clean-env-args");
8
+ const version_1 = require("./version");
9
+ const env_paths_1 = __importDefault(require("env-paths"));
10
+ exports.ENV_PATHS = (0, env_paths_1.default)('lark-mcp');
11
+ const [major] = process.versions.node.split('.').map(Number);
12
+ exports.USER_AGENT = `oapi-sdk-mcp/${version_1.currentVersion}`;
13
+ exports.NODE_VERSION_MAJOR = major;
14
+ exports.OAPI_MCP_DEFAULT_ARGS = {
15
+ domain: 'https://open.feishu.cn',
16
+ toolNameCase: 'snake',
17
+ language: 'en',
18
+ tokenMode: 'auto',
19
+ mode: 'stdio',
20
+ host: 'localhost',
21
+ port: '3000',
22
+ };
23
+ exports.OAPI_MCP_ENV_ARGS = (0, clean_env_args_1.cleanEnvArgs)({
24
+ appId: process.env.APP_ID,
25
+ appSecret: process.env.APP_SECRET,
26
+ userAccessToken: process.env.USER_ACCESS_TOKEN,
27
+ tokenMode: process.env.LARK_TOKEN_MODE,
28
+ tools: process.env.LARK_TOOLS,
29
+ domain: process.env.LARK_DOMAIN,
30
+ });
31
+ var OAPI_MCP_ERROR_CODE;
32
+ (function (OAPI_MCP_ERROR_CODE) {
33
+ OAPI_MCP_ERROR_CODE[OAPI_MCP_ERROR_CODE["USER_ACCESS_TOKEN_INVALID"] = 99991668] = "USER_ACCESS_TOKEN_INVALID";
34
+ OAPI_MCP_ERROR_CODE[OAPI_MCP_ERROR_CODE["USER_ACCESS_TOKEN_UNAUTHORIZED"] = 99991679] = "USER_ACCESS_TOKEN_UNAUTHORIZED";
35
+ })(OAPI_MCP_ERROR_CODE || (exports.OAPI_MCP_ERROR_CODE = OAPI_MCP_ERROR_CODE = {}));
@@ -0,0 +1,2 @@
1
+ export declare const commonHttpInstance: import("axios").AxiosInstance;
2
+ export declare const oapiHttpInstance: import("axios").AxiosInstance;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.oapiHttpInstance = exports.commonHttpInstance = void 0;
7
+ const axios_1 = __importDefault(require("axios"));
8
+ const proxy_agent_1 = require("proxy-agent");
9
+ const constants_1 = require("./constants");
10
+ const proxyAgent = new proxy_agent_1.ProxyAgent();
11
+ const traceMiddleware = (request) => {
12
+ if (request.headers) {
13
+ request.headers['User-Agent'] = constants_1.USER_AGENT;
14
+ }
15
+ return request;
16
+ };
17
+ exports.commonHttpInstance = axios_1.default.create({ proxy: false, httpAgent: proxyAgent, httpsAgent: proxyAgent });
18
+ exports.commonHttpInstance.interceptors.request.use(traceMiddleware, undefined, { synchronous: true });
19
+ exports.oapiHttpInstance = axios_1.default.create({ proxy: false, httpAgent: proxyAgent, httpsAgent: proxyAgent });
20
+ exports.oapiHttpInstance.interceptors.request.use(traceMiddleware, undefined, { synchronous: true });
21
+ exports.oapiHttpInstance.interceptors.response.use((response) => response.data);
@@ -0,0 +1,22 @@
1
+ export declare enum LogLevel {
2
+ ERROR = 1,
3
+ WARN = 2,
4
+ INFO = 3,
5
+ DEBUG = 4
6
+ }
7
+ export declare class Logger {
8
+ private level;
9
+ static logFilesToKeep: number;
10
+ static logFilePrefix: string;
11
+ constructor();
12
+ get logFileName(): string;
13
+ initLogFile: () => void;
14
+ cleanHistoryLogFile: () => void;
15
+ setLevel: (level: LogLevel) => void;
16
+ log: (message: string) => void;
17
+ debug: (message: string) => void;
18
+ info: (message: string) => void;
19
+ warn: (message: string) => void;
20
+ error: (message: string) => void;
21
+ }
22
+ export declare const logger: Logger;
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.logger = exports.Logger = exports.LogLevel = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const constants_1 = require("./constants");
10
+ const version_1 = require("./version");
11
+ var LogLevel;
12
+ (function (LogLevel) {
13
+ LogLevel[LogLevel["ERROR"] = 1] = "ERROR";
14
+ LogLevel[LogLevel["WARN"] = 2] = "WARN";
15
+ LogLevel[LogLevel["INFO"] = 3] = "INFO";
16
+ LogLevel[LogLevel["DEBUG"] = 4] = "DEBUG";
17
+ })(LogLevel || (exports.LogLevel = LogLevel = {}));
18
+ class Logger {
19
+ constructor() {
20
+ this.level = LogLevel.WARN;
21
+ this.initLogFile = () => {
22
+ if (!fs_1.default.existsSync(constants_1.ENV_PATHS.log)) {
23
+ fs_1.default.mkdirSync(constants_1.ENV_PATHS.log, { recursive: true });
24
+ }
25
+ };
26
+ this.cleanHistoryLogFile = () => {
27
+ try {
28
+ // clean old log files, 7 days ago
29
+ const logFiles = fs_1.default
30
+ .readdirSync(constants_1.ENV_PATHS.log)
31
+ .filter((file) => file.startsWith(Logger.logFilePrefix) && file.endsWith('.log'));
32
+ const logFilesToDelete = logFiles.filter((file) => {
33
+ const fileDate = file.split('-')[1].split('.')[0];
34
+ const fileDateObj = new Date(fileDate);
35
+ return fileDateObj < new Date(Date.now() - Logger.logFilesToKeep * 24 * 60 * 60 * 1000);
36
+ });
37
+ for (const file of logFilesToDelete) {
38
+ try {
39
+ fs_1.default.unlinkSync(path_1.default.join(constants_1.ENV_PATHS.log, file));
40
+ }
41
+ catch (error) {
42
+ console.error(`Failed to delete log file: ${error}`);
43
+ }
44
+ }
45
+ }
46
+ catch (error) {
47
+ console.error(`Failed to clean history log file: ${error}`);
48
+ }
49
+ };
50
+ this.setLevel = (level) => {
51
+ this.level = level;
52
+ };
53
+ this.log = (message) => {
54
+ try {
55
+ fs_1.default.appendFileSync(path_1.default.join(constants_1.ENV_PATHS.log, this.logFileName), `[${new Date().toISOString()}] [${version_1.currentVersion}] [${process.pid}] ${message}\n`);
56
+ }
57
+ catch (error) {
58
+ console.error(`Failed to write log: ${error} ${message}`);
59
+ }
60
+ };
61
+ this.debug = (message) => {
62
+ if (this.level < LogLevel.DEBUG) {
63
+ return;
64
+ }
65
+ this.log(`[DEBUG] ${message}`);
66
+ };
67
+ this.info = (message) => {
68
+ if (this.level < LogLevel.INFO) {
69
+ return;
70
+ }
71
+ this.log(`[INFO] ${message}`);
72
+ };
73
+ this.warn = (message) => {
74
+ if (this.level < LogLevel.WARN) {
75
+ return;
76
+ }
77
+ console.error(`[WARN] ${message}`);
78
+ this.log(`[WARN] ${message}`);
79
+ };
80
+ this.error = (message) => {
81
+ if (this.level < LogLevel.ERROR) {
82
+ return;
83
+ }
84
+ console.error(`[ERROR] ${message}`);
85
+ this.log(`[ERROR] ${message}`);
86
+ };
87
+ this.initLogFile();
88
+ this.cleanHistoryLogFile();
89
+ }
90
+ get logFileName() {
91
+ return `${Logger.logFilePrefix}${new Date().toISOString().split('T')[0]}.log`;
92
+ }
93
+ }
94
+ exports.Logger = Logger;
95
+ Logger.logFilesToKeep = 7;
96
+ Logger.logFilePrefix = 'lark-mcp-';
97
+ exports.logger = new Logger();
@@ -0,0 +1 @@
1
+ export declare const noop: () => void;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.noop = void 0;
4
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
5
+ const noop = () => { };
6
+ exports.noop = noop;
@@ -0,0 +1 @@
1
+ export declare function parseStringArray(str?: string | string[]): string[];
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseStringArray = parseStringArray;
4
+ function parseStringArray(str) {
5
+ if (!str) {
6
+ return [];
7
+ }
8
+ if (typeof str === 'string') {
9
+ // split by comma or space and trim space
10
+ return str.split(/[,\s]+/).map((item) => item.trim());
11
+ }
12
+ return str.map((item) => item.trim());
13
+ }
@@ -0,0 +1 @@
1
+ export declare function safeJsonParse<T>(str: string | undefined | null, fallback: T): T;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.safeJsonParse = safeJsonParse;
4
+ function safeJsonParse(str, fallback) {
5
+ if (!str) {
6
+ return fallback;
7
+ }
8
+ try {
9
+ return JSON.parse(str);
10
+ }
11
+ catch (e) {
12
+ return fallback;
13
+ }
14
+ }
@@ -0,0 +1 @@
1
+ export declare const currentVersion: string;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.currentVersion = void 0;
37
+ const fs = __importStar(require("fs"));
38
+ const path = __importStar(require("path"));
39
+ const safe_json_parse_1 = require("./safe-json-parse");
40
+ function getPackageJsonVersion() {
41
+ const filePath = path.join(__dirname, '../../package.json');
42
+ try {
43
+ const packageJson = (0, safe_json_parse_1.safeJsonParse)(fs.readFileSync(filePath, 'utf8'), {
44
+ version: '0.0.0',
45
+ });
46
+ return packageJson.version || '0.0.0';
47
+ }
48
+ catch (error) {
49
+ return '0.0.0';
50
+ }
51
+ }
52
+ exports.currentVersion = getPackageJsonVersion();
@@ -0,0 +1,137 @@
1
+ # Feishu/Lark Open Platform Developer Documentation Retrieval MCP
2
+
3
+ [![npm version](https://img.shields.io/npm/v/@larksuiteoapi/lark-mcp.svg)](https://www.npmjs.com/package/@larksuiteoapi/lark-mcp)
4
+ [![npm downloads](https://img.shields.io/npm/dm/@larksuiteoapi/lark-mcp.svg)](https://www.npmjs.com/package/@larksuiteoapi/lark-mcp)
5
+ [![Node.js Version](https://img.shields.io/node/v/@larksuiteoapi/lark-mcp.svg)](https://nodejs.org/)
6
+
7
+ English | [中文](./README_ZH.md)
8
+
9
+ > **⚠️ Beta Version Notice**: This tool is currently in Beta. Features and APIs may change, so please pay close attention to version updates.
10
+
11
+ This is the Feishu/Lark official Open Platform Developer Documentation Retrieval MCP (Model Context Protocol) tool, designed to help users quickly find the documentation they need after entering their requirements. It can also be used with [Feishu/Lark OpenAPI MCP](../../README.md) to enable AI assistants to run automated scenarios.
12
+
13
+ > The scope of documentation retrieval covers all developer guides, tutorials, server-side APIs, and client-side APIs under the [Developer Documentation](https://open.feishu.cn/document/home/index) or [Lark Developer Documentation](https://open.larksuite.com/document/home/index), helping users quickly find the corresponding OpenAPI or other developer documentation. It does not search "Lark Docs" documents.
14
+
15
+ ## Getting Started
16
+
17
+ ### Install Node.js
18
+
19
+ Before using the lark-mcp tool, you need to install the Node.js environment. If you have already installed Node.js, you can skip this step.
20
+ 1. **Install with Homebrew (Recommended):**
21
+
22
+ ```bash
23
+ brew install node
24
+ ```
25
+
26
+ 2. **Use the official installer:**
27
+ - Visit the [Node.js official website](https://nodejs.org/)
28
+ - Download and install the LTS version
29
+ - After installation, open the terminal to verify:
30
+ ```bash
31
+ node -v
32
+ npm -v
33
+ ```
34
+
35
+ #### Install Node.js on Windows
36
+
37
+ 1. **Use the official installer:**
38
+
39
+ - Visit the [Node.js official website](https://nodejs.org/)
40
+ - Download and run the Windows installer (.msi file)
41
+ - Follow the installation wizard to complete the installation
42
+ - After installation, open the command prompt to verify:
43
+ ```bash
44
+ node -v
45
+ npm -v
46
+ ```
47
+
48
+ 2. **Use nvm-windows:**
49
+ - Download [nvm-windows](https://github.com/coreybutler/nvm-windows/releases)
50
+ - Install nvm-windows
51
+ - Use nvm to install Node.js:
52
+ ```bash
53
+ nvm install latest
54
+ nvm use <version>
55
+ ```
56
+
57
+ ## Installation
58
+
59
+ Install the lark-mcp tool globally:
60
+
61
+ ```bash
62
+ npm install -g @larksuiteoapi/lark-mcp
63
+ ```
64
+
65
+ ## User Guide
66
+
67
+ ### Use in Trae/Cursor/Claude
68
+ To integrate Lark features in AI tools such as Trae, Cursor or Claude, you can install using the button below.
69
+
70
+ [![Install MCP Server](https://cursor.com/deeplink/mcp-install-light.svg)](https://cursor.com/install-mcp?name=lark_open_doc_search&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBsYXJrc3VpdGVvYXBpL2xhcmstbWNwIiwicmVjYWxsLWRldmVsb3Blci1kb2N1bWVudHMiXX0=)
71
+
72
+ [![Install MCP Server](../../assets/trae-cn.svg)](trae-cn://trae.ai-ide/mcp-import?source=lark&type=stdio&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBsYXJrc3VpdGVvYXBpL2xhcmstbWNwIiwicmVjYWxsLWRldmVsb3Blci1kb2N1bWVudHMiXX0=) [![Install MCP Server](../../assets/trae.svg)](trae://trae.ai-ide/mcp-import?source=lark&type=stdio&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBsYXJrc3VpdGVvYXBpL2xhcmstbWNwIiwicmVjYWxsLWRldmVsb3Blci1kb2N1bWVudHMiXX0=)
73
+
74
+ or you can add the following to your configuration file:
75
+
76
+ ```json
77
+ {
78
+ "mcpServers": {
79
+ "lark-mcp": {
80
+ "command": "npx",
81
+ "args": [
82
+ "-y",
83
+ "@larksuiteoapi/lark-mcp",
84
+ "recall-developer-documents",
85
+ ]
86
+ }
87
+ }
88
+ }
89
+ ```
90
+
91
+ ### Advanced Configuration
92
+
93
+ #### Command Line Arguments
94
+
95
+ The `lark-mcp recall-developer-documents` tool provides a variety of command line arguments for flexible MCP service configuration:
96
+
97
+ | Parameter | Short | Description | Example |
98
+ |------|------|------|------|
99
+ | `--mode` | `-m` | Transfer mode, options are stdio or streamable or sse, default is stdio | `-m sse` |
100
+ | `--host` | | Listening host in SSE\Streamable mode, default is localhost | `--host 0.0.0.0` |
101
+ | `--port` | `-p` | Listening port in SSE\Streamable mode, default is 3000 | `-p 3000` |
102
+ | `--version` | `-V` | Show version number | `-V` |
103
+ | `--help` | `-h` | Show help information | `-h` |
104
+
105
+ #### Example Usage of Arguments
106
+
107
+ 1. **Transfer Modes**:
108
+
109
+ recall-developer-documents supports two transfer modes:
110
+
111
+ 1. **stdio mode (default/recommended):** Suitable for integration with AI tools such as Cursor or Claude, communicating via standard input and output streams.
112
+ ```bash
113
+ lark-mcp recall-developer-documents -m stdio
114
+ ```
115
+
116
+ 2. **SSE mode:** Provides an HTTP interface based on Server-Sent Events, suitable for web applications or scenarios requiring a network interface.
117
+
118
+ ```bash
119
+ # By default, only listens on localhost
120
+ lark-mcp recall-developer-documents -m sse -p 3000
121
+
122
+ # Listen on all network interfaces (allow remote access)
123
+ lark-mcp recall-developer-documents -m sse --host 0.0.0.0 -p 3000
124
+ ```
125
+
126
+ After starting, the SSE endpoint can be accessed at `http://<host>:<port>/sse`.
127
+
128
+ ## Related Links
129
+
130
+ - [Feishu Open Platform](https://open.feishu.cn/)
131
+ - [Lark International Open Platform](https://open.larksuite.com/)
132
+ - [Node.js Official Website](https://nodejs.org/)
133
+ - [npm Documentation](https://docs.npmjs.com/)
134
+
135
+ ## Feedback
136
+
137
+ You are welcome to submit Issues to help improve this tool. If you have any questions or suggestions, please raise them in the GitHub repository.