HAP-MCP

by mingdaocloud

326 downloads Not rated yet
GitHub

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:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name HAP-MCP
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. 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.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.