Skip to main content
Glama
README.md
# form-auto-mcp

MCP server for Claude Desktop that automates internal system form submissions using Playwright.

## Features

- Read data from Excel/CSV or Google Sheets and auto-fill forms
- Automated menu navigation (menu text click → page transition)
- Label/ID/Placeholder-based form field matching
- Visible mode (browser shown) / Fast mode (background) toggle
- Result report with success/failure counts + screenshots on failure

## Installation

### Prerequisites

- Node.js 18+

### Claude Desktop Configuration

Add to `claude_desktop_config.json`:

- **Mac:** `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`

```json
{
  "mcpServers": {
    "form-automation": {
      "command": "npx",
      "args": ["form-auto-mcp"]
    }
  }
}
```

Restart Claude Desktop. That's it — no clone, no build needed.

### Google Sheets (Optional)

Create a `.env` file:

```
GOOGLE_API_KEY=your_api_key
```

## Usage

In Claude Desktop, provide a site URL and attach an Excel file:

> "https://your-site.com 에 이 엑셀로 폼 입력해줘" (attach file)

### Google Sheets

> "https://your-site.com 에 이 구글 시트로 폼 입력해줘: [sheet URL]"

### Fast mode (headless)

> "빠르게 폼 입력해줘"

## Excel Format

Everything is controlled from the Excel file — menu path, form fields, and save button.

| 메뉴경로 | field1 | field2 | ... | 저장버튼 |
|---------|--------|--------|-----|---------|
| MenuA > SubMenuB | Value1 | Value2 | ... | Submit |

- **메뉴경로** (first column): menu path to click, separated by `>`
- **Form fields** (middle columns): column name = form label, ID, or placeholder on screen
- **저장버튼** (last column): text of the save/submit button to click
- See `templates/test-demoqa.xlsx` for a sample

## Quick Test (demoqa.com)

A sample Excel for [demoqa.com](https://demoqa.com) is included so you can try the automation right away.

**From Claude Desktop:**
> "https://demoqa.com/elements 에 templates/test-demoqa.xlsx 파일로 폼 입력해줘"

**Or from terminal (for developers):**

```bash
git clone https://github.com/jayounglee92/form-auto-mcp.git
cd form-auto-mcp
npm install
npm run build
node test-run.mjs
```

A browser window will open and fill out the Text Box form 3 times in a row.

## License

MIT

TDQS

A3.7/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of confusion. The tool's purpose is clearly defined as running a data-driven form workflow, so an agent can accurately select it without ambiguity.

Naming Consistency5/5

The tool name 'run-workflow' follows a clean verb-noun pattern, which is consistent and readable. Since there is only one tool, no naming conflicts or stylistic inconsistencies exist.

Tool Count3/5

A single tool feels thin for the stated purpose of form automation, which could encompass a broader set of operations. The count is borderline but not extreme, as the tool covers the core workflow directly.

Completeness3/5

The tool addresses the primary task of reading data and filling forms, but there are notable gaps such as listing workflows, checking status, or handling configuration. For a more comprehensive form automation server, additional tools would be expected.

Maintenance

ActivityInactive
ResponsivenessNo issues