# Mingdao Cloud MCP

> Mingdao Cloud connects your AI agent to an enterprise hyper-application platform, giving it direct read/write access to complex worksheets and records. Instead of clicking through dozens of tabs, your agent instantly lists available apps (`list_worksheets`), retrieves schemas (`get_worksheet_schema`), finds specific rows, or updates data across different internal systems. It’s a way to treat structured business data like it's just another conversational topic for your AI client.

## Overview
- **Category:** productivity
- **Price:** Free
- **Tags:** no-code, workflow-automation, business-process, data-orchestration, enterprise-apps, worksheet-management

## Description

Forget clicking through a dozen tabs just to read some data. Mingdao Cloud connects your AI agent straight into the back end of your enterprise hyper-application platform. You give your agent direct read and write access to complex worksheets and records, letting it treat structured business data like any other conversational topic. It’s an operations layer that bypasses the UI entirely.

To get started, you can ask the system what applications are connected by calling `list_worksheets`, which instantly lists every available worksheet or table. If you need a high-level overview of the whole setup, use `get_app_info` to pull a summary of the entire connected application's metadata.

When you need to know how the data is organized, you don't have to guess. The agent uses `get_worksheet_schema` to return the exact field schema for any specific worksheet, telling you precisely what columns exist and what type of data they hold. This lets your AI client understand your structure instantly.

To read records, you can first run `list_rows` against an entire sheet; this fetches a summary list of all records, perfect for grabbing IDs or quick overviews. If you know the ID of a specific row, calling `get_row_details` pulls every piece of data associated with that single record. For managing user access, you can call `list_users` to get a full roster of accounts and their access rights across the application.

When it comes time to modify data—the Create, Read, Update, Delete cycle—your agent has full control. If you need new information entered, running `add_row` lets you drop a brand new record into a specified worksheet. Need to change something? You use `update_row` to modify the values in an existing record without touching anything else. And if data gets stale or obsolete, `delete_row` removes that specific record from the sheet.

Beyond just managing tables, your agent can audit the underlying business logic. You call `list_workflows` to get a list of all automated workflows—the processes running in the background that keep things moving. This gives you visibility into what kind of operations are happening without manual intervention. Essentially, this server transforms structured data access from a painful UI exercise into a direct conversation for your AI agent.

## Tools

### add_row
Adds a brand new record to a specified worksheet.

### delete_row
Removes an existing record from a worksheet.

### get_app_info
Retrieves a high-level summary of the entire connected application.

### get_row_details
Pulls all detailed data for a specific record, given its ID.

### get_worksheet_schema
Returns the field schema (column names and types) for any worksheet in the application.

### list_rows
Fetches a list of records from an entire worksheet, usually used to get IDs or summaries.

### list_users
Lists all user accounts associated with the application for management purposes.

### list_workflows
Retrieves a list of automated business workflows that are currently defined and running.

### list_worksheets
Lists every available worksheet (table) within the connected application.

### update_row
Modifies the data in an existing record with a new set of values.

## Prompt Examples

**Prompt:** 
```
List all worksheets in my application.
```

**Response:** 
```
I've retrieved the worksheets for your application. You have 5 active tables, including 'Customer Leads', 'Orders', and 'Product Inventory'. Which one would you like to view data for?
```

**Prompt:** 
```
Show me the last 3 rows from the 'Orders' worksheet.
```

**Response:** 
```
I've listed the last 3 rows from the 'Orders' worksheet. They include Order #8821, #8822, and #8823. Would you like to see the detailed field data for any of these orders?
```

**Prompt:** 
```
What are the automated workflows defined in this application?
```

**Response:** 
```
I've found 4 active workflows: 'New Lead Notification', 'Order Fulfillment Sync', 'Weekly Report Generator', and 'Inventory Alert'. Would you like more details on any specific workflow?
```

## Capabilities

### Read Worksheet Structure
Retrieves the exact field schema for any worksheet, letting you know what columns are available and their data types.

### Manage Records (CRUD)
Performs full Create, Read, Update, and Delete operations on individual records within a specified worksheet.

### List Business Applications
Identifies all connected worksheets and overall application metadata available for the AI agent to interact with.

### Discover Workflows
Lists existing automated business workflows, allowing you to understand what processes are running in the background.

### Audit User Access
Retrieves a list of application users and their associated access rights for management purposes.

## Use Cases

### Need to audit a specific project status.
A manager needs to know if Project Alpha has been assigned. Instead of asking an admin, they prompt their agent: 'What is the status of Project Alpha?' The agent uses `list_worksheets` to find the 'Projects' table, and then calls `get_row_details` using the project ID. It returns a single answer, skipping all the manual dashboard navigation.

### Data entry needs to happen quickly.
A sales rep closes a deal and needs to log it immediately. They tell their agent: 'Add a new lead for Acme Corp with $50k in revenue.' The agent uses `add_row`, correctly mapping the text prompt into structured data fields, ensuring the record is created accurately without human error.

### A piece of data needs fixing.
The finance team finds that a row's revenue amount was mistyped. They ask their agent to fix it. The agent first uses `list_rows` to confirm the ID, then calls `update_row`, making sure only the 'Revenue' field changes while leaving all other data intact.

### Discovering system limitations.
A developer needs to know if a new column is possible. They ask their agent: 'What fields are available in the Inventory sheet?' The agent doesn't guess; it runs `get_worksheet_schema` and hands back the official list of field names, preventing them from building faulty code.

## Benefits

- Stop manual data checks. By using `list_rows` and then `get_row_details`, your agent can pull specific records from a worksheet, eliminating the need to manually cross-reference multiple tabs in a spreadsheet just to find one piece of information.
- Avoid guesswork on data structure. Before writing any code or asking for an update, call `get_worksheet_schema`. This tells you the exact field names and types (like 'date' vs. 'string'), guaranteeing your subsequent calls using `add_row` or `update_row` won't fail.
- Understand what's running in the background. Need to know why a record changed? Use `list_workflows` to see all defined automation logic, giving you visibility into how the data moves without needing admin access to the underlying workflow editor.
- Manage users and permissions easily. The `list_users` tool lets your agent pull an overview of who is in the system. This saves time for IT admins who otherwise have to navigate separate user management modules just to check credentials or roles.
- Streamline record maintenance. Instead of logging into five different systems, you use `update_row`. You give the AI client the ID and the new data point, and it handles making sure that single record is current across all necessary sheets.

## How It Works

The bottom line is that it turns complex, multi-layered internal web applications into simple functions your AI client can call.

1. You first subscribe to the Mingdao Cloud server, inputting your App Key and Secret credentials.
2. Your AI client then calls a function (like `list_worksheets` or `get_app_info`) to discover what data is available in your enterprise system.
3. Finally, you issue commands like 'Add a new record for John Doe' which the agent translates into specific tool calls (`add_row`, providing all necessary parameters).

## Frequently Asked Questions

**How do I find out what columns are in the worksheets using get_worksheet_schema?**
You call `get_worksheet_schema` and pass it the name of the worksheet. The tool returns a structured list that details every column name, its data type (like string or integer), and whether it's required for new records.

**Does add_row require me to know all field names?**
Yes. When calling `add_row`, you must provide values for every required field. Before you do that, run `get_worksheet_schema` first to ensure you have the exact, current list of column headers.

**Can I check if a user has permission using list_users?**
Yes. The `list_users` tool retrieves all active application users. While it shows who is in the system, you can use that data to determine which accounts need access or management attention.

**How do I know what kind of workflows exist? Use list_workflows.**
Running `list_workflows` gives you a name and description for every automated workflow defined in the system. This lets you audit business logic without ever touching the underlying configuration UI.

**When I use list_rows, how does it handle worksheets with thousands of records?**
The tool handles pagination automatically. It doesn't return every record at once; your AI client manages chunking behind the scenes. You process the data in manageable batches so you don't run into API limits.

**If I use delete_row, is there a way to confirm or undo the deletion?**
No, deletion via this server is immediate and permanent. The tool requires a specific row ID for execution, so you must be 100% sure of the record before calling it.

**How do I make sure that update_row modifies the correct record?**
You absolutely need to provide a unique identifier (like a primary key or row ID). The server won't guess which record you mean, so always use list_rows first to grab the exact ID.

**What kind of high-level information does get_app_info give me?**
This tool gives a summary of your entire connected application. It's like checking the system's health dashboard, letting you know the overall capabilities and structure before diving into specific sheets.

**How do I find my Mingdao App Key and Sign?**
In your Mingdao application, click the [Application Name] in the top navigation, then go to [API Developer Docs] → [Application Authorization]. You will find your App Key and Sign (App Secret) there.

**What is a 'Worksheet' in Mingdao Cloud?**
A Worksheet is the primary data storage unit in Mingdao Cloud, similar to a database table or a sheet in Airtable. You can manage rows within these worksheets using the provided tools.

**How do I format the 'controls' data for adding a row?**
The `controls` parameter should be a JSON array of objects, where each object has a `controlId` and a `value`. For example: `[{"controlId": "field_1", "value": "Hello"}]`.