HAP-MCP
About
HAP (Super Application Platform) is developed by Mingdao( https://www.mingdao.com )The launched APaaS platform helps you build enterprise level applications quickly without coding. This is HAP's MCP (Model Context Protocol) server, used for seamless integration of AI. It enables every zero code application built…
Explore
- Implements the Model Context Protocol for HAP.
- Enables seamless AI integration with HAP applications.
- Converts zero‑code enterprise apps into AI agent tools.
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
HAP-MCPCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
—
trigger_workflow
Trigger a workflow. When calling, in addition to providing the `process_id`, you should also pass the input parameters returned by `get_workflow_details`. Use the parameter's `id` as the key and its corresponding value as the value, passed directly as top-level parameters.
get_business_rule_list
Get the business rule list for a worksheet. Returns basic info (ruleId, name, ruleType, enabled), not full config (use get_business_rule_detail for that).
batch_create_process_nodes
Batch append nodes to an existing workflow (cannot create triggers). If createdNodes contains approval_block / sub_process, the node item will include the internal flow's processId. ⚠️ All fieldId parameters must use the real field ID returned by get_worksheet_structure (e.g. 5f1abc...), never pass field aliases.
delete_business_rule
Delete a specific business rule.
delete_worksheet_filter
Delete a worksheet quick filter by filter ID. Only deletes the filter configuration itself without affecting worksheets or records.
update_worksheet
Edit a worksheet.
switch_public_form
Enable or disable public form for a worksheet. Automatically initializes configuration and public link on first enable; disabling immediately interrupts public access.
get_business_rule_detail
Get the full configuration of a single business rule. Returns a structure identical to create_business_rule request body, with an additional ruleId.
create_process
Create a workflow (including trigger), returns processId on success. Use batch_create_process_nodes for node creation. ⚠️ All fieldId parameters must use the real field ID returned by get_worksheet_structure (e.g. 5f1abc...), never pass field aliases.
update_custom_action
Update configuration for a single custom action button. Omitted fields remain unchanged.
publish_process
Publish the workflow, automatically running a complete validation before publishing. Any failure means overall failure, and the 'published' status is not written; error.code=PUBLISH_FAILED, error.message has multi-line columns for each problem, split by line and fix one by one, then resend after fixing.
get_view_structure
Get detailed configuration tree of a specific view.
set_app_items_display
Batch update display mode (visibility) of application items in navigation (overwrite mode). Supports worksheets, custom pages, chatbots, and second-level sections (first-level sections are not supported).
create_app_items
Batch create blank application items (custom pages or worksheets).
get_app_knowledge_list
Get the list of knowledge bases under the current application. Use the body parameter knowledgeIds to specify which knowledge base IDs to return: empty array or omit to return all; non-empty returns only the specified knowledge bases.
get_share_card_setting
Get the share card title, description, and icon settings for a specific worksheet sharing scenario (view, record, or public-form).
get_app_info
Get application information, including groups, worksheets, and custom pages under the application. The 'type' field of the items object means: 0-Worksheet, 1-Custom Page, 2-Subgroup; the 'status' field means: 1-Show, 2-Hide, 3-Show on Mobile Only, 4-Show on PC Only.
update_worksheet_settings
Partially update worksheet settings including basic info, form display, submission behavior, and sharing permissions. Only provide the properties to modify; omitted properties remain unchanged.
get_worksheet_filter_list
Get the list of visible quick filters and their complete condition configurations for the current user in a worksheet. Returns personal and public filters.
delete_record
Delete a row record.
delete_custom_action
Delete a custom action button from a worksheet.
get_hooks_workflows
Fetch list of webhook/hook integration workflows under an app, used to trigger specific business flows.
refresh_public_form_url
Generate a new share ID and public URL for an initialized public form, immediately invalidating the old URL (irreversible).
get_record_pivot_data
Get pivot table summary data for worksheet records. Prioritize using this tool for querying statistics, summaries, and aggregations.
get_record_details
Get record details, including creator, owner, control information, and generate example values based on control data types.
update_share_card_setting
Partially update the share card title, description, or icon for a specific worksheet sharing scenario (view, record, or public-form). Omitted fields keep existing values, empty string clears.
create_worksheet
Create a worksheet within the application. Supports Relation fields, provided the target worksheet is already created and its targetId obtained. The creation order must follow dependency constraints: create the referenced master data worksheet first, then the business worksheet containing Relation fields. When inline configuring a Relation field, set bidirectional: true to implement bidirectional association.
get_custom_action_list
Get a list of all custom action buttons and their configuration under a worksheet.
update_optionset
Edit an optionset.
delete_process
Delete an entire workflow. Triggers associated cleanups (subscriptions, schedules, approval/subprocess references, etc.); the workflow can no longer be operated via get_workflow_structure / validate_process. To undo a single node only, use delete_process_node.
delete_process_node
Delete a node in a workflow. To delete a node inside a block node (approval_block/sub_process), pass the block node's config.process.processId as workflow_id. Use get_workflow_structure to obtain node IDs first. Start/end nodes cannot be deleted.
create_role
Create a role. Information includes: role name, description, permission information.
delete_custom_page
Delete a custom page.
sort_charts
Sort charts under a worksheet. Pass the reordered chart ID array.
sort_app_sections
Sort first-level application sections. The order of section IDs in the array determines the display order in navigation. Only reorders first-level sections. Sections not included in the array will be appended to the end in their original relative order.
batch_delete_process_nodes
Batch delete multiple nodes in a workflow, executed in node_ids order, non-transactional (prior deletions are not rolled back on failure). To delete nodes inside a block node, pass the block node's config.process.processId as workflow_id. Use get_workflow_structure to obtain node IDs first. Start/end nodes cannot be deleted.
validate_process
Run a pre-publish validation on an existing workflow without actually publishing it. Reports all unfilled fields, dangling references, incompatible enums, etc. Shares the validation chain with publish_process. The response contains an 'errors' list (each { nodeAlias, nodeId, path, code, message }). An empty list indicates it is ready to be published.
update_chatbot
Update configuration properties of a chatbot. All properties optional (Note: modifying system prompt is currently not supported).
get_workflow_list
Get all types of workflows under an application, supporting filtering by triggerType and online published status.
update_custom_page_config
Update basic configuration of a custom page (name, remark, description, display status). Does not affect the component list. Use update_custom_page for component updates.
get_chart_list
List all charts under a worksheet with brief metadata (ID, name, description, chart type).
update_public_form_settings
Replace advanced settings of a public form (verification, audience, availability schedule, frequency limit, draft, WeChat integration, tracking, etc.). Uses full-replacement semantics; recommended to call get_public_form_config first and send back complete modified settings.
get_approval_list_by_row
Get the approval workflow execution list for a record by worksheet id and row id. Supports pagination and filtering by whether the workflow is complete.
update_custom_page
Update (create or overwrite) a custom page with a full list of components. The page uses a 48-column grid layout. All existing components on the page will be replaced by the submitted list. Supported componentType values: 'chart' (statistical chart), 'section' (section header/divider), 'text' (rich text), 'html' (external iframe), 'view' (worksheet view), 'carousel' (carousel), 'button' (button group, action=1~4 only), 'tab' (tab container), 'container' (card container), 'filtersGroup' (filter group). Unsupported componentType values: 'image' (requires prior attachment upload), 'ai'. Layout rule: components sharing the same y coordinate must have the same height h, otherwise the shorter one leaves a blank gap below it. If the custom page has no existing config, a default page configuration is applied automatically (webNewCols=48). Nesting: 'tab' and 'container' are parent containers; their own UUID is written to the top-level componentId (caller-generated, globally unique within the request). Children of a container set the top-level parentSectionId to that container's componentId. Children of a tab set the top-level parentTabId to the target config.tabs[].tabId (tabId is also globally unique within the request). parentSectionId and parentTabId are mutually exclusive — at most one may be provided. Only one level of nesting is allowed; tab/container themselves cannot be attached to another container. Child component position.x/y/w/h is relative to the container's internal 48-column grid.
batch_update_records
Batch update row records.
remove_member_from_role
Remove a member from a role.
close_workflow
Close the specified workflow so it will no longer be triggered.
knowledge_search
Search unstructured content in the knowledge base (record texts, attachments, discussion messages, etc.) to answer knowledge-based questions such as background reasons, decision-making basis, function descriptions, and capability boundaries. [Search & Parameter Requirements] 1. Moderate Denoising: When constructing the `query`, moderately remove meaningless interrogative words (e.g., "why", "is there", "how"), while retaining complete business concepts and scenario modifiers. 2. Noise Filtering (Critical): If querying official conclusions, requirements, or rules, it is highly recommended to restrict `filter.types` to ["record", "record_attachment"] to filter out fragmented discussion noise; only allow discussion types when explicitly looking for historical feedback or discussions. 3. Search Mode: `vector` is suitable for vague semantic intents, `keyword` is suitable for exact proper noun matching, and `hybrid` balances both. 4. Limitation: Knowledge bases with different embedding models cannot be combined in a single call.
delete_chart
Delete a chart.
sort_app_items
Sort application items under an application section. The order of item IDs in the array determines the display order within the section. Only reorders items within a single section (first-level or second-level section). Items not included in the array will be appended to the end in their original relative order.
create_optionset
Create an optionset. Data includes: optionset name, optionset information (option value, sort order, color, score).
get_hooks_workflow_details
Get hook/PBC workflow details, including request and response parameters.
get_optionset_list
Get a list of optionsets in the application.
update_business_rule
Update a business rule. Full overwrite (not partial update). Request body is a complete BusinessRule (same as create_business_rule). ruleType cannot be changed. To modify only some fields (e.g. conditions), first get the full rule via get_business_rule_detail, modify it, then submit the complete rule.
get_approval_detail
Get the approval workflow execution detail by worksheet id, row id, and approval id.
get_custom_page_structure
Retrieve the configuration and component tree of a custom page, including basic page info (name, remark, desc) and a list of components. Each component carries a globally unique componentId (UUID).
sort_views
Reorder views under a worksheet.
get_record_relations
Get a list of related records, including source worksheet information, row record information, detailed row record information, and creator information.
get_chart_details
Get full configuration details for a single chart. Response fields match the create_chart interface, with an additional chartId primary key.
delete_worksheet
Delete a worksheet.
get_record_discussions
Get row record discussions.
batch_delete_records
Batch delete row records.
update_view
Partially update a view's properties. Besides worksheet_id and view_id (required path params), all other properties are identical to the view object in create_view. Only pass the properties you want to modify (PATCH semantics; omitted properties remain unchanged).
get_worksheet_filter
Get the full condition configuration of a worksheet quick filter by filter ID. Returns a semantic filter condition isomorphic with save_worksheet_filter.
create_record
Create a new row record.
batch_create_records
Batch create new row records.
get_chatbot_details
Retrieve full configuration details of a chatbot (name, remark, description, icon, sectionId, welcomeMessage, prompt, presetQuestions).
delete_view
Delete a specific view under a worksheet.
create_view
Batch create views for a worksheet. Prioritize field alias for config, filter, etc. • Supported types: table | kanban | gallery | calendar | hierarchy | gantt | resource | detail | map
update_app_section
Update the name and icon of an application section (supports first-level and second-level sections). Underlying app items remain unchanged.
get_record_share_link
Get a shareable link for a record.
delete_role
Delete a role.
get_role_list
Get an overview of all roles in the application, including the members assigned to each role.
leave_all_roles
Remove a specified member from all roles in the application.
update_public_form
Partially update basic info, theme, appearance, and field layout of a public form. Only fields explicitly passed in the request are modified; unmentioned fields keep their values.
save_worksheet_filter
Create or update a worksheet quick filter. Creates new filter if filterId is omitted; updates and replaces existing filter if filterId is provided. Root node must be group.
delete_chatbot
Delete a specific chatbot.
get_app_worksheets_list
Retrieve the list of worksheets under a specific application (includes hidden worksheets, returning displayType: 1=show all, 2=hide all, 3=mobile only, 4=PC only). The response format is controlled via the body parameter responseFormat: 'json' returns JSON (default), 'md' returns Markdown text. Use worksheets to limit the response to specific worksheet IDs.
delete_app_section
Delete an application section (supports first-level and second-level sections). App items (worksheets, custom pages, etc.) under the section are not deleted and will be moved to the target first-level section or parent section.
get_time
获取当前时间
get_role_details
Get the detailed operation permissions of a specific role in the system.
create_chart
Create a chart (statistical visualization) under a worksheet. Supports column, bar, line, pie, radar, funnel, dual-axis, pivot table, region map, number, symmetric bar, scatter, word cloud, gauge, progress, ranking, and world map chart types. After creation, returns the chartId. When the user asks to create a chart without specifying a chartType, default to 'columnChart'. When no time range is specified, default to 'currentMonth' (current month). When no timeFieldId is specified, default to 'ctime' (creation time). Chart generation constraints: choose dimensions from category/time/region fields; avoid pure numeric fields as dimensions. Metrics must be numeric fields or row count ('rowid'); default aggregation should be SUM when the user does not specify one, except row count should use COUNT. Use lineChart for trend analysis and prefer a time dimension with granularity (3=month for normal trends, 1=day or 2=week for short cycles). Use regionMap/worldMap only when a real region/location field exists; do not use ordinary text fields as map dimensions. If available fields do not satisfy the requested chart, choose a more suitable chart type or ask a follow-up instead of creating an invalid chart.
get_workflow_structure
Fetch the structural snapshot of an existing workflow. approval_block / sub_process do not return internal nodes inline, but return the internal workflow ID in config.process.processId; to view/validate/publish the internal flow of a block, use that processId to call this tool or validate_process / publish_process.
update_record
Update a row record.
create_custom_actions
Batch create custom action buttons for a worksheet. Call before create_view, and reference returned actionId in view config.
reset_public_form_fields
Reset and synchronize public form field layout with current worksheet fields, removing deleted fields. Overwrites custom order, width, and visibility.
get_record_logs
Get row record logs.
update_workflow_info
Update basic workflow information (name, description, etc.). Omitted fields remain unchanged.
get_worksheet_settings
Get complete worksheet settings including basic info, form display, submission behavior, and sharing permissions. Used to read form and advanced configurations beyond worksheet field structures.
create_chatbot
Create an AI assistant (chatbot) within the application.
get_worksheet_structure
Get worksheet configuration and its control information.
delete_optionset
Delete an optionset.
get_public_form_config
Get the full configuration of a public form for a worksheet, including basic info, theme, field layout, advanced submission settings, enabled state, and public sharing URL.
get_record_list
Get a list of worksheet records.
discard_workflow_draft
Discard workflow draft. Discard all unpublished changes in the workflow and restore to the online running version.
create_app_sections
Batch create application item groups for grouped display of worksheets and custom pages under an application.
add_member_to_role
Add member information to a role. Data includes: add users, jobs, departments.
create_business_rule
Create a business rule for a worksheet. Supports 4 rule types: interaction, validation, lock, style. ### Interaction Rule Composed of actions[]. A rule can contain multiple actions. Regular actions use fields[]; setFieldValue actions use assignments[]. ### Style Rule Sets field title and value styles (color, font size, bold, italic, underline, strikethrough) when conditions are met. ### Validation Rule Shows error prompts before submission when conditions are met. Can be configured to block or allow submission. ### Lock Rule Locks the current record when conditions are met. Only one lock rule per worksheet. Condition fields only support single-select, multi-select, and checkbox fields.
- trigger_workflow: Trigger a workflow. When calling, in addition to providing the process_id, you should also pass the input parameters returned by get_workflow_details. Use the parameter's id as the key and its corresponding value as the value, passed directly as top-level parameters.
- get_business_rule_list: Get the business rule list for a worksheet. Returns basic info (ruleId, name, ruleType, enabled), not full config (use get_business_rule_detail for that).
- batch_create_process_nodes: Batch append nodes to an existing workflow (cannot create triggers). If createdNodes contains approval_block / sub_process, the node item will include the internal flow's processId.
⚠️ All fieldId parameters must use the real field ID returned by get_worksheet_structure (e.g. 5f1abc...), never pass field aliases.
- delete_business_rule: Delete a specific business rule.
- delete_worksheet_filter: Delete a worksheet quick filter by filter ID. Only deletes the filter configuration itself without affecting worksheets or records.
- update_worksheet: Edit a worksheet.
- switch_public_form: Enable or disable public form for a worksheet. Automatically initializes configuration and public link on first enable; disabling immediately interrupts public access.
- get_business_rule_detail: Get the full configuration of a single business rule. Returns a structure identical to create_business_rule request body, with an additional ruleId.
- create_process: Create a workflow (including trigger), returns processId on success. Use batch_create_process_nodes for node creation.
⚠️ All fieldId parameters must use the real field ID returned by get_worksheet_structure (e.g. 5f1abc...), never pass field aliases.
- update_custom_action: Update configuration for a single custom action button. Omitted fields remain unchanged.
- publish_process: Publish the workflow, automatically running a complete validation before publishing. Any failure means overall failure, and the 'published' status is not written; error.code=PUBLISH_FAILED, error.message has multi-line columns for each problem, split by line and fix one by one, then resend after fixing.
- get_view_structure: Get detailed configuration tree of a specific view.
- set_app_items_display: Batch update display mode (visibility) of application items in navigation (overwrite mode). Supports worksheets, custom pages, chatbots, and second-level sections (first-level sections are not supported).
- create_app_items: Batch create blank application items (custom pages or worksheets).
- get_app_knowledge_list: Get the list of knowledge bases under the current application. Use the body parameter knowledgeIds to specify which knowledge base IDs to return: empty array or omit to return all; non-empty returns only the specified knowledge bases.
- get_share_card_setting: Get the share card title, description, and icon settings for a specific worksheet sharing scenario (view, record, or public-form).
- get_app_info: Get application information, including groups, worksheets, and custom pages under the application. The 'type' field of the items object means: 0-Worksheet, 1-Custom Page, 2-Subgroup; the 'status' field means: 1-Show, 2-Hide, 3-Show on Mobile Only, 4-Show on PC Only.
- update_worksheet_settings: Partially update worksheet settings including basic info, form display, submission behavior, and sharing permissions. Only provide the properties to modify; omitted properties remain unchanged.
- get_worksheet_filter_list: Get the list of visible quick filters and their complete condition configurations for the current user in a worksheet. Returns personal and public filters.
- delete_record: Delete a row record.
- delete_custom_action: Delete a custom action button from a worksheet.
- get_hooks_workflows: Fetch list of webhook/hook integration workflows under an app, used to trigger specific business flows.
- refresh_public_form_url: Generate a new share ID and public URL for an initialized public form, immediately invalidating the old URL (irreversible).
- get_record_pivot_data: Get pivot table summary data for worksheet records. Prioritize using this tool for querying statistics, summaries, and aggregations.
- get_record_details: Get record details, including creator, owner, control information, and generate example values based on control data types.
- update_share_card_setting: Partially update the share card title, description, or icon for a specific worksheet sharing scenario (view, record, or public-form). Omitted fields keep existing values, empty string clears.
- create_worksheet: Create a worksheet within the application. Supports Relation fields, provided the target worksheet is already created and its targetId obtained. The creation order must follow dependency constraints: create the referenced master data worksheet first, then the business worksheet containing Relation fields. When inline configuring a Relation field, set bidirectional: true to implement bidirectional association.
- get_custom_action_list: Get a list of all custom action buttons and their configuration under a worksheet.
- update_optionset: Edit an optionset.
- delete_process: Delete an entire workflow. Triggers associated cleanups (subscriptions, schedules, approval/subprocess references, etc.); the workflow can no longer be operated via get_workflow_structure / validate_process. To undo a single node only, use delete_process_node.
- delete_process_node: Delete a node in a workflow. To delete a node inside a block node (approval_block/sub_process), pass the block node's config.process.processId as workflow_id. Use get_workflow_structure to obtain node IDs first. Start/end nodes cannot be deleted.
- create_role: Create a role. Information includes: role name, description, permission information.
- delete_custom_page: Delete a custom page.
- sort_charts: Sort charts under a worksheet. Pass the reordered chart ID array.
- sort_app_sections: Sort first-level application sections. The order of section IDs in the array determines the display order in navigation. Only reorders first-level sections. Sections not included in the array will be appended to the end in their original relative order.
- batch_delete_process_nodes: Batch delete multiple nodes in a workflow, executed in node_ids order, non-transactional (prior deletions are not rolled back on failure). To delete nodes inside a block node, pass the block node's config.process.processId as workflow_id. Use get_workflow_structure to obtain node IDs first. Start/end nodes cannot be deleted.
- validate_process: Run a pre-publish validation on an existing workflow without actually publishing it. Reports all unfilled fields, dangling references, incompatible enums, etc. Shares the validation chain with publish_process.
The response contains an 'errors' list (each { nodeAlias, nodeId, path, code, message }). An empty list indicates it is ready to be published.
- update_chatbot: Update configuration properties of a chatbot. All properties optional (Note: modifying system prompt is currently not supported).
- get_workflow_list: Get all types of workflows under an application, supporting filtering by triggerType and online published status.
- update_custom_page_config: Update basic configuration of a custom page (name, remark, description, display status). Does not affect the component list. Use update_custom_page for component updates.
- get_chart_list: List all charts under a worksheet with brief metadata (ID, name, description, chart type).
- update_public_form_settings: Replace advanced settings of a public form (verification, audience, availability schedule, frequency limit, draft, WeChat integration, tracking, etc.). Uses full-replacement semantics; recommended to call get_public_form_config first and send back complete modified settings.
- get_approval_list_by_row: Get the approval workflow execution list for a record by worksheet id and row id. Supports pagination and filtering by whether the workflow is complete.
- update_custom_page: Update (create or overwrite) a custom page with a full list of components. The page uses a 48-column grid layout. All existing components on the page will be replaced by the submitted list.
Supported componentType values: 'chart' (statistical chart), 'section' (section header/divider), 'text' (rich text), 'html' (external iframe), 'view' (worksheet view), 'carousel' (carousel), 'button' (button group, action=1~4 only), 'tab' (tab container), 'container' (card container), 'filtersGroup' (filter group). Unsupported componentType values: 'image' (requires prior attachment upload), 'ai'.
Layout rule: components sharing the same y coordinate must have the same height h, otherwise the shorter one leaves a blank gap below it. If the custom page has no existing config, a default page configuration is applied automatically (webNewCols=48).
Nesting: 'tab' and 'container' are parent containers; their own UUID is written to the top-level componentId (caller-generated, globally unique within the request). Children of a container set the top-level parentSectionId to that container's componentId. Children of a tab set the top-level parentTabId to the target config.tabs[].tabId (tabId is also globally unique within the request). parentSectionId and parentTabId are mutually exclusive — at most one may be provided. Only one level of nesting is allowed; tab/container themselves cannot be attached to another container. Child component position.x/y/w/h is relative to the container's internal 48-column grid.
- batch_update_records: Batch update row records.
- remove_member_from_role: Remove a member from a role.
- close_workflow: Close the specified workflow so it will no longer be triggered.
- knowledge_search: Search unstructured content in the knowledge base (record texts, attachments, discussion messages, etc.) to answer knowledge-based questions such as background reasons, decision-making basis, function descriptions, and capability boundaries.
[Search & Parameter Requirements]
1. Moderate Denoising: When constructing the query, moderately remove meaningless interrogative words (e.g., "why", "is there", "how"), while retaining complete business concepts and scenario modifiers.
2. Noise Filtering (Critical): If querying official conclusions, requirements, or rules, it is highly recommended to restrict filter.types to ["record", "record_attachment"] to filter out fragmented discussion noise; only allow discussion types when explicitly looking for historical feedback or discussions.
3. Search Mode: vector is suitable for vague semantic intents, keyword is suitable for exact proper noun matching, and hybrid balances both.
4. Limitation: Knowledge bases with different embedding models cannot be combined in a single call.
- delete_chart: Delete a chart.
- sort_app_items: Sort application items under an application section. The order of item IDs in the array determines the display order within the section. Only reorders items within a single section (first-level or second-level section). Items not included in the array will be appended to the end in their original relative order.
- create_optionset: Create an optionset. Data includes: optionset name, optionset information (option value, sort order, color, score).
- get_hooks_workflow_details: Get hook/PBC workflow details, including request and response parameters.
- get_optionset_list: Get a list of optionsets in the application.
- update_business_rule: Update a business rule. Full overwrite (not partial update). Request body is a complete BusinessRule (same as create_business_rule). ruleType cannot be changed. To modify only some fields (e.g. conditions), first get the full rule via get_business_rule_detail, modify it, then submit the complete rule.
- get_approval_detail: Get the approval workflow execution detail by worksheet id, row id, and approval id.
- get_custom_page_structure: Retrieve the configuration and component tree of a custom page, including basic page info (name, remark, desc) and a list of components. Each component carries a globally unique componentId (UUID).
- sort_views: Reorder views under a worksheet.
- get_record_relations: Get a list of related records, including source worksheet information, row record information, detailed row record information, and creator information.
- get_chart_details: Get full configuration details for a single chart. Response fields match the create_chart interface, with an additional chartId primary key.
- delete_worksheet: Delete a worksheet.
- get_record_discussions: Get row record discussions.
- batch_delete_records: Batch delete row records.
- update_view: Partially update a view's properties. Besides worksheet_id and view_id (required path params), all other properties are identical to the view object in create_view. Only pass the properties you want to modify (PATCH semantics; omitted properties remain unchanged).
- get_worksheet_filter: Get the full condition configuration of a worksheet quick filter by filter ID. Returns a semantic filter condition isomorphic with save_worksheet_filter.
- create_record: Create a new row record.
- batch_create_records: Batch create new row records.
- get_chatbot_details: Retrieve full configuration details of a chatbot (name, remark, description, icon, sectionId, welcomeMessage, prompt, presetQuestions).
- delete_view: Delete a specific view under a worksheet.
- create_view: Batch create views for a worksheet. Prioritize field alias for config, filter, etc.
• Supported types: table | kanban | gallery | calendar | hierarchy | gantt | resource | detail | map
- update_app_section: Update the name and icon of an application section (supports first-level and second-level sections). Underlying app items remain unchanged.
- get_record_share_link: Get a shareable link for a record.
- delete_role: Delete a role.
- get_role_list: Get an overview of all roles in the application, including the members assigned to each role.
- leave_all_roles: Remove a specified member from all roles in the application.
- update_public_form: Partially update basic info, theme, appearance, and field layout of a public form. Only fields explicitly passed in the request are modified; unmentioned fields keep their values.
- save_worksheet_filter: Create or update a worksheet quick filter. Creates new filter if filterId is omitted; updates and replaces existing filter if filterId is provided. Root node must be group.
- delete_chatbot: Delete a specific chatbot.
- get_app_worksheets_list: Retrieve the list of worksheets under a specific application (includes hidden worksheets, returning displayType: 1=show all, 2=hide all, 3=mobile only, 4=PC only). The response format is controlled via the body parameter responseFormat: 'json' returns JSON (default), 'md' returns Markdown text. Use worksheets to limit the response to specific worksheet IDs.
- delete_app_section: Delete an application section (supports first-level and second-level sections). App items (worksheets, custom pages, etc.) under the section are not deleted and will be moved to the target first-level section or parent section.
- get_time: 获取当前时间
- get_role_details: Get the detailed operation permissions of a specific role in the system.
- create_chart: Create a chart (statistical visualization) under a worksheet. Supports column, bar, line, pie, radar, funnel, dual-axis, pivot table, region map, number, symmetric bar, scatter, word cloud, gauge, progress, ranking, and world map chart types. After creation, returns the chartId. When the user asks to create a chart without specifying a chartType, default to 'columnChart'. When no time range is specified, default to 'currentMonth' (current month). When no timeFieldId is specified, default to 'ctime' (creation time).
Chart generation constraints: choose dimensions from category/time/region fields; avoid pure numeric fields as dimensions. Metrics must be numeric fields or row count ('rowid'); default aggregation should be SUM when the user does not specify one, except row count should use COUNT. Use lineChart for trend analysis and prefer a time dimension with granularity (3=month for normal trends, 1=day or 2=week for short cycles). Use regionMap/worldMap only when a real region/location field exists; do not use ordinary text fields as map dimensions. If available fields do not satisfy the requested chart, choose a more suitable chart type or ask a follow-up instead of creating an invalid chart.
- get_workflow_structure: Fetch the structural snapshot of an existing workflow. approval_block / sub_process do not return internal nodes inline, but return the internal workflow ID in config.process.processId; to view/validate/publish the internal flow of a block, use that processId to call this tool or validate_process / publish_process.
- update_record: Update a row record.
- create_custom_actions: Batch create custom action buttons for a worksheet. Call before create_view, and reference returned actionId in view config.
- reset_public_form_fields: Reset and synchronize public form field layout with current worksheet fields, removing deleted fields. Overwrites custom order, width, and visibility.
- get_record_logs: Get row record logs.
- update_workflow_info: Update basic workflow information (name, description, etc.). Omitted fields remain unchanged.
- get_worksheet_settings: Get complete worksheet settings including basic info, form display, submission behavior, and sharing permissions. Used to read form and advanced configurations beyond worksheet field structures.
- create_chatbot: Create an AI assistant (chatbot) within the application.
- get_worksheet_structure: Get worksheet configuration and its control information.
- delete_optionset: Delete an optionset.
- get_public_form_config: Get the full configuration of a public form for a worksheet, including basic info, theme, field layout, advanced submission settings, enabled state, and public sharing URL.
- get_record_list: Get a list of worksheet records.
- discard_workflow_draft: Discard workflow draft. Discard all unpublished changes in the workflow and restore to the online running version.
- create_app_sections: Batch create application item groups for grouped display of worksheets and custom pages under an application.
- add_member_to_role: Add member information to a role. Data includes: add users, jobs, departments.
- create_business_rule: Create a business rule for a worksheet. Supports 4 rule types: interaction, validation, lock, style.
Interaction Rule
Composed of actions[]. A rule can contain multiple actions. Regular actions use fields[]; setFieldValue actions use assignments[].Style Rule
Sets field title and value styles (color, font size, bold, italic, underline, strikethrough) when conditions are met.Validation Rule
Shows error prompts before submission when conditions are met. Can be configured to block or allow submission.Lock Rule
Locks the current record when conditions are met. Only one lock rule per worksheet. Condition fields only support single-select, multi-select, and checkbox fields.Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"hap-mcp": {
"hap-mcp": {
"type": "streamable_http",
"url": "https://api2.mingdao.com/mcp?HAP-Appkey=ab14bdc682de8bd0&HAP-Sign=OTY0MTczZWE5ZGQxZGIyNjUwNTczNzUyYzk4ZDA5NDNjNGU1YjYxYWMxYzE4YmU2NzkwNGE1NDQ1ZmFkNWUyNQ=="
}
}
}
}
McpServers
{
"hap-mcp": {
"type": "streamable_http",
"url": "https://api2.mingdao.com/mcp?HAP-Appkey=ab14bdc682de8bd0&HAP-Sign=OTY0MTczZWE5ZGQxZGIyNjUwNTczNzUyYzk4ZDA5NDNjNGU1YjYxYWMxYzE4YmU2NzkwNGE1NDQ1ZmFkNWUyNQ=="
}
}
HAP (Super Application Platform) is developed by Mingdao( https://www.mingdao.com )The launched APaaS platform helps you build enterprise level applications quickly without coding. This is HAP's MCP (Model Context Protocol) server, used for seamless integration of AI. It enables every zero code application built through HAP to quickly become a tool for agents.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



