# Install logo

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/logo/1.1.0.js" integrity="sha384-sykE/gxzhqEgrw4lZ1vJufbk7Zwt52nwOC4sumNFhNCoQrGHgKBf1e5nJ+xSDR4S" crossorigin="anonymous"></script>
<comms-id-logo relay="/api/comms-id/logo" site="example.com"></comms-id-logo>
```

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

## React

```sh
pnpm add @comms-id/logo-react@0.2.1 @comms-id/logo@0.3.1
```

```tsx
import { createLogoBrowserClient } from "@comms-id/logo/browser";
import { LogoImage } from "@comms-id/logo-react";

const client = createLogoBrowserClient({ relayUrl: "/api/comms-id/logo" });
export const Example = () => <LogoImage client={client} site="example.com" />;
```

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

## Server SDK

```sh
pnpm add @comms-id/logo@0.3.1
```

```ts
import { createLogoClient } from "@comms-id/logo/server";
const client = createLogoClient({
  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 logo-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

### resolve

[Read the resolve API reference](/docs/reference/logo/logo/logo-resolve).

## Upgrading

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