# Integrate with an AI assistant


Use Claude Code, Codex, Cursor or another AI tool to add Signox licensing to your application. This guide explains how to connect the documentation, request a customer activation flow, and verify actual feature permissions.

The assistant needs the SDK version, real environment inputs and a clear completion condition. Providing the documentation helps it use the actual methods and request fields instead of inventing them.

## Resources for AI tools

| Resource | Purpose | When to use it |
|---|---|---|
| [LLM Quick Reference](/en/start/llm-reference/) | A compact flow model, decision rules and common mistakes. | Provide it at the beginning of an integration. |
| MCP server | Tools for listing documentation and reading complete pages. | Use it for exact method signatures and troubleshooting. |
| [llms.txt](/llms.txt) | An index of documentation titles and paths. | Use it without MCP or register it as a documentation source. |

## Use the LLM Quick Reference

The [LLM Quick Reference](/en/start/llm-reference/) describes `ActivationClient`, customer approval, required inputs and common mistakes. Its compact English contract links to detailed guides when more context is needed.

Send the page URL to the assistant and request its use explicitly:

```text
Read the Signox LLM Quick Reference and Node SDK guide.
Implement browser-based customer activation using SDK 0.3.1.
Do not invent methods or request fields that the documentation does not define.
```

## Connect the MCP server

Model Context Protocol (MCP) lets an AI tool access external context and tools. The Signox documentation MCP is read-only: it does not issue licenses or approve a device for the customer.

Its address is `https://api.signox.kr/mcp`. For a separate evaluation environment, append `/mcp` to the supplied API address. The API address and the customer portal address serve different purposes.

### Add it from a terminal

Run the command for your tool:

```bash
# Codex
codex mcp add signox-docs --url https://api.signox.kr/mcp

# Claude Code
claude mcp add --transport http signox-docs https://api.signox.kr/mcp
```

Start a new session and confirm the documentation tools are available. In Codex, run `codex mcp list` to see registered servers. Consult the [Codex MCP guide](https://developers.openai.com/codex/mcp) or the [Claude Code MCP guide](https://code.claude.com/docs/en/mcp) for additional settings.

### Add it in a configuration file

Codex uses `.codex/config.toml` for a trusted project's configuration:

```toml
[mcp_servers.signox-docs]
url = "https://api.signox.kr/mcp"
```

Claude Code `.mcp.json` and Cursor `.cursor/mcp.json` use the following structure:

```json
{
  "mcpServers": {
    "signox-docs": {
      "type": "http",
      "url": "https://api.signox.kr/mcp"
    }
  }
}
```

VS Code `.vscode/mcp.json` uses `servers` as the top-level key:

```json
{
  "servers": {
    "signox-docs": {
      "type": "http",
      "url": "https://api.signox.kr/mcp"
    }
  }
}
```

### Verify the connection

Ask the assistant to read the Node SDK guide through the Signox MCP server.

| Tool | Arguments | Result |
|---|---|---|
| `list_docs` | Optional `locale: "ko" | "en"`; default `ko`. There is no search-query argument. | Documentation titles and slugs. |
| `read_doc` | Required `slug: string`, such as `sdk/node`; optional `locale`, default `ko`. | The page's complete Markdown source. |

If the connection fails, verify `/mcp`, network access and the configuration's top-level key. Open a new session after changing configuration. If the assistant ignores the tools, explicitly ask it to read the Signox documentation through MCP.

## Use llms.txt

[llms.txt](/llms.txt) lists Signox documentation in a format that AI tools can navigate. [llms-full.txt](/llms-full.txt) includes the page bodies.

Start with the index and have the assistant select the language and scenario it needs. This avoids attaching unrelated material to every request.

```text
Use this Wiki's llms.txt to find the Java SDK and device transfer guides.
Explain same-device recovery versus replacement before implementing the flow.
```

## Request an integration

Provide the language and SDK version, evaluation API URL, product UUID, public-key file path, private persistent state directory, test-license ownership and the required feature code. For disconnected testing, also provide the target OS and access to a supported protected device.

Keep passwords, tokens and private state out of chat and reports. Supply a private input file path where credentials are needed.

### Example task prompt

```text
Add Signox SDK 0.3.1 licensing to a CSV export application.
Read LLM Quick Reference, the language SDK page, its sample, and the activation guides.
Read real evaluation inputs from the provided private file; ask for missing inputs.

Use ActivationClient for browser approval and request/response file exchange.
Customer passwords must be entered only in the customer portal.
Write an actual CSV only when valid and demo_export are both true.

Verify restart with the same state, replacement-device review, altered responses,
a valid license without the required feature, and explicit denial followed by disconnection.
Record each command, exit code, expected result, observed result and local evidence path.
Mark approval waits, unavailable devices and unexecuted checks as pending/not_run, never pass.
Collect questions and answers in a separate file. Preserve the first attempt before proposing improvements.
```

### Example troubleshooting questions

- “I get `STATE_INVALID`. Check whether my state directory changed and explain recovery.”
- “A new device gets `TRANSFER_REQUIRED`. Show the customer request and vendor review sequence.”
- “My license is valid but `demo_export` is false. Check the policy and actual CSV gate.”

## Share a page as Markdown

Choose **Copy Markdown** below the page title to copy its source. If clipboard permission is unavailable, use **Open Markdown** instead.

Replace a page URL's trailing `/` with `.md` to read the source directly. For example, `/en/sdk/node/` has its source at [/en/sdk/node.md](/en/sdk/node.md). This lets the assistant read the explanation without the navigation markup.

Always run the generated code with the actual SDK. Follow [integration verification](/en/guides/integration-checks/) to check both permission decisions and the real business operation.
