# Use your agents from AI clients

> Calls your org's agents from Claude, Claude Code, Cursor or Copilot, and runs them on your own model provider keys.

**Skill for your coding agent:** [`mindset-mcp/SKILL.md`](https://docs.mindset.ai/skills/mindset-mcp/SKILL.md)

Builders work from a coding agent and operators from an AI client, both through the MCP server, or in the Studio. In Mindset, an agent is a prompt and a model, held to an order by a script when needed. It uses connections to outside systems, operations on them, functions and widgets. Every change is a version, and every execution is a run. Every piece sits on one security and compliance layer: the org sets its posture once, and every agent works under it, with the audit trail and, once an admin turns it on, personal data redaction. The platform runs in your own cloud (AWS, GCP or Azure) or is hosted by Mindset. Your app reaches agents through the SDK, your server through the API, and people through the Hub and schedules. Highlighted: Agent, The Hub.

## Connect your client

The `mindset` MCP server lists the agents you can use and hands one a task. Members reach the agents available to them in the Hub. Org admins reach every agent in the environment. Admins also have `mindset-admin` for building and running Mindset itself; see [Start with your coding agent](https://docs.mindset.ai/docs/work-from-claude-code).

### 1. Pick your client

In the Hub, open **Use your agents from your own AI client** and pick your client: Claude Code, Cursor, Copilot (VS Code), Claude Desktop or Claude.ai. ChatGPT isn't supported.

### 2. Paste it in

Paste what it gives you into your client. For Claude.ai and Claude Desktop, add it as a custom connector. On a Claude Team or Enterprise plan, an Owner adds it once for everyone.

### 3. Sign in

Sign in with your Mindset account when the client asks. There's no key or token to copy.

```
List the Mindset agents available to me, then use the invoice exceptions agent on INV-4471.
```

Admins send people the setup message from **Settings → Systems → Connect an AI client → For users**.

## Things to know

- **The agent keeps its own permissions.** Calling it from Claude lets it do no more and no less than in the Hub, and never approves a write. Your org's [compliance rules](https://docs.mindset.ai/docs/compliance) apply as they do everywhere else.
- **The address names one [environment](https://docs.mindset.ai/docs/environments).** If an agent is missing, check which one.
- **Long calls come back as `working`.** The agent carries on in Mindset, but the reply can't be fetched afterward. A call can't be canceled, and a turn gets about four minutes. Longer work belongs on a [schedule](https://docs.mindset.ai/docs/start-it-from-your-server).
- **To carry on a conversation,** the client passes back the `contextId` and replays earlier messages in `history`.

> **Warning:** Don't call an agent again after a `working` reply. That starts a second run, and any writes in it happen twice.

## Model keys

A model key is your org's credential for one provider, set in **Settings → Model keys** by an org admin. There's one per provider per org, covering every environment. On the shared deployment your own agents need one to run. Orca and the builders run on Mindset's keys unless you turn on **Run the built-in agents on our own key**.

| Provider             | You supply                                   |
| -------------------- | -------------------------------------------- |
| Anthropic            | An API key                                   |
| OpenAI               | An API key                                   |
| AWS Bedrock          | A role ARN, an external id and an AWS region |
| Google, open weights | Coming soon                                  |

Mindset checks a key when you save it and never shows it back. **Replace** means typing the whole credential again. **Remove** takes effect at once. On the shared deployment, agents on that provider stop at their next message.

### AWS Bedrock

Mindset never holds an AWS access key. It assumes a role in your account for an hour at a time, under the session name `mindset-bedrock` in CloudTrail.

### 1. Copy the principal ARN

Choose **Set key** on the **AWS Bedrock** row and copy the principal ARN the dialog shows.

### 2. Create the role

In your AWS account, create a role that lets that principal call `sts:AssumeRole` on the condition of an external id you choose, with `bedrock:InvokeModel`, `bedrock:InvokeModelWithResponseStream` and `bedrock:GetFoundationModelAvailability`.

### 3. Enable model access

Enable model access for the Claude models you want, in your region.

### 4. Save the connection

Enter the **Role ARN**, **External id** and **AWS region**, tick the acknowledgement, and choose **Save connection**.

```json
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": { "AWS": "<the principal ARN shown in the Set key dialog>" },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": { "sts:ExternalId": "your-chosen-external-id" }
      }
    }
  ]
}
```

Treat the external id as a credential. Inference then runs on your AWS account in that region, or across its geography for some models, which the row lists. Knowledge search embeddings stay on OpenAI: set your own key, and an optional OpenAI-compatible **Endpoint**, in **Settings → Embedding keys**.

Model keys are available on the EU deployment and on [self-hosted deployments](https://docs.mindset.ai/docs/host-it-yourself). A US deployment is coming.

## Done when

- You listed your agents from inside your client and called one.
- You know a `working` reply means wait, not retry.
- A model key is set and reads **Verified**.
