# Kiro

Configure the Kiro OAuth MCP client with memory:read and knowledge:read scopes.

- Canonical: https://docs.xmemo.dev/docs/mcp/kiro
- Locale: en-US
- Content-Locale: en-US
- Canonical-Content-Digest: d4909d9e38411ede7ea05e3ec5901ce8f46c15b899331e798a304f0ee4535ce8
- Edition-Digest: e7132b91751b881ac045837ab74244b275882c5f08dfda030f9523a274e99899
- Source-Revision: sha256:7b6d1ec0c761a1125d32967392fbf1570fc22b69f78d8536ab784fc160a459df

## Prerequisite

Use Kiro with its MCP settings support. Kiro connects as an OAuth client requesting memory:read and knowledge:read scopes.

- Endpoint: https://xmemo.dev/mcp.
- Auth mode: OAuth client with memory:read and knowledge:read scopes.
- Config file: ~/.kiro/settings/mcp.json.
- Readiness status: Evidence required (planned marketplace, not certified).

## Install / setup

Add the XMemo server block to ~/.kiro/settings/mcp.json under mcpServers, or install automatically using the XMemo client command.

- OAuth client: configure in ~/.kiro/settings/mcp.json.
- Supports OAuth with memory:read and knowledge:read scopes.
- Run npx @xmemo/client mcp add kiro to install automatically.

```bash
npx @xmemo/client mcp add kiro
```

## Set the credential

OAuth path: no static key in settings. Complete browser OAuth consent when Kiro requests access for the memory:read and knowledge:read scopes.

## Generate / confirm XMEMO_AGENT_INSTANCE_ID

Generate a stable non-secret instance identifier per local Kiro install so attribution stays consistent across sessions.

```bash
export XMEMO_AGENT_INSTANCE_ID='<stable-local-kiro-instance-id>'
# Persist and reuse this value for the same local install
```

## Preserve the existing config block

Use the existing Kiro configuration block rendered on this page. It preserves the OAuth scopes and matches the authoritative config installed by @xmemo/client.

## Restart the client

Restart Kiro after updating ~/.kiro/settings/mcp.json so it initiates the OAuth handshake on first request.

## Test with a real recall call

Make the first MCP call read-only. This is an actual recall invocation, not a health-check placeholder, and it does not write memory.

```text
recall({ query: "connection check", limit: 1 })
```

## Expected response (literal shape)

A successful call returns the public ranked text shape below; the reference and content are real values from the authorized memory space.

```text
### XMemo Memory Results:
1. Reference: <opaque-memory-id> | Location: <location>
   > <memory content>
```

## Common Errors

Kiro connects through OAuth; common errors relate to authorization grant or scope approval.

- invalid_grant — the OAuth authorization code is invalid, expired, or already used: reconnect Kiro and re-authorize.
- 403 insufficient_scope — approved scopes do not include memory:read: ensure memory:read and knowledge:read are approved.
- Invalid XMEMO_AGENT_INSTANCE_ID values are normalized to no instance attribution rather than raising an auth error.

## Certification and readiness

Certification status: Evidence required. Marketplace status: Planned. Integration evidence is required before full certification is granted.

- Certification status: Evidence required.
- Marketplace status: Planned.
- Readiness note: See /product/docs#client-capability-matrix; this matches the authoritative config installed by @xmemo/client.

## Kiro

OAuth client: configure in ~/.kiro/settings/mcp.json. Supports OAuth with memory:read and knowledge:read scopes. Run npx @xmemo/client mcp add kiro to install automatically.

```
{
  "mcpServers": {
    "XMemo": {
      "url": "https://xmemo.dev/mcp",
      "headers": {
        "X-Memory-OS-Agent-ID": "kiro",
        "X-Memory-OS-Agent-Instance-ID": "${XMEMO_AGENT_INSTANCE_ID}"
      },
      "oauth": {
        "oauthScopes": [
          "memory:read",
          "knowledge:read"
        ]
      }
    }
  }
}
```
