@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.
- package/CHANGELOG.md +62 -0
- package/LICENSE +9 -0
- package/README.md +215 -0
- package/README_ZH.md +212 -0
- package/dist/auth/config.d.ts +12 -0
- package/dist/auth/config.js +15 -0
- package/dist/auth/handler/handler-local.d.ts +21 -0
- package/dist/auth/handler/handler-local.js +123 -0
- package/dist/auth/handler/handler.d.ts +32 -0
- package/dist/auth/handler/handler.js +117 -0
- package/dist/auth/handler/index.d.ts +2 -0
- package/dist/auth/handler/index.js +18 -0
- package/dist/auth/index.d.ts +4 -0
- package/dist/auth/index.js +20 -0
- package/dist/auth/provider/index.d.ts +3 -0
- package/dist/auth/provider/index.js +19 -0
- package/dist/auth/provider/oauth.d.ts +18 -0
- package/dist/auth/provider/oauth.js +147 -0
- package/dist/auth/provider/oidc.d.ts +18 -0
- package/dist/auth/provider/oidc.js +172 -0
- package/dist/auth/provider/types.d.ts +8 -0
- package/dist/auth/provider/types.js +2 -0
- package/dist/auth/store.d.ts +39 -0
- package/dist/auth/store.js +213 -0
- package/dist/auth/types.d.ts +13 -0
- package/dist/auth/types.js +2 -0
- package/dist/auth/utils/encryption.d.ts +7 -0
- package/dist/auth/utils/encryption.js +40 -0
- package/dist/auth/utils/index.d.ts +3 -0
- package/dist/auth/utils/index.js +19 -0
- package/dist/auth/utils/is-token-valid.d.ts +7 -0
- package/dist/auth/utils/is-token-valid.js +28 -0
- package/dist/auth/utils/pkce.d.ts +6 -0
- package/dist/auth/utils/pkce.js +20 -0
- package/dist/auth/utils/storage-manager.d.ts +17 -0
- package/dist/auth/utils/storage-manager.js +135 -0
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.js +5 -0
- package/dist/cli/login-handler.d.ts +16 -0
- package/dist/cli/login-handler.js +142 -0
- package/dist/cli.d.ts +4 -0
- package/dist/cli.js +122 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +19 -0
- package/dist/mcp-server/index.d.ts +2 -0
- package/dist/mcp-server/index.js +18 -0
- package/dist/mcp-server/shared/index.d.ts +2 -0
- package/dist/mcp-server/shared/index.js +18 -0
- package/dist/mcp-server/shared/init.d.ts +10 -0
- package/dist/mcp-server/shared/init.js +121 -0
- package/dist/mcp-server/shared/types.d.ts +40 -0
- package/dist/mcp-server/shared/types.js +10 -0
- package/dist/mcp-server/transport/index.d.ts +3 -0
- package/dist/mcp-server/transport/index.js +19 -0
- package/dist/mcp-server/transport/sse.d.ts +2 -0
- package/dist/mcp-server/transport/sse.js +75 -0
- package/dist/mcp-server/transport/stdio.d.ts +2 -0
- package/dist/mcp-server/transport/stdio.js +36 -0
- package/dist/mcp-server/transport/streamable.d.ts +2 -0
- package/dist/mcp-server/transport/streamable.js +86 -0
- package/dist/mcp-server/transport/utils.d.ts +16 -0
- package/dist/mcp-server/transport/utils.js +34 -0
- package/dist/mcp-tool/constants.d.ts +49 -0
- package/dist/mcp-tool/constants.js +115 -0
- package/dist/mcp-tool/document-tool/index.d.ts +1 -0
- package/dist/mcp-tool/document-tool/index.js +17 -0
- package/dist/mcp-tool/document-tool/recall/index.d.ts +2 -0
- package/dist/mcp-tool/document-tool/recall/index.js +39 -0
- package/dist/mcp-tool/document-tool/recall/request.d.ts +2 -0
- package/dist/mcp-tool/document-tool/recall/request.js +25 -0
- package/dist/mcp-tool/document-tool/recall/type.d.ts +19 -0
- package/dist/mcp-tool/document-tool/recall/type.js +2 -0
- package/dist/mcp-tool/index.d.ts +5 -0
- package/dist/mcp-tool/index.js +21 -0
- package/dist/mcp-tool/mcp-tool.d.ts +52 -0
- package/dist/mcp-tool/mcp-tool.js +198 -0
- package/dist/mcp-tool/tools/en/builtin-tools/docx/builtin.d.ts +5 -0
- package/dist/mcp-tool/tools/en/builtin-tools/docx/builtin.js +219 -0
- package/dist/mcp-tool/tools/en/builtin-tools/drive/builtin.d.ts +4 -0
- package/dist/mcp-tool/tools/en/builtin-tools/drive/builtin.js +159 -0
- package/dist/mcp-tool/tools/en/builtin-tools/im/buildin.d.ts +4 -0
- package/dist/mcp-tool/tools/en/builtin-tools/im/buildin.js +63 -0
- package/dist/mcp-tool/tools/en/builtin-tools/index.d.ts +5 -0
- package/dist/mcp-tool/tools/en/builtin-tools/index.js +7 -0
- package/dist/mcp-tool/tools/en/gen-tools/index.d.ts +114 -0
- package/dist/mcp-tool/tools/en/gen-tools/index.js +129 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/acs_v1.d.ts +562 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/acs_v1.js +264 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/admin_v1.d.ts +912 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/admin_v1.js +449 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/aily_v1.d.ts +1213 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/aily_v1.js +560 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/apaas_v1.d.ts +2530 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/apaas_v1.js +949 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/application_v5.d.ts +80 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/application_v5.js +53 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/application_v6.d.ts +1008 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/application_v6.js +775 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/approval_v4.d.ts +3928 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/approval_v4.js +1602 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/attendance_v1.d.ts +6043 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/attendance_v1.js +1857 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/auth_v3.d.ts +151 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/auth_v3.js +71 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/authen_v1.d.ts +26 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/authen_v1.js +17 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/baike_v1.d.ts +2174 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/baike_v1.js +594 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/base_v2.d.ts +755 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/base_v2.js +234 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/bitable_v1.d.ts +3541 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/bitable_v1.js +1786 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/board_v1.d.ts +40 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/board_v1.js +18 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/calendar_v4.d.ts +2075 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/calendar_v4.js +1594 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/cardkit_v1.d.ts +528 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/cardkit_v1.js +260 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/compensation_v1.d.ts +189 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/compensation_v1.js +132 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/contact_v3.d.ts +4274 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/contact_v3.js +2583 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/corehr_v1.d.ts +16873 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/corehr_v1.js +5045 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/corehr_v2.d.ts +29387 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/corehr_v2.js +7787 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/directory_v1.d.ts +4274 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/directory_v1.js +1367 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/docs_v1.d.ts +58 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/docs_v1.js +28 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/docx_v1.d.ts +93466 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/docx_v1.js +14350 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/drive_v1.d.ts +3251 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/drive_v1.js +1422 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/drive_v2.d.ts +174 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/drive_v2.js +117 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/ehr_v1.d.ts +86 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/ehr_v1.js +48 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/event_v1.d.ts +44 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/event_v1.js +17 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/helpdesk_v1.d.ts +733 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/helpdesk_v1.js +285 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/hire_v1.d.ts +10076 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/hire_v1.js +6065 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/hire_v2.d.ts +158 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/hire_v2.js +61 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/human_authentication_v1.d.ts +70 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/human_authentication_v1.js +27 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/im_v1.d.ts +3043 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/im_v1.js +1869 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/im_v2.d.ts +2176 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/im_v2.js +460 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/lingo_v1.d.ts +2301 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/lingo_v1.js +669 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/mail_v1.d.ts +2462 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/mail_v1.js +1655 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/mdm_v1.d.ts +104 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/mdm_v1.js +45 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/mdm_v3.d.ts +329 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/mdm_v3.js +78 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/minutes_v1.d.ts +92 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/minutes_v1.js +62 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/moments_v1.d.ts +52 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/moments_v1.js +24 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/okr_v1.d.ts +1628 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/okr_v1.js +434 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/optical_char_recognition_v1.d.ts +38 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/optical_char_recognition_v1.js +17 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/passport_v1.d.ts +131 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/passport_v1.js +59 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/payroll_v1.d.ts +333 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/payroll_v1.js +176 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/performance_v1.d.ts +309 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/performance_v1.js +178 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/performance_v2.d.ts +1177 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/performance_v2.js +559 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/personal_settings_v1.d.ts +640 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/personal_settings_v1.js +303 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/report_v1.d.ts +192 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/report_v1.js +71 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/search_v2.d.ts +1695 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/search_v2.js +446 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/security_and_compliance_v1.d.ts +68 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/security_and_compliance_v1.js +32 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/sheets_v2.d.ts +523 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/sheets_v2.js +231 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/sheets_v3.d.ts +979 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/sheets_v3.js +721 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/speech_to_text_v1.d.ts +225 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/speech_to_text_v1.js +65 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/task_v1.d.ts +1161 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/task_v1.js +672 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/task_v2.d.ts +6051 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/task_v2.js +1970 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/tenant_v2.d.ts +31 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/tenant_v2.js +24 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/translation_v1.d.ts +80 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/translation_v1.js +37 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/trust_party_v1.d.ts +182 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/trust_party_v1.js +141 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/vc_v1.d.ts +5725 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/vc_v1.js +1751 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/verification_v1.d.ts +21 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/verification_v1.js +14 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/wiki_v1.d.ts +72 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/wiki_v1.js +19 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/wiki_v2.d.ts +843 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/wiki_v2.js +381 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/workplace_v1.d.ts +116 -0
- package/dist/mcp-tool/tools/en/gen-tools/zod/workplace_v1.js +77 -0
- package/dist/mcp-tool/tools/index.d.ts +104 -0
- package/dist/mcp-tool/tools/index.js +9 -0
- package/dist/mcp-tool/tools/zh/builtin-tools/docx/builtin.d.ts +5 -0
- package/dist/mcp-tool/tools/zh/builtin-tools/docx/builtin.js +198 -0
- package/dist/mcp-tool/tools/zh/builtin-tools/drive/builtin.d.ts +4 -0
- package/dist/mcp-tool/tools/zh/builtin-tools/drive/builtin.js +159 -0
- package/dist/mcp-tool/tools/zh/builtin-tools/im/buildin.d.ts +4 -0
- package/dist/mcp-tool/tools/zh/builtin-tools/im/buildin.js +63 -0
- package/dist/mcp-tool/tools/zh/builtin-tools/index.d.ts +5 -0
- package/dist/mcp-tool/tools/zh/builtin-tools/index.js +7 -0
- package/dist/mcp-tool/tools/zh/gen-tools/index.d.ts +114 -0
- package/dist/mcp-tool/tools/zh/gen-tools/index.js +129 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/acs_v1.d.ts +562 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/acs_v1.js +277 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/admin_v1.d.ts +912 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/admin_v1.js +430 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/aily_v1.d.ts +1213 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/aily_v1.js +541 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/apaas_v1.d.ts +2530 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/apaas_v1.js +885 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/application_v5.d.ts +80 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/application_v5.js +59 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/application_v6.d.ts +1007 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/application_v6.js +721 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/approval_v4.d.ts +3928 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/approval_v4.js +1532 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/attendance_v1.d.ts +6043 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/attendance_v1.js +1620 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/auth_v3.d.ts +151 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/auth_v3.js +87 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/authen_v1.d.ts +26 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/authen_v1.js +17 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/baike_v1.d.ts +2174 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/baike_v1.js +574 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/base_v2.d.ts +755 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/base_v2.js +270 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/bitable_v1.d.ts +3541 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/bitable_v1.js +1864 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/board_v1.d.ts +40 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/board_v1.js +18 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/calendar_v4.d.ts +2075 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/calendar_v4.js +1533 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/cardkit_v1.d.ts +528 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/cardkit_v1.js +248 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/compensation_v1.d.ts +189 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/compensation_v1.js +130 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/contact_v3.d.ts +4274 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/contact_v3.js +2394 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/corehr_v1.d.ts +16957 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/corehr_v1.js +4753 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/corehr_v2.d.ts +29869 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/corehr_v2.js +7902 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/directory_v1.d.ts +4324 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/directory_v1.js +1340 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/docs_v1.d.ts +58 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/docs_v1.js +26 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/docx_v1.d.ts +116719 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/docx_v1.js +14949 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/drive_v1.d.ts +3251 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/drive_v1.js +1395 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/drive_v2.d.ts +174 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/drive_v2.js +115 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/ehr_v1.d.ts +86 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/ehr_v1.js +48 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/event_v1.d.ts +44 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/event_v1.js +25 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/helpdesk_v1.d.ts +733 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/helpdesk_v1.js +279 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/hire_v1.d.ts +10085 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/hire_v1.js +5787 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/hire_v2.d.ts +158 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/hire_v2.js +64 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/human_authentication_v1.d.ts +70 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/human_authentication_v1.js +27 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/im_v1.d.ts +3043 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/im_v1.js +1812 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/im_v2.d.ts +2176 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/im_v2.js +454 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/lingo_v1.d.ts +2301 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/lingo_v1.js +650 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/mail_v1.d.ts +2465 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/mail_v1.js +1467 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/mdm_v1.d.ts +104 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/mdm_v1.js +45 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/mdm_v3.d.ts +329 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/mdm_v3.js +76 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/minutes_v1.d.ts +92 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/minutes_v1.js +62 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/moments_v1.d.ts +52 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/moments_v1.js +20 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/okr_v1.d.ts +1664 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/okr_v1.js +455 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/optical_char_recognition_v1.d.ts +38 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/optical_char_recognition_v1.js +17 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/passport_v1.d.ts +131 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/passport_v1.js +53 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/payroll_v1.d.ts +609 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/payroll_v1.js +321 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/performance_v1.d.ts +309 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/performance_v1.js +165 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/performance_v2.d.ts +1177 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/performance_v2.js +525 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/personal_settings_v1.d.ts +640 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/personal_settings_v1.js +295 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/report_v1.d.ts +194 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/report_v1.js +72 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/search_v2.d.ts +1695 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/search_v2.js +556 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/security_and_compliance_v1.d.ts +68 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/security_and_compliance_v1.js +32 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/sheets_v2.d.ts +523 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/sheets_v2.js +231 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/sheets_v3.d.ts +979 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/sheets_v3.js +821 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/speech_to_text_v1.d.ts +225 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/speech_to_text_v1.js +65 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/task_v1.d.ts +1161 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/task_v1.js +647 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/task_v2.d.ts +6077 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/task_v2.js +1894 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/tenant_v2.d.ts +31 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/tenant_v2.js +24 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/translation_v1.d.ts +80 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/translation_v1.js +37 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/trust_party_v1.d.ts +182 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/trust_party_v1.js +137 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/vc_v1.d.ts +5725 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/vc_v1.js +1640 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/verification_v1.d.ts +21 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/verification_v1.js +14 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/wiki_v1.d.ts +72 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/wiki_v1.js +34 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/wiki_v2.d.ts +843 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/wiki_v2.js +376 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/workplace_v1.d.ts +116 -0
- package/dist/mcp-tool/tools/zh/gen-tools/zod/workplace_v1.js +77 -0
- package/dist/mcp-tool/types/index.d.ts +53 -0
- package/dist/mcp-tool/types/index.js +9 -0
- package/dist/mcp-tool/utils/case-transf.d.ts +2 -0
- package/dist/mcp-tool/utils/case-transf.js +15 -0
- package/dist/mcp-tool/utils/filter-tools.d.ts +2 -0
- package/dist/mcp-tool/utils/filter-tools.js +27 -0
- package/dist/mcp-tool/utils/get-should-use-uat.d.ts +2 -0
- package/dist/mcp-tool/utils/get-should-use-uat.js +18 -0
- package/dist/mcp-tool/utils/handler.d.ts +2 -0
- package/dist/mcp-tool/utils/handler.js +119 -0
- package/dist/mcp-tool/utils/index.d.ts +4 -0
- package/dist/mcp-tool/utils/index.js +20 -0
- package/dist/utils/clean-env-args.d.ts +1 -0
- package/dist/utils/clean-env-args.js +12 -0
- package/dist/utils/constants.d.ts +18 -0
- package/dist/utils/constants.js +35 -0
- package/dist/utils/http-instance.d.ts +2 -0
- package/dist/utils/http-instance.js +21 -0
- package/dist/utils/logger.d.ts +22 -0
- package/dist/utils/logger.js +97 -0
- package/dist/utils/noop.d.ts +1 -0
- package/dist/utils/noop.js +6 -0
- package/dist/utils/parser-string-array.d.ts +1 -0
- package/dist/utils/parser-string-array.js +13 -0
- package/dist/utils/safe-json-parse.d.ts +1 -0
- package/dist/utils/safe-json-parse.js +14 -0
- package/dist/utils/version.d.ts +1 -0
- package/dist/utils/version.js +52 -0
- package/docs/recall-mcp/README.md +137 -0
- package/docs/recall-mcp/README_ZH.md +137 -0
- package/docs/reference/cli/cli-zh.md +92 -0
- package/docs/reference/cli/cli.md +92 -0
- package/docs/reference/tool-presets/presets-zh.md +120 -0
- package/docs/reference/tool-presets/presets.md +120 -0
- package/docs/reference/tool-presets/tools-en.md +1527 -0
- package/docs/reference/tool-presets/tools-zh.md +1544 -0
- package/docs/troubleshooting/faq-zh.md +67 -0
- package/docs/troubleshooting/faq.md +67 -0
- package/docs/usage/configuration/configuration-zh.md +344 -0
- package/docs/usage/configuration/configuration.md +344 -0
- package/docs/usage/docker/docker-zh.md +101 -0
- package/docs/usage/docker/docker.md +106 -0
- 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,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,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,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,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 @@
|
|
|
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
|
+
[](https://www.npmjs.com/package/@larksuiteoapi/lark-mcp)
|
|
4
|
+
[](https://www.npmjs.com/package/@larksuiteoapi/lark-mcp)
|
|
5
|
+
[](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
|
+
[](https://cursor.com/install-mcp?name=lark_open_doc_search&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBsYXJrc3VpdGVvYXBpL2xhcmstbWNwIiwicmVjYWxsLWRldmVsb3Blci1kb2N1bWVudHMiXX0=)
|
|
71
|
+
|
|
72
|
+
[](trae-cn://trae.ai-ide/mcp-import?source=lark&type=stdio&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBsYXJrc3VpdGVvYXBpL2xhcmstbWNwIiwicmVjYWxsLWRldmVsb3Blci1kb2N1bWVudHMiXX0=) [](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.
|