# RevCent MCP Guide: `GetSite`

Brief MCP-focused guide for RevCent MCP clients and agents using the `GetSite` operation.

---

## Operation Summary

Operation:

```text
GetSite
```

Purpose:

```text
Retrieve details for a specific RevCent Site.
```

Use `GetSite` when you already have the target Site ID and need authoritative details about that Site.

---

## When to Use

Good uses:

- inspect one Site after `CreateSite`,
- check deployment, health, branch, routing, and catalog status,
- verify the Product Group, Payment Profile, PayPal Account, and Tracking Domain attached to a Site,
- find the dev URL or live routing details,
- determine whether a Site is ready for another operation,
- gather details before adding or removing a Tracking Domain.

---

## Input Schema

`GetSite` requires a path parameter.

```json
{
  "site_id": "XXXXXXXXXXXXXXXXXXXX"
}
```

### Required Fields

| Field | Type | Required | Description |
|---|---:|---:|---|
| `site_id` | `string` | Yes | A 20-character Site ID. |

### Important Schema Rules

- Do not guess the Site ID.
- Use `GetSites` first if the target Site is not known.
- Use exact IDs returned from prior RevCent MCP results whenever possible.

---

## Output Summary

`GetSite` returns a Site object with commerce, catalog, collaborator, branch, and routing details.

Important fields:

| Field | Meaning |
|---|---|
| `id` | Site ID. |
| `name` | Site name. |
| `description` | Site description. |
| `campaign` | Campaign used for Site sale requests. |
| `payment_profile` | Payment Profile used for Site credit card payments. |
| `paypal_account` | PayPal Account used for PayPal payments, if configured. |
| `product_group` | Product Group used as the Site catalog source. |
| `tracking_domain` | Tracking Domain attached to the Site, if configured. |
| `github_repo` | Site repository URL for code, design, business-logic customization, and detailed repository documentation. |
| `collaborators` | Collaborator usernames. |
| `deployment.status` | Overall Site lifecycle status. |
| `deployment.health` | Overall Site health. |
| `deployment.branches.main` | Live branch deployment, commit, and routing details. |
| `deployment.branches.dev` | Development branch deployment, commit, and routing details. |
| `catalog` | Catalog status, last generation time, and product count. |

---

## Status Interpretation

Overall `deployment.status` values:

| Status | Meaning |
|---|---|
| `ready` | The Site is idle and may accept applicable modification operations. |
| `provisioning` | The Site is being created. |
| `updating` | A deployment, catalog, routing, or related change is active. |
| `deleting` | Site removal is active. |
| `recovery_required` | RevCent-side recovery attention is needed before normal changes can continue. |

Overall `deployment.health` values:

| Health | Meaning |
|---|---|
| `healthy` | Current dev and live deployments are healthy. |
| `degraded` | A prior deployment remains available, but a later change failed. |
| `unavailable` | One or more environments have not successfully deployed. |
| `unknown` | Health has not been determined yet. |

Catalog status values:

| Status | Meaning |
|---|---|
| `ready` | The Site catalog is available. |
| `publishing` | The Site catalog is being updated. |
| `deferred` | Catalog publishing is waiting until the Site can receive it. |
| `failed` | The catalog update failed. |

Routing status values:

| Status | Meaning |
|---|---|
| `active` | Routing is active for that branch. |
| `not_configured` | Routing is not configured. |
| `updating` | Routing is being updated. |
| `failed` | Routing update failed. |
| `deleting` | Routing removal is active. |

---

## Branch Guidance

Use `deployment.branches.dev` for development and review context.

Use `deployment.branches.main` for live customer-facing context. Custom domains route to the main branch when configured.

Do not treat dev branch status as live branch status. Always name the branch when summarizing deployment or routing details.

---

## Example Request

```json
{
  "site_id": "XXXXXXXXXXXXXXXXXXXX"
}
```

---

## Recommended Follow-Up

Use returned details to decide the next operation:

- If the Site is still provisioning or updating, wait and call `GetSite` again later.
- If the user asks what happened recently, call `GetSiteEvents`.
- If the user is troubleshooting behavior on a specific branch, call `GetSiteLogs`.
- If the user wants to edit supported Site configuration, call `EditSite`.
- If the user wants to edit Site code, design, page behavior, cart behavior, checkout business logic, offer flow, or custom ecommerce logic, use the Site repository workflow instead of `EditSite`.
- If the user or AI clones the Site repository, read the repository documentation before making code or business-logic changes.
- If the user wants to attach a custom domain, confirm the Tracking Domain and call `AddTrackingDomainToSite`.
- If the user wants to remove custom domain routing, confirm and call `RemoveTrackingDomainFromSite`.
- If the user wants to permanently delete the Site, explain that `DeleteSite` is irreversible and that DNS still pointed at the Site will no longer reach a working RevCent Site.

---

## Best Practices

1. Treat returned IDs and status values as authoritative.
2. Report branch-specific status clearly.
3. Do not claim a custom domain is live unless routing and DNS status support that conclusion.
4. Do not expose unnecessary log or operational details in user-facing summaries.
5. Keep follow-up polling bounded.

---

## Final MCP Instruction

Use `GetSite` whenever the user needs authoritative details about one RevCent Site, especially before routing changes, status summaries, or troubleshooting.


---
Document Parent Directory
* [Operations](https://revcent.com/documentation/markdown/mcp/operation/index.md) - AI/MCP details and overviews for operations available within the RevCent MCP.