@zudello/modelcontextprotocol 1.0.0
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/README.md +667 -0
- package/dist/constants/zudello.d.ts +627 -0
- package/dist/constants/zudello.d.ts.map +1 -0
- package/dist/constants/zudello.js +1467 -0
- package/dist/constants/zudello.js.map +1 -0
- package/dist/context/auth.d.ts +22 -0
- package/dist/context/auth.d.ts.map +1 -0
- package/dist/context/auth.js +62 -0
- package/dist/context/auth.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +126 -0
- package/dist/index.js.map +1 -0
- package/dist/prompts/zudello-system.d.ts +6 -0
- package/dist/prompts/zudello-system.d.ts.map +1 -0
- package/dist/prompts/zudello-system.js +1821 -0
- package/dist/prompts/zudello-system.js.map +1 -0
- package/dist/services/zudello/admin.d.ts +93 -0
- package/dist/services/zudello/admin.d.ts.map +1 -0
- package/dist/services/zudello/admin.js +264 -0
- package/dist/services/zudello/admin.js.map +1 -0
- package/dist/services/zudello/automation.d.ts +92 -0
- package/dist/services/zudello/automation.d.ts.map +1 -0
- package/dist/services/zudello/automation.js +365 -0
- package/dist/services/zudello/automation.js.map +1 -0
- package/dist/services/zudello/connections.d.ts +111 -0
- package/dist/services/zudello/connections.d.ts.map +1 -0
- package/dist/services/zudello/connections.js +289 -0
- package/dist/services/zudello/connections.js.map +1 -0
- package/dist/services/zudello/core.d.ts +26 -0
- package/dist/services/zudello/core.d.ts.map +1 -0
- package/dist/services/zudello/core.js +51 -0
- package/dist/services/zudello/core.js.map +1 -0
- package/dist/services/zudello/document-context.d.ts +5 -0
- package/dist/services/zudello/document-context.d.ts.map +1 -0
- package/dist/services/zudello/document-context.js +33 -0
- package/dist/services/zudello/document-context.js.map +1 -0
- package/dist/services/zudello/documents.d.ts +110 -0
- package/dist/services/zudello/documents.d.ts.map +1 -0
- package/dist/services/zudello/documents.js +865 -0
- package/dist/services/zudello/documents.js.map +1 -0
- package/dist/services/zudello/inboxes.d.ts +13 -0
- package/dist/services/zudello/inboxes.d.ts.map +1 -0
- package/dist/services/zudello/inboxes.js +115 -0
- package/dist/services/zudello/inboxes.js.map +1 -0
- package/dist/services/zudello/index.d.ts +21 -0
- package/dist/services/zudello/index.d.ts.map +1 -0
- package/dist/services/zudello/index.js +55 -0
- package/dist/services/zudello/index.js.map +1 -0
- package/dist/services/zudello/language.d.ts +18 -0
- package/dist/services/zudello/language.d.ts.map +1 -0
- package/dist/services/zudello/language.js +83 -0
- package/dist/services/zudello/language.js.map +1 -0
- package/dist/services/zudello/notifications.d.ts +20 -0
- package/dist/services/zudello/notifications.d.ts.map +1 -0
- package/dist/services/zudello/notifications.js +106 -0
- package/dist/services/zudello/notifications.js.map +1 -0
- package/dist/services/zudello/organization.d.ts +125 -0
- package/dist/services/zudello/organization.d.ts.map +1 -0
- package/dist/services/zudello/organization.js +686 -0
- package/dist/services/zudello/organization.js.map +1 -0
- package/dist/services/zudello/resources.d.ts +83 -0
- package/dist/services/zudello/resources.d.ts.map +1 -0
- package/dist/services/zudello/resources.js +554 -0
- package/dist/services/zudello/resources.js.map +1 -0
- package/dist/services/zudello/sentences.d.ts +79 -0
- package/dist/services/zudello/sentences.d.ts.map +1 -0
- package/dist/services/zudello/sentences.js +357 -0
- package/dist/services/zudello/sentences.js.map +1 -0
- package/dist/services/zudello/types.d.ts +1126 -0
- package/dist/services/zudello/types.d.ts.map +1 -0
- package/dist/services/zudello/types.js +8 -0
- package/dist/services/zudello/types.js.map +1 -0
- package/dist/services/zudello/users.d.ts +66 -0
- package/dist/services/zudello/users.d.ts.map +1 -0
- package/dist/services/zudello/users.js +187 -0
- package/dist/services/zudello/users.js.map +1 -0
- package/dist/tools/admin/datasets/create-dataset.d.ts +44 -0
- package/dist/tools/admin/datasets/create-dataset.d.ts.map +1 -0
- package/dist/tools/admin/datasets/create-dataset.js +58 -0
- package/dist/tools/admin/datasets/create-dataset.js.map +1 -0
- package/dist/tools/admin/datasets/get-dataset.d.ts +27 -0
- package/dist/tools/admin/datasets/get-dataset.d.ts.map +1 -0
- package/dist/tools/admin/datasets/get-dataset.js +39 -0
- package/dist/tools/admin/datasets/get-dataset.js.map +1 -0
- package/dist/tools/admin/datasets/index.d.ts +5 -0
- package/dist/tools/admin/datasets/index.d.ts.map +1 -0
- package/dist/tools/admin/datasets/index.js +5 -0
- package/dist/tools/admin/datasets/index.js.map +1 -0
- package/dist/tools/admin/datasets/list-datasets.d.ts +35 -0
- package/dist/tools/admin/datasets/list-datasets.d.ts.map +1 -0
- package/dist/tools/admin/datasets/list-datasets.js +49 -0
- package/dist/tools/admin/datasets/list-datasets.js.map +1 -0
- package/dist/tools/admin/datasets/update-dataset.d.ts +44 -0
- package/dist/tools/admin/datasets/update-dataset.d.ts.map +1 -0
- package/dist/tools/admin/datasets/update-dataset.js +57 -0
- package/dist/tools/admin/datasets/update-dataset.js.map +1 -0
- package/dist/tools/admin/fields/create-field.d.ts +54 -0
- package/dist/tools/admin/fields/create-field.d.ts.map +1 -0
- package/dist/tools/admin/fields/create-field.js +68 -0
- package/dist/tools/admin/fields/create-field.js.map +1 -0
- package/dist/tools/admin/fields/get-field.d.ts +27 -0
- package/dist/tools/admin/fields/get-field.d.ts.map +1 -0
- package/dist/tools/admin/fields/get-field.js +39 -0
- package/dist/tools/admin/fields/get-field.js.map +1 -0
- package/dist/tools/admin/fields/index.d.ts +5 -0
- package/dist/tools/admin/fields/index.d.ts.map +1 -0
- package/dist/tools/admin/fields/index.js +5 -0
- package/dist/tools/admin/fields/index.js.map +1 -0
- package/dist/tools/admin/fields/list-fields.d.ts +36 -0
- package/dist/tools/admin/fields/list-fields.d.ts.map +1 -0
- package/dist/tools/admin/fields/list-fields.js +50 -0
- package/dist/tools/admin/fields/list-fields.js.map +1 -0
- package/dist/tools/admin/fields/update-field.d.ts +44 -0
- package/dist/tools/admin/fields/update-field.d.ts.map +1 -0
- package/dist/tools/admin/fields/update-field.js +57 -0
- package/dist/tools/admin/fields/update-field.js.map +1 -0
- package/dist/tools/admin/index.d.ts +4 -0
- package/dist/tools/admin/index.d.ts.map +1 -0
- package/dist/tools/admin/index.js +7 -0
- package/dist/tools/admin/index.js.map +1 -0
- package/dist/tools/admin/quick-actions/create-quick-action.d.ts +49 -0
- package/dist/tools/admin/quick-actions/create-quick-action.d.ts.map +1 -0
- package/dist/tools/admin/quick-actions/create-quick-action.js +63 -0
- package/dist/tools/admin/quick-actions/create-quick-action.js.map +1 -0
- package/dist/tools/admin/quick-actions/get-quick-action.d.ts +27 -0
- package/dist/tools/admin/quick-actions/get-quick-action.d.ts.map +1 -0
- package/dist/tools/admin/quick-actions/get-quick-action.js +39 -0
- package/dist/tools/admin/quick-actions/get-quick-action.js.map +1 -0
- package/dist/tools/admin/quick-actions/index.d.ts +6 -0
- package/dist/tools/admin/quick-actions/index.d.ts.map +1 -0
- package/dist/tools/admin/quick-actions/index.js +6 -0
- package/dist/tools/admin/quick-actions/index.js.map +1 -0
- package/dist/tools/admin/quick-actions/list-quick-actions.d.ts +35 -0
- package/dist/tools/admin/quick-actions/list-quick-actions.d.ts.map +1 -0
- package/dist/tools/admin/quick-actions/list-quick-actions.js +49 -0
- package/dist/tools/admin/quick-actions/list-quick-actions.js.map +1 -0
- package/dist/tools/admin/quick-actions/trigger-quick-action.d.ts +41 -0
- package/dist/tools/admin/quick-actions/trigger-quick-action.d.ts.map +1 -0
- package/dist/tools/admin/quick-actions/trigger-quick-action.js +53 -0
- package/dist/tools/admin/quick-actions/trigger-quick-action.js.map +1 -0
- package/dist/tools/admin/quick-actions/update-quick-action.d.ts +49 -0
- package/dist/tools/admin/quick-actions/update-quick-action.d.ts.map +1 -0
- package/dist/tools/admin/quick-actions/update-quick-action.js +62 -0
- package/dist/tools/admin/quick-actions/update-quick-action.js.map +1 -0
- package/dist/tools/approvals/get-approval-flows.d.ts +27 -0
- package/dist/tools/approvals/get-approval-flows.d.ts.map +1 -0
- package/dist/tools/approvals/get-approval-flows.js +35 -0
- package/dist/tools/approvals/get-approval-flows.js.map +1 -0
- package/dist/tools/approvals/index.d.ts +2 -0
- package/dist/tools/approvals/index.d.ts.map +1 -0
- package/dist/tools/approvals/index.js +2 -0
- package/dist/tools/approvals/index.js.map +1 -0
- package/dist/tools/automation/get-automation-logs.d.ts +59 -0
- package/dist/tools/automation/get-automation-logs.d.ts.map +1 -0
- package/dist/tools/automation/get-automation-logs.js +75 -0
- package/dist/tools/automation/get-automation-logs.js.map +1 -0
- package/dist/tools/automation/get-run-logs-content.d.ts +42 -0
- package/dist/tools/automation/get-run-logs-content.d.ts.map +1 -0
- package/dist/tools/automation/get-run-logs-content.js +27 -0
- package/dist/tools/automation/get-run-logs-content.js.map +1 -0
- package/dist/tools/automation/get-run-logs.d.ts +37 -0
- package/dist/tools/automation/get-run-logs.d.ts.map +1 -0
- package/dist/tools/automation/get-run-logs.js +27 -0
- package/dist/tools/automation/get-run-logs.js.map +1 -0
- package/dist/tools/automation/get-script.d.ts +33 -0
- package/dist/tools/automation/get-script.d.ts.map +1 -0
- package/dist/tools/automation/get-script.js +24 -0
- package/dist/tools/automation/get-script.js.map +1 -0
- package/dist/tools/automation/get-trigger.d.ts +27 -0
- package/dist/tools/automation/get-trigger.d.ts.map +1 -0
- package/dist/tools/automation/get-trigger.js +24 -0
- package/dist/tools/automation/get-trigger.js.map +1 -0
- package/dist/tools/automation/index.d.ts +16 -0
- package/dist/tools/automation/index.d.ts.map +1 -0
- package/dist/tools/automation/index.js +16 -0
- package/dist/tools/automation/index.js.map +1 -0
- package/dist/tools/automation/list-global-integrations.d.ts +23 -0
- package/dist/tools/automation/list-global-integrations.d.ts.map +1 -0
- package/dist/tools/automation/list-global-integrations.js +41 -0
- package/dist/tools/automation/list-global-integrations.js.map +1 -0
- package/dist/tools/automation/list-global-scripts-for-integration.d.ts +38 -0
- package/dist/tools/automation/list-global-scripts-for-integration.d.ts.map +1 -0
- package/dist/tools/automation/list-global-scripts-for-integration.js +50 -0
- package/dist/tools/automation/list-global-scripts-for-integration.js.map +1 -0
- package/dist/tools/automation/list-scripts.d.ts +26 -0
- package/dist/tools/automation/list-scripts.d.ts.map +1 -0
- package/dist/tools/automation/list-scripts.js +23 -0
- package/dist/tools/automation/list-scripts.js.map +1 -0
- package/dist/tools/automation/list-triggers.d.ts +23 -0
- package/dist/tools/automation/list-triggers.d.ts.map +1 -0
- package/dist/tools/automation/list-triggers.js +38 -0
- package/dist/tools/automation/list-triggers.js.map +1 -0
- package/dist/tools/automation/search-runs.d.ts +43 -0
- package/dist/tools/automation/search-runs.d.ts.map +1 -0
- package/dist/tools/automation/search-runs.js +32 -0
- package/dist/tools/automation/search-runs.js.map +1 -0
- package/dist/tools/bulk/approve-milestones.d.ts +59 -0
- package/dist/tools/bulk/approve-milestones.d.ts.map +1 -0
- package/dist/tools/bulk/approve-milestones.js +47 -0
- package/dist/tools/bulk/approve-milestones.js.map +1 -0
- package/dist/tools/bulk/index.d.ts +3 -0
- package/dist/tools/bulk/index.d.ts.map +1 -0
- package/dist/tools/bulk/index.js +3 -0
- package/dist/tools/bulk/index.js.map +1 -0
- package/dist/tools/bulk/send-reminders.d.ts +32 -0
- package/dist/tools/bulk/send-reminders.d.ts.map +1 -0
- package/dist/tools/bulk/send-reminders.js +37 -0
- package/dist/tools/bulk/send-reminders.js.map +1 -0
- package/dist/tools/config/create-config.d.ts +43 -0
- package/dist/tools/config/create-config.d.ts.map +1 -0
- package/dist/tools/config/create-config.js +61 -0
- package/dist/tools/config/create-config.js.map +1 -0
- package/dist/tools/config/get-config.d.ts +40 -0
- package/dist/tools/config/get-config.d.ts.map +1 -0
- package/dist/tools/config/get-config.js +52 -0
- package/dist/tools/config/get-config.js.map +1 -0
- package/dist/tools/config/index.d.ts +11 -0
- package/dist/tools/config/index.d.ts.map +1 -0
- package/dist/tools/config/index.js +11 -0
- package/dist/tools/config/index.js.map +1 -0
- package/dist/tools/config/list-configs.d.ts +48 -0
- package/dist/tools/config/list-configs.d.ts.map +1 -0
- package/dist/tools/config/list-configs.js +74 -0
- package/dist/tools/config/list-configs.js.map +1 -0
- package/dist/tools/config/update-config.d.ts +48 -0
- package/dist/tools/config/update-config.d.ts.map +1 -0
- package/dist/tools/config/update-config.js +64 -0
- package/dist/tools/config/update-config.js.map +1 -0
- package/dist/tools/config/update-configs-order.d.ts +39 -0
- package/dist/tools/config/update-configs-order.d.ts.map +1 -0
- package/dist/tools/config/update-configs-order.js +58 -0
- package/dist/tools/config/update-configs-order.js.map +1 -0
- package/dist/tools/connections/check-connection-status.d.ts +60 -0
- package/dist/tools/connections/check-connection-status.d.ts.map +1 -0
- package/dist/tools/connections/check-connection-status.js +94 -0
- package/dist/tools/connections/check-connection-status.js.map +1 -0
- package/dist/tools/connections/get-connection-template.d.ts +44 -0
- package/dist/tools/connections/get-connection-template.d.ts.map +1 -0
- package/dist/tools/connections/get-connection-template.js +55 -0
- package/dist/tools/connections/get-connection-template.js.map +1 -0
- package/dist/tools/connections/index.d.ts +11 -0
- package/dist/tools/connections/index.d.ts.map +1 -0
- package/dist/tools/connections/index.js +11 -0
- package/dist/tools/connections/index.js.map +1 -0
- package/dist/tools/connections/list-available-integrations.d.ts +29 -0
- package/dist/tools/connections/list-available-integrations.d.ts.map +1 -0
- package/dist/tools/connections/list-available-integrations.js +46 -0
- package/dist/tools/connections/list-available-integrations.js.map +1 -0
- package/dist/tools/connections/list-connections.d.ts +29 -0
- package/dist/tools/connections/list-connections.d.ts.map +1 -0
- package/dist/tools/connections/list-connections.js +48 -0
- package/dist/tools/connections/list-connections.js.map +1 -0
- package/dist/tools/connections/reconnect.d.ts +40 -0
- package/dist/tools/connections/reconnect.d.ts.map +1 -0
- package/dist/tools/connections/reconnect.js +67 -0
- package/dist/tools/connections/reconnect.js.map +1 -0
- package/dist/tools/control/index.d.ts +7 -0
- package/dist/tools/control/index.d.ts.map +1 -0
- package/dist/tools/control/index.js +7 -0
- package/dist/tools/control/index.js.map +1 -0
- package/dist/tools/control/initiate-sync.d.ts +38 -0
- package/dist/tools/control/initiate-sync.d.ts.map +1 -0
- package/dist/tools/control/initiate-sync.js +47 -0
- package/dist/tools/control/initiate-sync.js.map +1 -0
- package/dist/tools/control/set-trigger-enabled.d.ts +36 -0
- package/dist/tools/control/set-trigger-enabled.d.ts.map +1 -0
- package/dist/tools/control/set-trigger-enabled.js +46 -0
- package/dist/tools/control/set-trigger-enabled.js.map +1 -0
- package/dist/tools/core/fetch.d.ts +8 -0
- package/dist/tools/core/fetch.d.ts.map +1 -0
- package/dist/tools/core/fetch.js +48 -0
- package/dist/tools/core/fetch.js.map +1 -0
- package/dist/tools/core/index.d.ts +4 -0
- package/dist/tools/core/index.d.ts.map +1 -0
- package/dist/tools/core/index.js +4 -0
- package/dist/tools/core/index.js.map +1 -0
- package/dist/tools/core/push-message.d.ts +85 -0
- package/dist/tools/core/push-message.d.ts.map +1 -0
- package/dist/tools/core/push-message.js +116 -0
- package/dist/tools/core/push-message.js.map +1 -0
- package/dist/tools/core/search.d.ts +8 -0
- package/dist/tools/core/search.d.ts.map +1 -0
- package/dist/tools/core/search.js +38 -0
- package/dist/tools/core/search.js.map +1 -0
- package/dist/tools/document-context/check-contract-pricing.d.ts +30 -0
- package/dist/tools/document-context/check-contract-pricing.d.ts.map +1 -0
- package/dist/tools/document-context/check-contract-pricing.js +18 -0
- package/dist/tools/document-context/check-contract-pricing.js.map +1 -0
- package/dist/tools/document-context/check-document-budgets.d.ts +36 -0
- package/dist/tools/document-context/check-document-budgets.d.ts.map +1 -0
- package/dist/tools/document-context/check-document-budgets.js +18 -0
- package/dist/tools/document-context/check-document-budgets.js.map +1 -0
- package/dist/tools/document-context/index.d.ts +3 -0
- package/dist/tools/document-context/index.d.ts.map +1 -0
- package/dist/tools/document-context/index.js +3 -0
- package/dist/tools/document-context/index.js.map +1 -0
- package/dist/tools/documents/document-types/create-document-type.d.ts +19 -0
- package/dist/tools/documents/document-types/create-document-type.d.ts.map +1 -0
- package/dist/tools/documents/document-types/create-document-type.js +18 -0
- package/dist/tools/documents/document-types/create-document-type.js.map +1 -0
- package/dist/tools/documents/document-types/get-document-type.d.ts +24 -0
- package/dist/tools/documents/document-types/get-document-type.d.ts.map +1 -0
- package/dist/tools/documents/document-types/get-document-type.js +18 -0
- package/dist/tools/documents/document-types/get-document-type.js.map +1 -0
- package/dist/tools/documents/document-types/get-merged-form-metadata.d.ts +24 -0
- package/dist/tools/documents/document-types/get-merged-form-metadata.d.ts.map +1 -0
- package/dist/tools/documents/document-types/get-merged-form-metadata.js +18 -0
- package/dist/tools/documents/document-types/get-merged-form-metadata.js.map +1 -0
- package/dist/tools/documents/document-types/index.d.ts +6 -0
- package/dist/tools/documents/document-types/index.d.ts.map +1 -0
- package/dist/tools/documents/document-types/index.js +6 -0
- package/dist/tools/documents/document-types/index.js.map +1 -0
- package/dist/tools/documents/document-types/list-document-types.d.ts +21 -0
- package/dist/tools/documents/document-types/list-document-types.d.ts.map +1 -0
- package/dist/tools/documents/document-types/list-document-types.js +18 -0
- package/dist/tools/documents/document-types/list-document-types.js.map +1 -0
- package/dist/tools/documents/document-types/update-document-type.d.ts +24 -0
- package/dist/tools/documents/document-types/update-document-type.d.ts.map +1 -0
- package/dist/tools/documents/document-types/update-document-type.js +18 -0
- package/dist/tools/documents/document-types/update-document-type.js.map +1 -0
- package/dist/tools/documents/export-templates/create-export-template.d.ts +19 -0
- package/dist/tools/documents/export-templates/create-export-template.d.ts.map +1 -0
- package/dist/tools/documents/export-templates/create-export-template.js +18 -0
- package/dist/tools/documents/export-templates/create-export-template.js.map +1 -0
- package/dist/tools/documents/export-templates/get-export-download-url.d.ts +26 -0
- package/dist/tools/documents/export-templates/get-export-download-url.d.ts.map +1 -0
- package/dist/tools/documents/export-templates/get-export-download-url.js +18 -0
- package/dist/tools/documents/export-templates/get-export-download-url.js.map +1 -0
- package/dist/tools/documents/export-templates/get-export-template.d.ts +27 -0
- package/dist/tools/documents/export-templates/get-export-template.d.ts.map +1 -0
- package/dist/tools/documents/export-templates/get-export-template.js +33 -0
- package/dist/tools/documents/export-templates/get-export-template.js.map +1 -0
- package/dist/tools/documents/export-templates/index.d.ts +8 -0
- package/dist/tools/documents/export-templates/index.d.ts.map +1 -0
- package/dist/tools/documents/export-templates/index.js +8 -0
- package/dist/tools/documents/export-templates/index.js.map +1 -0
- package/dist/tools/documents/export-templates/list-export-templates.d.ts +21 -0
- package/dist/tools/documents/export-templates/list-export-templates.d.ts.map +1 -0
- package/dist/tools/documents/export-templates/list-export-templates.js +31 -0
- package/dist/tools/documents/export-templates/list-export-templates.js.map +1 -0
- package/dist/tools/documents/export-templates/list-exports.d.ts +21 -0
- package/dist/tools/documents/export-templates/list-exports.d.ts.map +1 -0
- package/dist/tools/documents/export-templates/list-exports.js +18 -0
- package/dist/tools/documents/export-templates/list-exports.js.map +1 -0
- package/dist/tools/documents/export-templates/run-export.d.ts +26 -0
- package/dist/tools/documents/export-templates/run-export.d.ts.map +1 -0
- package/dist/tools/documents/export-templates/run-export.js +18 -0
- package/dist/tools/documents/export-templates/run-export.js.map +1 -0
- package/dist/tools/documents/export-templates/update-export-template.d.ts +24 -0
- package/dist/tools/documents/export-templates/update-export-template.d.ts.map +1 -0
- package/dist/tools/documents/export-templates/update-export-template.js +18 -0
- package/dist/tools/documents/export-templates/update-export-template.js.map +1 -0
- package/dist/tools/documents/index.d.ts +3 -0
- package/dist/tools/documents/index.d.ts.map +1 -0
- package/dist/tools/documents/index.js +3 -0
- package/dist/tools/documents/index.js.map +1 -0
- package/dist/tools/exceptions/budget/create-budget-exception-reason.d.ts +42 -0
- package/dist/tools/exceptions/budget/create-budget-exception-reason.d.ts.map +1 -0
- package/dist/tools/exceptions/budget/create-budget-exception-reason.js +82 -0
- package/dist/tools/exceptions/budget/create-budget-exception-reason.js.map +1 -0
- package/dist/tools/exceptions/budget/index.d.ts +4 -0
- package/dist/tools/exceptions/budget/index.d.ts.map +1 -0
- package/dist/tools/exceptions/budget/index.js +4 -0
- package/dist/tools/exceptions/budget/index.js.map +1 -0
- package/dist/tools/exceptions/budget/list-budget-exception-reasons.d.ts +29 -0
- package/dist/tools/exceptions/budget/list-budget-exception-reasons.d.ts.map +1 -0
- package/dist/tools/exceptions/budget/list-budget-exception-reasons.js +60 -0
- package/dist/tools/exceptions/budget/list-budget-exception-reasons.js.map +1 -0
- package/dist/tools/exceptions/budget/update-budget-exception-reason.d.ts +47 -0
- package/dist/tools/exceptions/budget/update-budget-exception-reason.d.ts.map +1 -0
- package/dist/tools/exceptions/budget/update-budget-exception-reason.js +77 -0
- package/dist/tools/exceptions/budget/update-budget-exception-reason.js.map +1 -0
- package/dist/tools/exceptions/contract/create-contract-exception-reason.d.ts +42 -0
- package/dist/tools/exceptions/contract/create-contract-exception-reason.d.ts.map +1 -0
- package/dist/tools/exceptions/contract/create-contract-exception-reason.js +82 -0
- package/dist/tools/exceptions/contract/create-contract-exception-reason.js.map +1 -0
- package/dist/tools/exceptions/contract/index.d.ts +4 -0
- package/dist/tools/exceptions/contract/index.d.ts.map +1 -0
- package/dist/tools/exceptions/contract/index.js +4 -0
- package/dist/tools/exceptions/contract/index.js.map +1 -0
- package/dist/tools/exceptions/contract/list-contract-exception-reasons.d.ts +29 -0
- package/dist/tools/exceptions/contract/list-contract-exception-reasons.d.ts.map +1 -0
- package/dist/tools/exceptions/contract/list-contract-exception-reasons.js +60 -0
- package/dist/tools/exceptions/contract/list-contract-exception-reasons.js.map +1 -0
- package/dist/tools/exceptions/contract/update-contract-exception-reason.d.ts +47 -0
- package/dist/tools/exceptions/contract/update-contract-exception-reason.d.ts.map +1 -0
- package/dist/tools/exceptions/contract/update-contract-exception-reason.js +77 -0
- package/dist/tools/exceptions/contract/update-contract-exception-reason.js.map +1 -0
- package/dist/tools/exceptions/index.d.ts +3 -0
- package/dist/tools/exceptions/index.d.ts.map +1 -0
- package/dist/tools/exceptions/index.js +3 -0
- package/dist/tools/exceptions/index.js.map +1 -0
- package/dist/tools/history/get-history.d.ts +34 -0
- package/dist/tools/history/get-history.d.ts.map +1 -0
- package/dist/tools/history/get-history.js +29 -0
- package/dist/tools/history/get-history.js.map +1 -0
- package/dist/tools/history/index.d.ts +7 -0
- package/dist/tools/history/index.d.ts.map +1 -0
- package/dist/tools/history/index.js +7 -0
- package/dist/tools/history/index.js.map +1 -0
- package/dist/tools/inboxes/create-inbox-template.d.ts +23 -0
- package/dist/tools/inboxes/create-inbox-template.d.ts.map +1 -0
- package/dist/tools/inboxes/create-inbox-template.js +26 -0
- package/dist/tools/inboxes/create-inbox-template.js.map +1 -0
- package/dist/tools/inboxes/create-inbox.d.ts +26 -0
- package/dist/tools/inboxes/create-inbox.d.ts.map +1 -0
- package/dist/tools/inboxes/create-inbox.js +26 -0
- package/dist/tools/inboxes/create-inbox.js.map +1 -0
- package/dist/tools/inboxes/fetch-inbox.d.ts +24 -0
- package/dist/tools/inboxes/fetch-inbox.d.ts.map +1 -0
- package/dist/tools/inboxes/fetch-inbox.js +26 -0
- package/dist/tools/inboxes/fetch-inbox.js.map +1 -0
- package/dist/tools/inboxes/get-inbound-domain.d.ts +21 -0
- package/dist/tools/inboxes/get-inbound-domain.d.ts.map +1 -0
- package/dist/tools/inboxes/get-inbound-domain.js +26 -0
- package/dist/tools/inboxes/get-inbound-domain.js.map +1 -0
- package/dist/tools/inboxes/index.d.ts +9 -0
- package/dist/tools/inboxes/index.d.ts.map +1 -0
- package/dist/tools/inboxes/index.js +9 -0
- package/dist/tools/inboxes/index.js.map +1 -0
- package/dist/tools/inboxes/list-inbox-templates.d.ts +21 -0
- package/dist/tools/inboxes/list-inbox-templates.d.ts.map +1 -0
- package/dist/tools/inboxes/list-inbox-templates.js +26 -0
- package/dist/tools/inboxes/list-inbox-templates.js.map +1 -0
- package/dist/tools/inboxes/list-inboxes.d.ts +21 -0
- package/dist/tools/inboxes/list-inboxes.d.ts.map +1 -0
- package/dist/tools/inboxes/list-inboxes.js +26 -0
- package/dist/tools/inboxes/list-inboxes.js.map +1 -0
- package/dist/tools/inboxes/update-inbox-template.d.ts +23 -0
- package/dist/tools/inboxes/update-inbox-template.d.ts.map +1 -0
- package/dist/tools/inboxes/update-inbox-template.js +26 -0
- package/dist/tools/inboxes/update-inbox-template.js.map +1 -0
- package/dist/tools/inboxes/update-inbox.d.ts +23 -0
- package/dist/tools/inboxes/update-inbox.d.ts.map +1 -0
- package/dist/tools/inboxes/update-inbox.js +26 -0
- package/dist/tools/inboxes/update-inbox.js.map +1 -0
- package/dist/tools/index.d.ts +18 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +171 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/language/get-language-placeholders.d.ts +27 -0
- package/dist/tools/language/get-language-placeholders.d.ts.map +1 -0
- package/dist/tools/language/get-language-placeholders.js +40 -0
- package/dist/tools/language/get-language-placeholders.js.map +1 -0
- package/dist/tools/language/index.d.ts +3 -0
- package/dist/tools/language/index.d.ts.map +1 -0
- package/dist/tools/language/index.js +3 -0
- package/dist/tools/language/index.js.map +1 -0
- package/dist/tools/language/update-language-placeholders.d.ts +39 -0
- package/dist/tools/language/update-language-placeholders.d.ts.map +1 -0
- package/dist/tools/language/update-language-placeholders.js +56 -0
- package/dist/tools/language/update-language-placeholders.js.map +1 -0
- package/dist/tools/models/get-field-metadata.d.ts +49 -0
- package/dist/tools/models/get-field-metadata.d.ts.map +1 -0
- package/dist/tools/models/get-field-metadata.js +77 -0
- package/dist/tools/models/get-field-metadata.js.map +1 -0
- package/dist/tools/models/get-model-metadata.d.ts +32 -0
- package/dist/tools/models/get-model-metadata.d.ts.map +1 -0
- package/dist/tools/models/get-model-metadata.js +46 -0
- package/dist/tools/models/get-model-metadata.js.map +1 -0
- package/dist/tools/models/get-model-relations.d.ts +32 -0
- package/dist/tools/models/get-model-relations.d.ts.map +1 -0
- package/dist/tools/models/get-model-relations.js +47 -0
- package/dist/tools/models/get-model-relations.js.map +1 -0
- package/dist/tools/models/get-model-schema.d.ts +32 -0
- package/dist/tools/models/get-model-schema.d.ts.map +1 -0
- package/dist/tools/models/get-model-schema.js +46 -0
- package/dist/tools/models/get-model-schema.js.map +1 -0
- package/dist/tools/models/index.d.ts +11 -0
- package/dist/tools/models/index.d.ts.map +1 -0
- package/dist/tools/models/index.js +11 -0
- package/dist/tools/models/index.js.map +1 -0
- package/dist/tools/models/list-models.d.ts +24 -0
- package/dist/tools/models/list-models.d.ts.map +1 -0
- package/dist/tools/models/list-models.js +45 -0
- package/dist/tools/models/list-models.js.map +1 -0
- package/dist/tools/notifications/get-notification-preferences.d.ts +41 -0
- package/dist/tools/notifications/get-notification-preferences.d.ts.map +1 -0
- package/dist/tools/notifications/get-notification-preferences.js +72 -0
- package/dist/tools/notifications/get-notification-preferences.js.map +1 -0
- package/dist/tools/notifications/index.d.ts +4 -0
- package/dist/tools/notifications/index.d.ts.map +1 -0
- package/dist/tools/notifications/index.js +4 -0
- package/dist/tools/notifications/index.js.map +1 -0
- package/dist/tools/notifications/list-notification-types.d.ts +23 -0
- package/dist/tools/notifications/list-notification-types.d.ts.map +1 -0
- package/dist/tools/notifications/list-notification-types.js +56 -0
- package/dist/tools/notifications/list-notification-types.js.map +1 -0
- package/dist/tools/notifications/update-notification-preferences.d.ts +65 -0
- package/dist/tools/notifications/update-notification-preferences.d.ts.map +1 -0
- package/dist/tools/notifications/update-notification-preferences.js +84 -0
- package/dist/tools/notifications/update-notification-preferences.js.map +1 -0
- package/dist/tools/org-admin/index.d.ts +3 -0
- package/dist/tools/org-admin/index.d.ts.map +1 -0
- package/dist/tools/org-admin/index.js +3 -0
- package/dist/tools/org-admin/index.js.map +1 -0
- package/dist/tools/org-admin/teams/fetch-org-team.d.ts +24 -0
- package/dist/tools/org-admin/teams/fetch-org-team.d.ts.map +1 -0
- package/dist/tools/org-admin/teams/fetch-org-team.js +18 -0
- package/dist/tools/org-admin/teams/fetch-org-team.js.map +1 -0
- package/dist/tools/org-admin/teams/index.d.ts +4 -0
- package/dist/tools/org-admin/teams/index.d.ts.map +1 -0
- package/dist/tools/org-admin/teams/index.js +4 -0
- package/dist/tools/org-admin/teams/index.js.map +1 -0
- package/dist/tools/org-admin/teams/list-org-teams.d.ts +21 -0
- package/dist/tools/org-admin/teams/list-org-teams.d.ts.map +1 -0
- package/dist/tools/org-admin/teams/list-org-teams.js +18 -0
- package/dist/tools/org-admin/teams/list-org-teams.js.map +1 -0
- package/dist/tools/org-admin/teams/update-org-team.d.ts +24 -0
- package/dist/tools/org-admin/teams/update-org-team.d.ts.map +1 -0
- package/dist/tools/org-admin/teams/update-org-team.js +18 -0
- package/dist/tools/org-admin/teams/update-org-team.js.map +1 -0
- package/dist/tools/org-admin/users/assign-user-to-team.d.ts +27 -0
- package/dist/tools/org-admin/users/assign-user-to-team.d.ts.map +1 -0
- package/dist/tools/org-admin/users/assign-user-to-team.js +22 -0
- package/dist/tools/org-admin/users/assign-user-to-team.js.map +1 -0
- package/dist/tools/org-admin/users/create-org-user.d.ts +19 -0
- package/dist/tools/org-admin/users/create-org-user.d.ts.map +1 -0
- package/dist/tools/org-admin/users/create-org-user.js +18 -0
- package/dist/tools/org-admin/users/create-org-user.js.map +1 -0
- package/dist/tools/org-admin/users/fetch-org-user.d.ts +24 -0
- package/dist/tools/org-admin/users/fetch-org-user.d.ts.map +1 -0
- package/dist/tools/org-admin/users/fetch-org-user.js +18 -0
- package/dist/tools/org-admin/users/fetch-org-user.js.map +1 -0
- package/dist/tools/org-admin/users/index.d.ts +7 -0
- package/dist/tools/org-admin/users/index.d.ts.map +1 -0
- package/dist/tools/org-admin/users/index.js +7 -0
- package/dist/tools/org-admin/users/index.js.map +1 -0
- package/dist/tools/org-admin/users/list-org-user-groups.d.ts +21 -0
- package/dist/tools/org-admin/users/list-org-user-groups.d.ts.map +1 -0
- package/dist/tools/org-admin/users/list-org-user-groups.js +18 -0
- package/dist/tools/org-admin/users/list-org-user-groups.js.map +1 -0
- package/dist/tools/org-admin/users/list-org-users.d.ts +21 -0
- package/dist/tools/org-admin/users/list-org-users.d.ts.map +1 -0
- package/dist/tools/org-admin/users/list-org-users.js +18 -0
- package/dist/tools/org-admin/users/list-org-users.js.map +1 -0
- package/dist/tools/org-admin/users/update-org-user.d.ts +24 -0
- package/dist/tools/org-admin/users/update-org-user.d.ts.map +1 -0
- package/dist/tools/org-admin/users/update-org-user.js +18 -0
- package/dist/tools/org-admin/users/update-org-user.js.map +1 -0
- package/dist/tools/resources/get-resources.d.ts +46 -0
- package/dist/tools/resources/get-resources.d.ts.map +1 -0
- package/dist/tools/resources/get-resources.js +56 -0
- package/dist/tools/resources/get-resources.js.map +1 -0
- package/dist/tools/resources/index.d.ts +8 -0
- package/dist/tools/resources/index.d.ts.map +1 -0
- package/dist/tools/resources/index.js +8 -0
- package/dist/tools/resources/index.js.map +1 -0
- package/dist/tools/resources/update-or-create-resources.d.ts +48 -0
- package/dist/tools/resources/update-or-create-resources.d.ts.map +1 -0
- package/dist/tools/resources/update-or-create-resources.js +64 -0
- package/dist/tools/resources/update-or-create-resources.js.map +1 -0
- package/dist/tools/sentences/create-sentence.d.ts +39 -0
- package/dist/tools/sentences/create-sentence.d.ts.map +1 -0
- package/dist/tools/sentences/create-sentence.js +33 -0
- package/dist/tools/sentences/create-sentence.js.map +1 -0
- package/dist/tools/sentences/get-sentence-template.d.ts +32 -0
- package/dist/tools/sentences/get-sentence-template.d.ts.map +1 -0
- package/dist/tools/sentences/get-sentence-template.js +27 -0
- package/dist/tools/sentences/get-sentence-template.js.map +1 -0
- package/dist/tools/sentences/get-sentence.d.ts +32 -0
- package/dist/tools/sentences/get-sentence.d.ts.map +1 -0
- package/dist/tools/sentences/get-sentence.js +27 -0
- package/dist/tools/sentences/get-sentence.js.map +1 -0
- package/dist/tools/sentences/index.d.ts +14 -0
- package/dist/tools/sentences/index.d.ts.map +1 -0
- package/dist/tools/sentences/index.js +14 -0
- package/dist/tools/sentences/index.js.map +1 -0
- package/dist/tools/sentences/list-sentence-resources.d.ts +46 -0
- package/dist/tools/sentences/list-sentence-resources.d.ts.map +1 -0
- package/dist/tools/sentences/list-sentence-resources.js +31 -0
- package/dist/tools/sentences/list-sentence-resources.js.map +1 -0
- package/dist/tools/sentences/list-sentence-templates.d.ts +34 -0
- package/dist/tools/sentences/list-sentence-templates.d.ts.map +1 -0
- package/dist/tools/sentences/list-sentence-templates.js +27 -0
- package/dist/tools/sentences/list-sentence-templates.js.map +1 -0
- package/dist/tools/sentences/list-sentences.d.ts +43 -0
- package/dist/tools/sentences/list-sentences.d.ts.map +1 -0
- package/dist/tools/sentences/list-sentences.js +35 -0
- package/dist/tools/sentences/list-sentences.js.map +1 -0
- package/dist/tools/sentences/update-sentence.d.ts +34 -0
- package/dist/tools/sentences/update-sentence.d.ts.map +1 -0
- package/dist/tools/sentences/update-sentence.js +31 -0
- package/dist/tools/sentences/update-sentence.js.map +1 -0
- package/dist/tools/sentences/update-sentences-order.d.ts +33 -0
- package/dist/tools/sentences/update-sentences-order.d.ts.map +1 -0
- package/dist/tools/sentences/update-sentences-order.js +33 -0
- package/dist/tools/sentences/update-sentences-order.js.map +1 -0
- package/dist/tools/statuses/create-status.d.ts +75 -0
- package/dist/tools/statuses/create-status.d.ts.map +1 -0
- package/dist/tools/statuses/create-status.js +115 -0
- package/dist/tools/statuses/create-status.js.map +1 -0
- package/dist/tools/statuses/get-status.d.ts +27 -0
- package/dist/tools/statuses/get-status.d.ts.map +1 -0
- package/dist/tools/statuses/get-status.js +37 -0
- package/dist/tools/statuses/get-status.js.map +1 -0
- package/dist/tools/statuses/index.d.ts +6 -0
- package/dist/tools/statuses/index.d.ts.map +1 -0
- package/dist/tools/statuses/index.js +6 -0
- package/dist/tools/statuses/index.js.map +1 -0
- package/dist/tools/statuses/list-statuses.d.ts +41 -0
- package/dist/tools/statuses/list-statuses.d.ts.map +1 -0
- package/dist/tools/statuses/list-statuses.js +58 -0
- package/dist/tools/statuses/list-statuses.js.map +1 -0
- package/dist/tools/statuses/reorder-statuses.d.ts +44 -0
- package/dist/tools/statuses/reorder-statuses.d.ts.map +1 -0
- package/dist/tools/statuses/reorder-statuses.js +55 -0
- package/dist/tools/statuses/reorder-statuses.js.map +1 -0
- package/dist/tools/statuses/update-status.d.ts +80 -0
- package/dist/tools/statuses/update-status.d.ts.map +1 -0
- package/dist/tools/statuses/update-status.js +79 -0
- package/dist/tools/statuses/update-status.js.map +1 -0
- package/dist/tools/users/get-user-groups.d.ts +38 -0
- package/dist/tools/users/get-user-groups.d.ts.map +1 -0
- package/dist/tools/users/get-user-groups.js +33 -0
- package/dist/tools/users/get-user-groups.js.map +1 -0
- package/dist/tools/users/get-users.d.ts +66 -0
- package/dist/tools/users/get-users.d.ts.map +1 -0
- package/dist/tools/users/get-users.js +46 -0
- package/dist/tools/users/get-users.js.map +1 -0
- package/dist/tools/users/index.d.ts +3 -0
- package/dist/tools/users/index.d.ts.map +1 -0
- package/dist/tools/users/index.js +3 -0
- package/dist/tools/users/index.js.map +1 -0
- package/dist/types/index.d.ts +49 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +5 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/logger.d.ts +10 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +46 -0
- package/dist/utils/logger.js.map +1 -0
- package/package.json +64 -0
package/README.md
ADDED
|
@@ -0,0 +1,667 @@
|
|
|
1
|
+
# Zudello MCP Server
|
|
2
|
+
|
|
3
|
+
Model Context Protocol (MCP) server exposing **106 Zudello ERP automation tools** for use with Claude Desktop and other MCP-compatible clients.
|
|
4
|
+
|
|
5
|
+
## ✅ Implementation Status
|
|
6
|
+
|
|
7
|
+
**Complete**: All 106 tools successfully migrated from inapp-chat to MCP format.
|
|
8
|
+
|
|
9
|
+
## Features
|
|
10
|
+
|
|
11
|
+
- **106 Zudello Tools**: Complete access to Zudello ERP operations
|
|
12
|
+
- 65 read-only tools for data access and discovery
|
|
13
|
+
- 41 write tools with approval metadata
|
|
14
|
+
- **Multi-tenant Support**: Environment-based auth for stdio mode
|
|
15
|
+
- **Approval Workflow**: Write operations return approval metadata with risk levels
|
|
16
|
+
- **Type-Safe**: Full TypeScript implementation with strict types
|
|
17
|
+
- **ESM Modules**: Modern ES module architecture
|
|
18
|
+
|
|
19
|
+
## Installation
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npm install
|
|
23
|
+
npm run build
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Configuration
|
|
27
|
+
|
|
28
|
+
### Environment Variables
|
|
29
|
+
|
|
30
|
+
Create a `.env` file with your Zudello credentials:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
ZUDELLO_TOKEN=your_jwt_token_here
|
|
34
|
+
ZUDELLO_ORGANIZATION=your_org_uuid_here
|
|
35
|
+
ZUDELLO_TEAM=your_team_uuid_here
|
|
36
|
+
ZUDELLO_CLUSTER_URL=api.1.eur1.zudello.io # Optional, defaults shown
|
|
37
|
+
AUTHENTICATION_API_BASE=api.1.global.zudello.io # Optional, for org-level API (defaults shown)
|
|
38
|
+
LOG_LEVEL=info # Optional: debug, info, warn, error
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Claude Desktop Setup
|
|
42
|
+
|
|
43
|
+
**IMPORTANT**: Always use absolute paths (not `~` or relative paths) in your configuration.
|
|
44
|
+
|
|
45
|
+
#### macOS Configuration
|
|
46
|
+
|
|
47
|
+
Config file location: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
48
|
+
|
|
49
|
+
```json
|
|
50
|
+
{
|
|
51
|
+
"mcpServers": {
|
|
52
|
+
"zudello": {
|
|
53
|
+
"command": "node",
|
|
54
|
+
"args": ["/absolute/path/to/research_mcp/dist/index.js"],
|
|
55
|
+
"env": {
|
|
56
|
+
"ZUDELLO_TOKEN": "your_jwt_token",
|
|
57
|
+
"ZUDELLO_ORGANIZATION": "your_org_uuid",
|
|
58
|
+
"ZUDELLO_TEAM": "your_team_uuid",
|
|
59
|
+
"ZUDELLO_CLUSTER_URL": "api.1.eur1.zudello.io",
|
|
60
|
+
"AUTHENTICATION_API_BASE": "api.1.global.zudello.io"
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**Example with actual path**:
|
|
68
|
+
```json
|
|
69
|
+
{
|
|
70
|
+
"mcpServers": {
|
|
71
|
+
"zudello": {
|
|
72
|
+
"command": "node",
|
|
73
|
+
"args": ["/Users/yourname/projects/research_mcp/dist/index.js"],
|
|
74
|
+
"env": {
|
|
75
|
+
"ZUDELLO_TOKEN": "eyJ...",
|
|
76
|
+
"ZUDELLO_ORGANIZATION": "d49d2841-5cc4-4ffc-9be2-d07900eb1ffb",
|
|
77
|
+
"ZUDELLO_TEAM": "19078156-f3cf-41eb-a9b4-984f84c24b35",
|
|
78
|
+
"ZUDELLO_CLUSTER_URL": "api.au.3.zudello.io"
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
#### Linux Configuration
|
|
86
|
+
|
|
87
|
+
Config file location: `~/.config/claude/claude_desktop_config.json`
|
|
88
|
+
|
|
89
|
+
Use the same JSON structure as macOS above.
|
|
90
|
+
|
|
91
|
+
#### Windows Configuration
|
|
92
|
+
|
|
93
|
+
Config file location: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
94
|
+
|
|
95
|
+
```json
|
|
96
|
+
{
|
|
97
|
+
"mcpServers": {
|
|
98
|
+
"zudello": {
|
|
99
|
+
"command": "node",
|
|
100
|
+
"args": ["C:\\path\\to\\research_mcp\\dist\\index.js"],
|
|
101
|
+
"env": {
|
|
102
|
+
"ZUDELLO_TOKEN": "your_jwt_token",
|
|
103
|
+
"ZUDELLO_ORGANIZATION": "your_org_uuid",
|
|
104
|
+
"ZUDELLO_TEAM": "your_team_uuid",
|
|
105
|
+
"ZUDELLO_CLUSTER_URL": "api.1.eur1.zudello.io"
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Claude Code (CLI) Setup
|
|
113
|
+
|
|
114
|
+
**IMPORTANT**: Always use absolute paths (not `~` or relative paths) in your configuration.
|
|
115
|
+
|
|
116
|
+
#### macOS/Linux Configuration
|
|
117
|
+
|
|
118
|
+
Config file location: `~/.config/claude-code/mcp_servers.json`
|
|
119
|
+
|
|
120
|
+
```json
|
|
121
|
+
{
|
|
122
|
+
"mcpServers": {
|
|
123
|
+
"zudello": {
|
|
124
|
+
"command": "node",
|
|
125
|
+
"args": ["/absolute/path/to/research_mcp/dist/index.js"],
|
|
126
|
+
"env": {
|
|
127
|
+
"ZUDELLO_TOKEN": "your_jwt_token",
|
|
128
|
+
"ZUDELLO_ORGANIZATION": "your_org_uuid",
|
|
129
|
+
"ZUDELLO_TEAM": "your_team_uuid",
|
|
130
|
+
"ZUDELLO_CLUSTER_URL": "api.1.eur1.zudello.io",
|
|
131
|
+
"AUTHENTICATION_API_BASE": "api.1.global.zudello.io"
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
#### Windows Configuration
|
|
139
|
+
|
|
140
|
+
Config file location: `%APPDATA%\claude-code\mcp_servers.json`
|
|
141
|
+
|
|
142
|
+
Use the same JSON structure as above.
|
|
143
|
+
|
|
144
|
+
### Getting Your Credentials
|
|
145
|
+
|
|
146
|
+
1. **ZUDELLO_TOKEN**: JWT authentication token (starts with "eyJ")
|
|
147
|
+
- Obtain from your Zudello account settings or API section
|
|
148
|
+
|
|
149
|
+
2. **ZUDELLO_ORGANIZATION**: Your organization UUID
|
|
150
|
+
- Format: `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`
|
|
151
|
+
|
|
152
|
+
3. **ZUDELLO_TEAM**: Your team UUID
|
|
153
|
+
- Format: `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`
|
|
154
|
+
|
|
155
|
+
4. **ZUDELLO_CLUSTER_URL**: Your region-specific API cluster
|
|
156
|
+
- Examples: `api.1.eur1.zudello.io` (Europe), `api.au.3.zudello.io` (Australia), `api.us.1.zudello.io` (US)
|
|
157
|
+
- Check your Zudello instance URL to determine your cluster
|
|
158
|
+
|
|
159
|
+
### Setup Steps
|
|
160
|
+
|
|
161
|
+
1. **Build the project** (required before first use):
|
|
162
|
+
```bash
|
|
163
|
+
cd /path/to/research_mcp
|
|
164
|
+
npm install
|
|
165
|
+
npm run build
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
2. **Create/edit config file** with your credentials (see paths above)
|
|
169
|
+
|
|
170
|
+
3. **Restart Claude** (Desktop or Code)
|
|
171
|
+
|
|
172
|
+
4. **Verify installation**:
|
|
173
|
+
- Ask Claude: "What Zudello MCP tools are available?"
|
|
174
|
+
- You should see a list of 106 tools
|
|
175
|
+
|
|
176
|
+
### Troubleshooting
|
|
177
|
+
|
|
178
|
+
**"Server not found" or "Connection failed"**:
|
|
179
|
+
- Verify the path to `dist/index.js` is absolute (not relative or using `~`)
|
|
180
|
+
- Ensure you ran `npm run build` after installation
|
|
181
|
+
- Check that Node.js is in your PATH: `which node` or `node --version`
|
|
182
|
+
|
|
183
|
+
**"Invalid credentials" or authentication errors**:
|
|
184
|
+
- Verify your ZUDELLO_TOKEN starts with "eyJ"
|
|
185
|
+
- Check ORGANIZATION and TEAM UUIDs are correct format
|
|
186
|
+
- Confirm CLUSTER_URL matches your Zudello instance region
|
|
187
|
+
|
|
188
|
+
**"ZodError" or validation errors**:
|
|
189
|
+
- This was a bug in versions before the logger fix - ensure you have the latest code
|
|
190
|
+
- Logs must go to stderr, not stdout (fixed in current version)
|
|
191
|
+
|
|
192
|
+
**Changes not taking effect**:
|
|
193
|
+
- Always restart Claude Desktop/Code after config changes
|
|
194
|
+
- Run `npm run build` after any code changes
|
|
195
|
+
|
|
196
|
+
## NPM Package Installation
|
|
197
|
+
|
|
198
|
+
### Installing from NPM Registry
|
|
199
|
+
|
|
200
|
+
Once published, you can install the package globally or use it with npx:
|
|
201
|
+
|
|
202
|
+
#### Global Installation
|
|
203
|
+
```bash
|
|
204
|
+
npm install -g @zudello/modelcontextprotocol
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
#### Using with npx (no installation)
|
|
208
|
+
```bash
|
|
209
|
+
npx @zudello/modelcontextprotocol
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### Using NPM Package with Claude Desktop
|
|
213
|
+
|
|
214
|
+
After installing the npm package, configure Claude Desktop to use it:
|
|
215
|
+
|
|
216
|
+
#### macOS (`~/Library/Application Support/Claude/claude_desktop_config.json`)
|
|
217
|
+
```json
|
|
218
|
+
{
|
|
219
|
+
"mcpServers": {
|
|
220
|
+
"zudello": {
|
|
221
|
+
"command": "npx",
|
|
222
|
+
"args": ["@zudello/modelcontextprotocol"],
|
|
223
|
+
"env": {
|
|
224
|
+
"ZUDELLO_TOKEN": "your_jwt_token",
|
|
225
|
+
"ZUDELLO_ORGANIZATION": "your_org_uuid",
|
|
226
|
+
"ZUDELLO_TEAM": "your_team_uuid",
|
|
227
|
+
"ZUDELLO_CLUSTER_URL": "api.1.eur1.zudello.io",
|
|
228
|
+
"AUTHENTICATION_API_BASE": "api.1.global.zudello.io"
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
#### Linux (`~/.config/claude/claude_desktop_config.json`)
|
|
236
|
+
```json
|
|
237
|
+
{
|
|
238
|
+
"mcpServers": {
|
|
239
|
+
"zudello": {
|
|
240
|
+
"command": "npx",
|
|
241
|
+
"args": ["@zudello/modelcontextprotocol"],
|
|
242
|
+
"env": {
|
|
243
|
+
"ZUDELLO_TOKEN": "your_jwt_token",
|
|
244
|
+
"ZUDELLO_ORGANIZATION": "your_org_uuid",
|
|
245
|
+
"ZUDELLO_TEAM": "your_team_uuid",
|
|
246
|
+
"ZUDELLO_CLUSTER_URL": "api.1.eur1.zudello.io",
|
|
247
|
+
"AUTHENTICATION_API_BASE": "api.1.global.zudello.io"
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
#### Windows (`%APPDATA%\Claude\claude_desktop_config.json`)
|
|
255
|
+
```json
|
|
256
|
+
{
|
|
257
|
+
"mcpServers": {
|
|
258
|
+
"zudello": {
|
|
259
|
+
"command": "npx",
|
|
260
|
+
"args": ["@zudello/modelcontextprotocol"],
|
|
261
|
+
"env": {
|
|
262
|
+
"ZUDELLO_TOKEN": "your_jwt_token",
|
|
263
|
+
"ZUDELLO_ORGANIZATION": "your_org_uuid",
|
|
264
|
+
"ZUDELLO_TEAM": "your_team_uuid",
|
|
265
|
+
"ZUDELLO_CLUSTER_URL": "api.1.eur1.zudello.io",
|
|
266
|
+
"AUTHENTICATION_API_BASE": "api.1.global.zudello.io"
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
### Using NPM Package with Claude Code
|
|
274
|
+
|
|
275
|
+
When using the npm package with Claude Code CLI:
|
|
276
|
+
|
|
277
|
+
#### macOS/Linux (`~/.config/claude-code/mcp_servers.json`)
|
|
278
|
+
```json
|
|
279
|
+
{
|
|
280
|
+
"mcpServers": {
|
|
281
|
+
"zudello": {
|
|
282
|
+
"command": "npx",
|
|
283
|
+
"args": ["@zudello/modelcontextprotocol"],
|
|
284
|
+
"env": {
|
|
285
|
+
"ZUDELLO_TOKEN": "your_jwt_token",
|
|
286
|
+
"ZUDELLO_ORGANIZATION": "your_org_uuid",
|
|
287
|
+
"ZUDELLO_TEAM": "your_team_uuid",
|
|
288
|
+
"ZUDELLO_CLUSTER_URL": "api.1.eur1.zudello.io",
|
|
289
|
+
"AUTHENTICATION_API_BASE": "api.1.global.zudello.io"
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
#### Windows (`%APPDATA%\claude-code\mcp_servers.json`)
|
|
297
|
+
```json
|
|
298
|
+
{
|
|
299
|
+
"mcpServers": {
|
|
300
|
+
"zudello": {
|
|
301
|
+
"command": "npx",
|
|
302
|
+
"args": ["@zudello/modelcontextprotocol"],
|
|
303
|
+
"env": {
|
|
304
|
+
"ZUDELLO_TOKEN": "your_jwt_token",
|
|
305
|
+
"ZUDELLO_ORGANIZATION": "your_org_uuid",
|
|
306
|
+
"ZUDELLO_TEAM": "your_team_uuid",
|
|
307
|
+
"ZUDELLO_CLUSTER_URL": "api.1.eur1.zudello.io",
|
|
308
|
+
"AUTHENTICATION_API_BASE": "api.1.global.zudello.io"
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
## Publishing to NPM
|
|
316
|
+
|
|
317
|
+
For maintainers who want to publish this package to npm:
|
|
318
|
+
|
|
319
|
+
### Prerequisites
|
|
320
|
+
1. **NPM Account**: Create account at https://www.npmjs.com
|
|
321
|
+
2. **NPM Login**: Run `npm login` and authenticate
|
|
322
|
+
3. **Package Scope**: Ensure you have access to `@zudello` scope (or update package name)
|
|
323
|
+
|
|
324
|
+
### Publishing Steps
|
|
325
|
+
|
|
326
|
+
```bash
|
|
327
|
+
# 1. Ensure you're on the correct branch
|
|
328
|
+
git checkout main # or develop, depending on your workflow
|
|
329
|
+
|
|
330
|
+
# 2. Update version (optional - creates git tag)
|
|
331
|
+
npm version patch # or minor, major
|
|
332
|
+
# This updates package.json and creates a git tag
|
|
333
|
+
|
|
334
|
+
# 3. Build and validate
|
|
335
|
+
npm run build
|
|
336
|
+
npm run typecheck
|
|
337
|
+
|
|
338
|
+
# 4. Test the package locally (optional but recommended)
|
|
339
|
+
npm pack # Creates a tarball
|
|
340
|
+
npm install -g ./zudello-mcp-server-1.0.0.tgz # Test install
|
|
341
|
+
zudello-mcp --help # Test binary
|
|
342
|
+
|
|
343
|
+
# 5. Publish to npm
|
|
344
|
+
npm publish --access public
|
|
345
|
+
# Use --access public for scoped packages (@zudello/*)
|
|
346
|
+
|
|
347
|
+
# 6. Push git tags
|
|
348
|
+
git push --tags
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
### Version Management
|
|
352
|
+
|
|
353
|
+
Follow semantic versioning (semver):
|
|
354
|
+
- **Patch** (1.0.X): Bug fixes, documentation updates
|
|
355
|
+
- **Minor** (1.X.0): New features, backward-compatible
|
|
356
|
+
- **Major** (X.0.0): Breaking changes
|
|
357
|
+
|
|
358
|
+
```bash
|
|
359
|
+
npm version patch # 1.0.0 → 1.0.1
|
|
360
|
+
npm version minor # 1.0.1 → 1.1.0
|
|
361
|
+
npm version major # 1.1.0 → 2.0.0
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
### NPM Package Contents
|
|
365
|
+
|
|
366
|
+
The published package includes:
|
|
367
|
+
- `dist/` - Compiled JavaScript and TypeScript definitions
|
|
368
|
+
- `README.md` - Full documentation
|
|
369
|
+
- `TOOL_CATALOG.md` - Complete tool reference
|
|
370
|
+
- `QUICKSTART.md` - Quick start guide
|
|
371
|
+
- `LICENSE` - MIT license
|
|
372
|
+
|
|
373
|
+
Excluded from package (see `.npmignore` or package.json `files`):
|
|
374
|
+
- `src/` - TypeScript source files
|
|
375
|
+
- `node_modules/` - Dependencies
|
|
376
|
+
- `.env` - Local configuration
|
|
377
|
+
- Development files
|
|
378
|
+
|
|
379
|
+
### Publishing Checklist
|
|
380
|
+
|
|
381
|
+
Before publishing:
|
|
382
|
+
- ✅ All tests pass (`npm test`)
|
|
383
|
+
- ✅ TypeScript compiles without errors (`npm run typecheck`)
|
|
384
|
+
- ✅ Build succeeds (`npm run build`)
|
|
385
|
+
- ✅ README.md is up to date
|
|
386
|
+
- ✅ CHANGELOG.md documents changes (if maintained)
|
|
387
|
+
- ✅ Version number is updated
|
|
388
|
+
- ✅ Git working directory is clean
|
|
389
|
+
- ✅ You're logged into npm (`npm whoami`)
|
|
390
|
+
|
|
391
|
+
### Unpublishing (Emergency Only)
|
|
392
|
+
|
|
393
|
+
If you need to unpublish (not recommended):
|
|
394
|
+
```bash
|
|
395
|
+
# Unpublish specific version (within 72 hours of publish)
|
|
396
|
+
npm unpublish @zudello/modelcontextprotocol@1.0.0
|
|
397
|
+
|
|
398
|
+
# Deprecate instead (preferred)
|
|
399
|
+
npm deprecate @zudello/modelcontextprotocol@1.0.0 "Use version 1.0.1 instead"
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
### Alternative: Private NPM Registry
|
|
403
|
+
|
|
404
|
+
For private/internal use:
|
|
405
|
+
```bash
|
|
406
|
+
# Configure private registry
|
|
407
|
+
npm config set registry https://your-private-registry.com
|
|
408
|
+
|
|
409
|
+
# Or publish to specific registry
|
|
410
|
+
npm publish --registry https://your-private-registry.com
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
### API Endpoints
|
|
414
|
+
|
|
415
|
+
The MCP server uses two different API endpoints:
|
|
416
|
+
|
|
417
|
+
1. **Team-Level API** (`ZUDELLO_CLUSTER_URL`): Used for most operations (106 tools)
|
|
418
|
+
- Default: `api.1.eur1.zudello.io`
|
|
419
|
+
- Region-specific endpoints for team data and operations
|
|
420
|
+
- Examples: EUR1, US1, APAC1 clusters
|
|
421
|
+
|
|
422
|
+
2. **Organization-Level API** (`AUTHENTICATION_API_BASE`): Used for org admin operations (9 tools)
|
|
423
|
+
- Default: `api.1.global.zudello.io` (https:// is added automatically)
|
|
424
|
+
- Global endpoint for cross-team operations
|
|
425
|
+
- Used by: Teams, Users, and Groups management tools
|
|
426
|
+
- Override if your org uses a custom authentication service
|
|
427
|
+
- **Note**: Only provide the domain, protocol is added automatically
|
|
428
|
+
|
|
429
|
+
## Tool Categories (106 Total)
|
|
430
|
+
|
|
431
|
+
### Core Operations (3 tools)
|
|
432
|
+
- `zudelloSearch` - Search and filter resources with complex queries
|
|
433
|
+
- `zudelloFetch` - Fetch single resource by UUID or external ID
|
|
434
|
+
- `zudelloPushMessage` - Load Zudello data into conversation context
|
|
435
|
+
|
|
436
|
+
### Model Discovery (5 tools)
|
|
437
|
+
- `zudelloListModels` - List all available data models
|
|
438
|
+
- `zudelloGetModelMetadata` - Get display names, icons, UI metadata
|
|
439
|
+
- `zudelloGetModelSchema` - Get field definitions and types
|
|
440
|
+
- `zudelloGetModelRelations` - Discover relationships between models
|
|
441
|
+
- `zudelloGetFieldMetadata` - Get detailed field-level metadata
|
|
442
|
+
|
|
443
|
+
### Configuration Management (5 tools)
|
|
444
|
+
- Read: `zudelloGetConfig`, `zudelloListConfigs`
|
|
445
|
+
- Write: `zudelloCreateConfig`, `zudelloUpdateConfig`, `zudelloUpdateConfigsOrder`
|
|
446
|
+
|
|
447
|
+
### Resource Operations (2 tools)
|
|
448
|
+
- `zudelloGetResources` - Batch fetch multiple resources
|
|
449
|
+
- `zudelloUpdateOrCreateResources` - Upsert resources in batch
|
|
450
|
+
|
|
451
|
+
### Automation Rules - Sentences (8 tools)
|
|
452
|
+
- Read: `zudelloGetSentence`, `zudelloGetSentenceTemplate`, `zudelloListSentences`, `zudelloListSentenceTemplates`, `zudelloListSentenceResources`
|
|
453
|
+
- Write: `zudelloCreateSentence`, `zudelloUpdateSentence`, `zudelloUpdateSentencesOrder`
|
|
454
|
+
|
|
455
|
+
### History (1 tool)
|
|
456
|
+
- `zudelloGetHistory` - View audit trail and change history
|
|
457
|
+
|
|
458
|
+
### Automation System (10 tools)
|
|
459
|
+
- Scripts: `zudelloGetScript`, `zudelloListScripts`, `zudelloListGlobalIntegrations`, `zudelloListGlobalScriptsForIntegration`
|
|
460
|
+
- Triggers: `zudelloGetTrigger`, `zudelloListTriggers`
|
|
461
|
+
- Logs: `zudelloGetAutomationLogs`, `zudelloGetRunLogs`, `zudelloGetRunLogsContent`, `zudelloSearchRuns`
|
|
462
|
+
|
|
463
|
+
### Connections (5 tools)
|
|
464
|
+
- `zudelloListConnections` - List integration connections
|
|
465
|
+
- `zudelloCheckConnectionStatus` - Check connection status
|
|
466
|
+
- `zudelloReconnect` - Reconnect integration
|
|
467
|
+
- `zudelloListAvailableIntegrations` - List available integrations
|
|
468
|
+
- `zudelloGetConnectionTemplate` - Get connection template
|
|
469
|
+
|
|
470
|
+
### Trigger & Sync Control (2 tools)
|
|
471
|
+
- `zudelloSetTriggerEnabled` - Enable/disable triggers (high-risk)
|
|
472
|
+
- `zudelloInitiateSync` - Trigger data sync (high-risk)
|
|
473
|
+
|
|
474
|
+
### Bulk Operations (2 tools)
|
|
475
|
+
- `zudelloBulkApproveMilestones` - Approve multiple items
|
|
476
|
+
- `zudelloBulkSendReminders` - Send approval reminders
|
|
477
|
+
|
|
478
|
+
### Approval Workflows (1 tool)
|
|
479
|
+
- `zudelloGetApprovalFlows` - View approval workflow configurations
|
|
480
|
+
|
|
481
|
+
### Users & Groups (2 tools)
|
|
482
|
+
- `zudelloGetUserGroups` - Get user groups
|
|
483
|
+
- `zudelloGetUsers` - Get team users
|
|
484
|
+
|
|
485
|
+
### Datasets (4 tools)
|
|
486
|
+
- Read: `zudelloListDatasets`, `zudelloGetDataset`
|
|
487
|
+
- Write: `zudelloCreateDataset`, `zudelloUpdateDataset`
|
|
488
|
+
|
|
489
|
+
### Field Settings (4 tools)
|
|
490
|
+
- Read: `zudelloListFields`, `zudelloGetField`
|
|
491
|
+
- Write: `zudelloCreateField`, `zudelloUpdateField`
|
|
492
|
+
|
|
493
|
+
### Quick Actions (5 tools)
|
|
494
|
+
- Read: `zudelloListQuickActions`, `zudelloGetQuickAction`
|
|
495
|
+
- Write: `zudelloCreateQuickAction`, `zudelloUpdateQuickAction`, `zudelloTriggerQuickAction`
|
|
496
|
+
|
|
497
|
+
### Export Templates (7 tools)
|
|
498
|
+
- Read: `zudelloListExportTemplates`, `zudelloGetExportTemplate`, `zudelloListExports`, `zudelloGetExportDownloadUrl`
|
|
499
|
+
- Write: `zudelloCreateExportTemplate`, `zudelloUpdateExportTemplate`, `zudelloRunExport`
|
|
500
|
+
|
|
501
|
+
### Document Types (5 tools)
|
|
502
|
+
- Read: `zudelloListDocumentTypes`, `zudelloGetDocumentType`, `zudelloGetMergedFormMetadata`
|
|
503
|
+
- Write: `zudelloCreateDocumentType`, `zudelloUpdateDocumentType`
|
|
504
|
+
|
|
505
|
+
### Organization Admin (9 tools)
|
|
506
|
+
- Teams: `zudelloListOrgTeams`, `zudelloFetchOrgTeam`, `zudelloUpdateOrgTeam`
|
|
507
|
+
- Users: `zudelloListOrgUsers`, `zudelloFetchOrgUser`, `zudelloCreateOrgUser`, `zudelloUpdateOrgUser`, `zudelloAssignUserToTeam`
|
|
508
|
+
- Groups: `zudelloListOrgUserGroups`
|
|
509
|
+
|
|
510
|
+
### Notifications (3 tools)
|
|
511
|
+
- `zudelloListNotificationTypes` - List notification types
|
|
512
|
+
- `zudelloGetNotificationPreferences` - Get user preferences
|
|
513
|
+
- `zudelloUpdateNotificationPreferences` - Update preferences
|
|
514
|
+
|
|
515
|
+
### Exception Reasons (6 tools)
|
|
516
|
+
- Budget: `zudelloListBudgetExceptionReasons`, `zudelloCreateBudgetExceptionReason`, `zudelloUpdateBudgetExceptionReason`
|
|
517
|
+
- Contract: `zudelloListContractExceptionReasons`, `zudelloCreateContractExceptionReason`, `zudelloUpdateContractExceptionReason`
|
|
518
|
+
|
|
519
|
+
### Language Placeholders (2 tools)
|
|
520
|
+
- `zudelloGetLanguagePlaceholders` - Get custom terminology labels
|
|
521
|
+
- `zudelloUpdateLanguagePlaceholders` - Update terminology
|
|
522
|
+
|
|
523
|
+
### Inbox Management (8 tools)
|
|
524
|
+
- Domain: `zudelloGetInboundDomain`
|
|
525
|
+
- Inboxes: `zudelloListInboxes`, `zudelloFetchInbox`, `zudelloCreateInbox`, `zudelloUpdateInbox`
|
|
526
|
+
- Templates: `zudelloListInboxTemplates`, `zudelloCreateInboxTemplate`, `zudelloUpdateInboxTemplate`
|
|
527
|
+
|
|
528
|
+
### Document Context (2 tools)
|
|
529
|
+
- `zudelloCheckDocumentBudgets` - Validate document against budgets
|
|
530
|
+
- `zudelloCheckContractPricing` - Check contract pricing compliance
|
|
531
|
+
|
|
532
|
+
### Document Statuses (5 tools)
|
|
533
|
+
- Read: `zudelloListStatuses`, `zudelloGetStatus`
|
|
534
|
+
- Write: `zudelloCreateStatus`, `zudelloUpdateStatus`, `zudelloReorderStatuses`
|
|
535
|
+
|
|
536
|
+
## Development
|
|
537
|
+
|
|
538
|
+
```bash
|
|
539
|
+
# Development mode with auto-reload
|
|
540
|
+
npm run dev
|
|
541
|
+
|
|
542
|
+
# Type check
|
|
543
|
+
npm run typecheck
|
|
544
|
+
|
|
545
|
+
# Build
|
|
546
|
+
npm run build
|
|
547
|
+
```
|
|
548
|
+
|
|
549
|
+
## Architecture
|
|
550
|
+
|
|
551
|
+
```
|
|
552
|
+
app-mcp/
|
|
553
|
+
├── src/
|
|
554
|
+
│ ├── index.ts # MCP server entry point
|
|
555
|
+
│ ├── context/
|
|
556
|
+
│ │ └── auth.ts # Multi-tenant authentication
|
|
557
|
+
│ ├── tools/ # 106 tool implementations
|
|
558
|
+
│ │ ├── core/ # Core operations (3)
|
|
559
|
+
│ │ ├── models/ # Model discovery (5)
|
|
560
|
+
│ │ ├── config/ # Configuration (5)
|
|
561
|
+
│ │ ├── resources/ # Resource operations (2)
|
|
562
|
+
│ │ ├── sentences/ # Automation rules (8)
|
|
563
|
+
│ │ ├── history/ # History (1)
|
|
564
|
+
│ │ ├── automation/ # Automation system (10)
|
|
565
|
+
│ │ ├── connections/ # Connections (5)
|
|
566
|
+
│ │ ├── control/ # Trigger/sync control (2)
|
|
567
|
+
│ │ ├── bulk/ # Bulk operations (2)
|
|
568
|
+
│ │ ├── approvals/ # Approval workflows (1)
|
|
569
|
+
│ │ ├── users/ # Users & groups (2)
|
|
570
|
+
│ │ ├── admin/ # Datasets, fields, quick actions (13)
|
|
571
|
+
│ │ ├── documents/ # Export templates, document types (12)
|
|
572
|
+
│ │ ├── org-admin/ # Organization admin (9)
|
|
573
|
+
│ │ ├── notifications/ # Notifications (3)
|
|
574
|
+
│ │ ├── exceptions/ # Exception reasons (6)
|
|
575
|
+
│ │ ├── language/ # Language placeholders (2)
|
|
576
|
+
│ │ ├── document-context/ # Document validation (2)
|
|
577
|
+
│ │ ├── inboxes/ # Inbox management (8)
|
|
578
|
+
│ │ └── statuses/ # Document statuses (5)
|
|
579
|
+
│ ├── services/
|
|
580
|
+
│ │ └── zudello/ # Zudello API service layer
|
|
581
|
+
│ │ ├── core.ts # Auth and base request building
|
|
582
|
+
│ │ ├── resources.ts # Resource CRUD
|
|
583
|
+
│ │ ├── automation.ts # Automation operations
|
|
584
|
+
│ │ ├── sentences.ts # Sentence operations
|
|
585
|
+
│ │ ├── documents.ts # Document operations
|
|
586
|
+
│ │ ├── organization.ts # Org admin operations
|
|
587
|
+
│ │ ├── notifications.ts
|
|
588
|
+
│ │ ├── language.ts
|
|
589
|
+
│ │ ├── document-context.ts
|
|
590
|
+
│ │ ├── inboxes.ts
|
|
591
|
+
│ │ └── types.ts # Service type definitions
|
|
592
|
+
│ ├── constants/
|
|
593
|
+
│ │ └── zudello.ts # Zudello constants (1807 lines)
|
|
594
|
+
│ ├── utils/
|
|
595
|
+
│ │ └── logger.ts # Structured logging
|
|
596
|
+
│ └── types/
|
|
597
|
+
│ └── index.ts # TypeScript type definitions
|
|
598
|
+
└── dist/ # Compiled JavaScript (ESM)
|
|
599
|
+
```
|
|
600
|
+
|
|
601
|
+
## Tool Approval Metadata
|
|
602
|
+
|
|
603
|
+
Write tools (41 total) return approval metadata with risk levels:
|
|
604
|
+
|
|
605
|
+
### High Risk (11 tools)
|
|
606
|
+
- Trigger/sync control (2): `zudelloSetTriggerEnabled`, `zudelloInitiateSync`
|
|
607
|
+
- Config/resources (2): `zudelloUpdateConfig`, `zudelloUpdateOrCreateResources`
|
|
608
|
+
- Automation (1): `zudelloUpdateSentence`
|
|
609
|
+
- Datasets/fields (2): `zudelloUpdateDataset`, `zudelloUpdateField`
|
|
610
|
+
- Quick actions (2): `zudelloUpdateQuickAction`, `zudelloTriggerQuickAction`
|
|
611
|
+
- Document types (1): `zudelloUpdateDocumentType`
|
|
612
|
+
- Org admin (1): `zudelloCreateOrgUser`
|
|
613
|
+
|
|
614
|
+
### Medium Risk (24 tools)
|
|
615
|
+
- Configuration (1): `zudelloCreateConfig`
|
|
616
|
+
- Automation (1): `zudelloCreateSentence`
|
|
617
|
+
- Bulk operations (2): `zudelloBulkApproveMilestones`, `zudelloBulkSendReminders`
|
|
618
|
+
- Admin tools (6): Create/update datasets, fields, statuses, quick actions, export templates, document types
|
|
619
|
+
- Org admin (2): `zudelloUpdateOrgUser`, `zudelloUpdateOrgTeam`
|
|
620
|
+
- Exception reasons (4): Create/update budget and contract exceptions
|
|
621
|
+
- Language (1): `zudelloUpdateLanguagePlaceholders`
|
|
622
|
+
- Inboxes (4): Create/update inboxes and templates
|
|
623
|
+
- Document types (1): `zudelloCreateDocumentType`
|
|
624
|
+
- Statuses (2): `zudelloCreateStatus`, `zudelloUpdateStatus`
|
|
625
|
+
|
|
626
|
+
### Low Risk (6 tools)
|
|
627
|
+
- Reorder operations (3): Configs, sentences, statuses
|
|
628
|
+
- Notifications (1): `zudelloUpdateNotificationPreferences`
|
|
629
|
+
- Push message (1): `zudelloPushMessage`
|
|
630
|
+
- Export (1): `zudelloRunExport`
|
|
631
|
+
|
|
632
|
+
## Migration from inapp-chat
|
|
633
|
+
|
|
634
|
+
This MCP server is a complete migration of all 106 Zudello tools from the inapp-chat Next.js application. Key changes:
|
|
635
|
+
|
|
636
|
+
1. **Tool Format**: Migrated from AI SDK format to MCP format
|
|
637
|
+
2. **Authentication**: Changed from Next.js context to explicit AuthContext parameter
|
|
638
|
+
3. **Approval Pattern**: Converted from AI SDK `needsApproval` to MCP `requiresApproval` with `approvalMetadata`
|
|
639
|
+
4. **Service Layer**: Modified to accept AuthContext as first parameter
|
|
640
|
+
5. **Module System**: Converted to ESM with `.js` extensions in imports
|
|
641
|
+
|
|
642
|
+
## Testing
|
|
643
|
+
|
|
644
|
+
The MCP server can be tested by:
|
|
645
|
+
1. Running `npm run build` to ensure all tools compile
|
|
646
|
+
2. Configuring Claude Desktop with the server
|
|
647
|
+
3. Testing tool calls through Claude Desktop
|
|
648
|
+
|
|
649
|
+
## Publishing
|
|
650
|
+
|
|
651
|
+
This package is automatically published to npm when code is pushed to the `main` branch via GitHub Actions.
|
|
652
|
+
|
|
653
|
+
For detailed information about:
|
|
654
|
+
- Setting up npm authentication
|
|
655
|
+
- Version management
|
|
656
|
+
- Manual publishing
|
|
657
|
+
- Troubleshooting
|
|
658
|
+
|
|
659
|
+
See [PUBLISHING.md](./PUBLISHING.md)
|
|
660
|
+
|
|
661
|
+
## License
|
|
662
|
+
|
|
663
|
+
MIT
|
|
664
|
+
|
|
665
|
+
## Author
|
|
666
|
+
|
|
667
|
+
Zudello
|