Implement S7 operator connect helpers for SaaS and channels.
Add dry-run-default connect dispatcher and per-integration scripts with gitignored local capability state, docs, and unit tests. Mutations require --apply and use nemohermes/openshell only.
This commit is contained in:
@@ -1,8 +1,48 @@
|
||||
# Square
|
||||
|
||||
**Status:** Outline. Design: [design/mcp-integrations.md](../../design/mcp-integrations.md).
|
||||
**Status:** Connect script implemented. Design: [design/mcp-integrations.md](../../design/mcp-integrations.md).
|
||||
|
||||
- **Agent path:** remote Square MCP.
|
||||
- **Allow:** bookings, customers, catalog, inventory/location reads.
|
||||
- **Deny:** payments, refunds, cards, checkout, payouts.
|
||||
- **Connect:** operator `scripts/connect/connect-square.sh` (build) + owner browser OAuth.
|
||||
- **Agent path:** remote Square MCP (`mcp.squareup.com`).
|
||||
- **Allow:** bookings, customers, catalog, inventory/location reads.
|
||||
- **Deny:** payments, refunds, cards, checkout, payouts.
|
||||
- **Connect:** operator `scripts/connect/connect-square.sh` + owner browser OAuth.
|
||||
|
||||
## Connect procedure
|
||||
|
||||
```bash
|
||||
# Preview (default)
|
||||
./scripts/connect.sh square --dry-run
|
||||
|
||||
# Execute (prompts for access token)
|
||||
./scripts/connect.sh square --apply
|
||||
```
|
||||
|
||||
### What the script does
|
||||
|
||||
1. **Dry-run:** Shows MCP URL, allowed/denied tools, and step-by-step procedure.
|
||||
2. **Apply:**
|
||||
- Prompts for Square OAuth access token (read scope).
|
||||
- Stores token via `openshell provider set square-access-token`.
|
||||
- Registers MCP server URL via `nemohermes config set`.
|
||||
- Applies tool allowlist (read-only) and denylist (payment tools).
|
||||
- Records status in `.local/capability_state.json`.
|
||||
|
||||
### Owner steps (browser only)
|
||||
|
||||
1. Create a Square application at [developer.squareup.com](https://developer.squareup.com).
|
||||
2. Generate an OAuth access token with read-only scope.
|
||||
3. Provide the token to the operator.
|
||||
|
||||
### Tool filters
|
||||
|
||||
| Allowed (read) | Denied |
|
||||
|----------------|--------|
|
||||
| `bookings/list_bookings` | `payments/*` |
|
||||
| `bookings/get_booking` | `refunds/*` |
|
||||
| `customers/list_customers` | `cards/*` |
|
||||
| `customers/get_customer` | `checkout/*` |
|
||||
| `catalog/list_catalog` | `payouts/*` |
|
||||
| `catalog/search_catalog_objects` | |
|
||||
| `inventory/list_inventory` | |
|
||||
| `locations/list_locations` | |
|
||||
| `locations/get_location` | |
|
||||
|
||||
Reference in New Issue
Block a user