Skip to main content
Documentation

AI Agents

Let Claude Code, Cursor, or any coding agent set up WarpLink deep links and attribution: connect the MCP server, add the agent kit, and verify the setup.

An AI coding agent can do every WarpLink setup step without you opening the dashboard: register the app, create an SDK key, add the SDK, wire Universal Links or App Links, and check that it all works. This page shows how to connect the agent and what it does.

Connect the MCP server

The WarpLink MCP server is at https://api.warplink.app/mcp. Most clients connect with the URL and a one-time browser sign-in. In Claude Code:

Then run /mcp and choose Authenticate. For CI or other non-interactive use, send an API key as Authorization: Bearer wl_live_.... See AI Access for every client and the full tool list.

Add the agent kit

The agent kit is a skill for Claude Code plus a block for your app's AGENTS.md or CLAUDE.md. It holds:

  • skills/warplink-setup/SKILL.md: the skill. Ask your agent "Set up WarpLink in this app" and it follows the steps below.
  • AGENTS.md: the block to paste into your project, so any agent knows how to work with WarpLink.
  • .mcp.json: the server entry.

Install the kit as a Claude Code plugin. The plugin includes the MCP server entry, so skip the claude mcp add command above:

Or copy skills/warplink-setup into your project's .claude/skills/ folder and keep the server you added above. Use one path or the other, so you do not end up with two server entries.

The AGENTS.md block

Paste this block into your app's AGENTS.md, or into CLAUDE.md for Claude Code:

The setup flow

An agent sets up an app with these tools, in order:

  1. list_apps, then create_app if the project has no app yet.
  2. create_key with type: "sdk" and the app_id. The key is tied to that app. The raw key is shown once.
  3. get_sdk_setup with the app_id and the platform. It returns the install step with the current SDK version, the configure snippet with a YOUR_SDK_KEY placeholder, the link hosts, the iOS Associated Domains lines or the Android intent filter, and the test address.
  4. create_link for the app, with an idempotency_key.
  5. verify_setup with the app_id. It returns ready and a list of checks, each with a status of pass, fail, warn, needs_human, or skipped, and a fix for every check that needs one. The agent applies each fix and calls the tool again. It stops when only needs_human checks remain: a device tap, the first click, the SDK connecting from a real device, claiming the workspace, or the Associated Domains and manifest lines to confirm in your project. The result lists them in needs_human with the exact step, and the agent reports them to you.
  6. Open https://<app host>/test, where <app host> is the app's own link host. The page confirms the host serves the app's link files.

The same steps are available over REST: GET /v1/apps/{id}/sdk-setup and GET /v1/apps/{id}/setup-check.

An SDK key goes only into the mobile app. An API key goes only to the MCP server and the REST API. The MCP server refuses SDK keys with 403 SDK_KEY_ROUTE_FORBIDDEN. Keep both out of source control.

Prompts and resources

Besides tools, the MCP server offers ready-made prompts and read-only resources that an agent or a person can pick from the client.

PromptWhat it asks the assistant to doArguments
weekly_link_reportSummarize how links performed over a period: totals against the previous period, top movers, sources and silent links
days: Days to cover, 1 to 90. Default 7.
find_broken_linksList paused, expired, destinationless and silent links, each with a fix to confirm
days: Days without taps that make an active link silent, 1 to 90. Default 30.
setup_deep_linkingWalk an assistant through the SDK setup of an app and prove it with a setup check
app_id: The ID (a UUID) of the app to set up. Leave empty to pick or create one.
debug_linkFind why one link does not open the app or the page it should
slug_or_url (required): The link's slug or its full short URL, at most 2048 characters.
ResourceWhat it holdsRequired Scopes
warplink://docs/setup-guideThe steps from sign-in to a first tracked tap, with the tool to call at each stepnone
warplink://docs/errorsEvery error code the API and tools return, with what it means and how to fix itnone
warplink://sdk/{platform}Generic install and configure snippets for one platform: ios, android, react-native or flutternone
warplink://apps/{app_id}/setupThe SDK setup steps of one app of the organization, with its hosts and a placeholder for the SDK keyapps:read

Errors an agent can fix

Every error keeps the shape { "error": { "code", "message" } } and, when WarpLink knows the remedy, adds details.fix and details.docs_url. The MCP server returns the same fix in the error text and in structuredContent.error. An agent applies the fix before it retries. See Errors for every code.

Safe retries and previews

  • Idempotency. Send an Idempotency-Key header on POST /v1/links and POST /v1/apps, or pass idempotency_key to the MCP tools create_link and create_app. A retry with the same key and the same request returns the first response with the header Idempotent-Replayed: true. An MCP tool result carries the same marker as _meta["warplink/idempotent_replayed"]: true. The same key with a different request returns 422 IDEMPOTENCY_KEY_REUSED. A retry while the first request still runs returns 409 IDEMPOTENCY_IN_PROGRESS. Keys last 24 hours.
  • Dry run. Add ?dry_run=true to POST /v1/links, POST /v1/apps, and PATCH /v1/links/{id}, or pass dry_run: true to create_link, create_app, and update_link. WarpLink runs every check a real call runs and returns the result it would have saved, without saving anything.

Start with no account

An agent can start before you have a WarpLink account. It calls POST https://api.warplink.app/v1/agent/signup with an agent_name and your email. WarpLink creates a workspace on the Free plan and sends a claim email to that address. The response holds an access token that works on the MCP server.

Until you claim the workspace, the agent can register one app and create up to 10 links, and every link stays paused. Open the claim email, sign in or create an account, and choose Claim workspace. The workspace becomes yours and its links become active. An unclaimed workspace is removed after 7 days. The Agent sign-up API lists the limits and the errors.

Next steps