Content
# TableCloth MCP
[](https://github.com/yourtablecloth/TableClothMcp/releases/latest)
[](https://www.npmjs.com/package/tablecloth-mcp)
[](https://www.nuget.org/packages/TableCloth.Mcp)
[](LICENSE-AGPL)
Provides the "Discovery and Safe Execution Environment Handover" layer of TableCloth as an MCP server. It finds and opens the necessary Korean public (e-Gov) or financial site for the user's situation or query, without the hassle of installing security programs, in a clean disposable Windows Sandbox.
The server's role is to reduce the inconvenience caused by security programs and find the appropriate site. It does not perform login, authentication, or actual business automation (RPA), which is done directly by the user.
## Installation
For Claude Desktop, simply install the extension (.mcpb) from the GitHub Release page by dragging and dropping it into the Claude Desktop window or through Settings > Extensions. For other clients, add npx or dnx execution to the MCP settings.
### Claude Desktop Extension (.mcpb)
Download `tablecloth-mcp.mcpb` from the [GitHub Release](https://github.com/yourtablecloth/TableClothMcp/releases/latest) page and install it in Claude Desktop.
### Run with npx (Node users, no .NET required)
As a pure JS package, it works on any OS with Node. Use `@latest` to ensure you get the latest version.
```jsonc
{
"mcpServers": {
"tablecloth": { "command": "npx", "args": ["-y", "tablecloth-mcp@latest"] }
}
}
```
You can also install it globally.
```bash
npm install -g tablecloth-mcp
tablecloth-mcp
```
### Run with dnx (.NET 10 SDK users)
Install and run the NuGet tool package without separate installation.
```jsonc
{
"mcpServers": {
"tablecloth": { "command": "dnx", "args": ["TableCloth.Mcp", "--yes"] }
}
}
```
You can also install it globally.
```bash
dotnet tool install -g TableCloth.Mcp
tablecloth-mcp
```
## Update
The MCP server runs as a process when the client starts and does not update during execution. Therefore, a new version is reflected when the client is restarted.
- What is updated automatically: The catalog (site and policy lists) is retrieved live by the server at runtime, so changes such as new service or policy additions are reflected immediately without updating the server version. Server version updates are only required for code changes or bug fixes.
- npx: Using `@latest` is recommended to ensure you get the latest version. You can also clean the npm cache before updating.
- dnx: If you specify a version, it interprets and retrieves the latest version each time it is executed.
## Tools
| Tool | Description |
| --- | --- |
| `search_services(query, category?, limit?)` | Searches for sites by display name (Korean and English), URL, security package name, and search keywords. |
| `get_service(id)` | Returns detailed information about a specific service (required security packages, compatibility notes, icon URL). |
| `list_categories()` | Returns the number of categories. |
| `list_companions(query?)` | Returns a list of companion programs (common software). |
| `generate_wsb(serviceIds[])` | Generates executable `.wsb` XML text (for all OS). |
| `launch_sandbox(serviceIds[])` | Launches a sandbox immediately. For Windows, it uses Windows Sandbox, and for macOS (Apple Silicon), it uses [macSandbox](https://github.com/yourtablecloth/macSandbox). |
## Example Flow (Year-end Tax Settlement)
1. Search for sites using `search_services("year-end tax settlement")` or `search_services("Home Tax")` to get candidate sites and their IDs.
2. Call `launch_sandbox(["<Home Tax id>"])` to launch a disposable sandbox with the necessary security programs and open the site.
3. The user performs authentication, certificate issuance, and year-end tax settlement inquiry and issuance directly.
## Does not depend on the TableCloth repository
It only consumes publicly available assets at runtime.
| Purpose | Source |
| --- | --- |
| Catalog (site and security package list) | `https://yourtablecloth.app/TableClothCatalog/Catalog.xml` |
| Icons | `https://yourtablecloth.app/TableClothCatalog/images/<id>.png` |
| Sandbox execution assets | GitHub Release `latest/download`'s `tablecloth-prepare.ps1`, `SporkBootstrap_<arch>.exe`, `Spork_<arch>_Portable.zip` |
The generated `.wsb` follows the no-installation Express method (`PARAMETERIZED_WSB_SPEC.md` section 0.5), and site pre-selection is delivered through the `TABLECLOTH_SITE_IDS` environment variable channel.
## Usage tip: Automatically connect with TableCloth skills
To connect to this server by simply talking about a government policy or financial product, install the [`SKILL.md`](SKILL.md) as an Agent Skill. This skill captures the user's behavioral intent (application, registration, access, use) and guides them to use the TableCloth tool to open the official site in a safe sandbox.
## Constraints
- The auto-execution runner for `launch_sandbox` is Windows Sandbox on Windows 11, and [macSandbox](https://github.com/yourtablecloth/macSandbox) on macOS (Apple Silicon). On OSes without a default runner, specify a runner command that takes a `.wsb` path as the first argument in the `TABLECLOTH_WSB_RUNNER` environment variable.
- Actions requiring authentication are not automated.
## Troubleshooting
If you encounter issues, refer to [TROUBLESHOOTING.md](TROUBLESHOOTING.md).
## Release
The version tag (`vX.Y.Z`) triggers a release to multiple platforms.
## Development
There are two implementations, one for each lane, and both consume [`shared/`](shared/) as a single source of truth.
## Privacy Policy
This server does not collect, store, or transmit personal data, conversation content, or usage statistics.
## License
This project is dual-licensed.
- AGPL-3.0-or-later ([LICENSE-AGPL](LICENSE-AGPL)) for open-source use.
- Commercial license ([LICENSE-COMMERCIAL](LICENSE-COMMERCIAL)) for commercial use.