# "Quickstart: ChatGPT"

Add DSAIL to ChatGPT as a private app through Developer mode, describe one policy, and get a checked result.

The same MCP server claude.ai uses, added to ChatGPT as a private app. Turn a written policy into rules a program can check from a ChatGPT conversation.

## 1. Add the app

Developer mode has to be on once: Settings → **Security and login** → Developer
mode. Then open `chatgpt.com/plugins`, choose **+**, and enter the URL:

```text
https://agents.jaxon.ai/mcp
```

Approve on Jaxon's consent page (one button, no account). The app appears in
the composer's tool menu as `dsail`.

## 2. Describe the policy

Start a conversation with the app enabled and paste the policy in English:

> Turn this into rules a program can check: a purchase order above 25,000 USD
> needs a second approver, and any vendor not on the approved list is refused.

ChatGPT restates the policy and asks you to confirm before writing any DSAIL —
the server instructions require it, and ChatGPT honours them. Confirm; it
compiles and shows the review widget inline.

## 3. Get a result

Enter values in the widget's exercise panel (`30000 USD`, one approver, a listed
vendor) and run the check:

```text
second_approver_over_25k   FALSE   counterexample: amount = 30000 USD, approvers = 1
vendor_approved            TRUE
```

Approve in the widget when the rules say what the policy says. The approval
binds to the exact hash of the source shown.

## Notes specific to ChatGPT

- Rulesets saved from claude.ai and from ChatGPT share one library on this
  deployment, so a ruleset started in one appears in the other.
- The widget calls tools directly on ChatGPT. If the badge **via conversation**
  appears, the widget is handing composed messages to the model instead, and
  the model performs each call; the flow completes either way.
- Directory listing is not yet available; Developer mode is the route in.

Every error carries a `docs` URL to the page that resolves it; see
[Errors](../reference/errors.md). Next: [Quickstart: REST](rest.md) to wire
the same ruleset into a service.
