# Install abn

These examples use published, verified artifacts. Keep signing keys on your server.

<span id="install-tab-script"></span><span id="install-panel-script"></span>

## Script tag

The relay is a route on your server. It signs calls as your registered app.

```html
<script src="https://cdn.comms.id/abn/1.2.0.js" integrity="sha384-T4FS2mQJxc4UeyMMOGxgziMbDOm32di0XeOgCwZ0/eHk8UBnsW+L5Ktgj3ux6qFw" crossorigin="anonymous"></script>
<comms-id-abn relay="/api/comms-id/abn"></comms-id-abn>
```

<span id="install-tab-react"></span><span id="install-panel-react"></span>

## React

```sh
pnpm add @comms-id/abn-react@0.2.2 @comms-id/abn@0.4.0
```

```tsx
import { createAbnBrowserClient } from "@comms-id/abn/browser";
import { AbnAutocomplete } from "@comms-id/abn-react";

const client = createAbnBrowserClient({ relayUrl: "/api/comms-id/abn" });
export const Example = () => <AbnAutocomplete client={client} />;
```

<span id="install-tab-sdk"></span><span id="install-panel-sdk"></span>

## Server SDK

```sh
pnpm add @comms-id/abn@0.4.0
```

```ts
import { createAbnClient } from "@comms-id/abn/server";
const client = createAbnClient({
  clientId: process.env.COMMS_ID_CLIENT_ID!,
  privateJwk: JSON.parse(process.env.COMMS_ID_PRIVATE_JWK!),
});
```

See the operation reference for request, response and command-line examples.

<span id="install-tab-relay"></span><span id="install-panel-relay"></span>

## Relay

Install the server relay into your relying-party app:

```sh
pnpm dlx comms-id add abn-relay
```

<span id="install-tab-api"></span><span id="install-panel-api"></span>

## Agent tools

Product tools are served at https://mcp.comms.id. The documentation MCP serves
documentation only; it does not execute product operations.

## Operations

### suggest

[Read the suggest API reference](/docs/reference/abn/abn/abn-suggest).

### lookup

[Read the lookup API reference](/docs/reference/abn/abn/abn-lookup).

## Upgrading

[Upgrade guide](/docs/reference/abn/upgrade).
