Set up deep linking with an AI coding agent
Connect your coding agent to the WarpLink MCP server, then ask it to set up WarpLink in your app. It registers the app, creates an SDK key tied to it, reads the exact SDK and link-domain steps, adds them to your project, creates a test link, and runs the setup check until only steps for a person remain.
How it works
Connect the MCP server
In Claude Code, run claude mcp add --transport http warplink https://api.warplink.app/mcp, then run /mcp and choose Authenticate for the one-time browser sign-in. For CI, send an API key as a Bearer header.
Add the agent kit
Install the kit as a Claude Code plugin, or copy its skill into your project. The kit adds a setup skill and a block for your AGENTS.md or CLAUDE.md, so any agent knows how to work with WarpLink.
Ask for the setup
Tell the agent to set up WarpLink in this app. It calls the MCP tools in order and edits your project for the SDK, the Associated Domains entry or the manifest lines.
Let it verify
The agent calls verify_setup after each change. Each check returns pass, fail, warn, needs_human or skipped, and each failing check carries a fix.
Do the steps only a person can do
Tap a test link on a real device, confirm the capability lines in your project, and claim the workspace if the agent signed up for you. The agent lists these as needs_human.
Keep the keys in the right place
An SDK key belongs in the mobile app. An API key goes only to the MCP server and the REST API, which refuses SDK keys.
Connect, then check the setup
# Option 1: the plugin, inside Claude Code. It includes the server entry.
/plugin marketplace add WarpLinkApp/warplink-agent-kit
/plugin install warplink@warplink
/mcp # choose Authenticate
# Option 2: add the server by hand, in your terminal. Then run /mcp and choose Authenticate.
claude mcp add --transport http warplink https://api.warplink.app/mcp{
"tool": "verify_setup",
"input": { "app_id": "3f9a1c2e-6b7d-4e1a-9c2f-8a5b1d0e7c44" },
"output": {
"app_id": "3f9a1c2e-6b7d-4e1a-9c2f-8a5b1d0e7c44",
"ready": true,
"checks": [
{
"id": "well_known_files",
"status": "pass",
"host": "acme.aplnk.to",
"detail": "acme.aplnk.to serves the link files for this app."
},
{
"id": "test_link",
"status": "pass",
"detail": "An active link exists: https://acme.aplnk.to/summer"
},
{
"id": "sdk_connected",
"status": "needs_human",
"detail": "No SDK request has been recorded. Only a real device running the app can send one.",
"fix": "Put the SDK key in the app, call `WarpLink.configure`, then ask the person to start the app on a device with network access.",
"docs_url": "https://warplink.app/docs/quickstart"
}
],
"needs_human": [
{
"id": "sdk_connected",
"detail": "No SDK request has been recorded. Only a real device running the app can send one.",
"fix": "Put the SDK key in the app, call `WarpLink.configure`, then ask the person to start the app on a device with network access."
}
]
}
}What you get
- Linking
- The agent registers the app, creates a test link and checks that the hosted files and the link domain are serving.
- Attribution
- The SDK key it creates is tied to your app, so installs that follow a tap on a WarpLink link, in any channel, are matched to the right app.
- Analytics
- The setup check looks for the first click, and the same agent can read clicks and installs afterwards over MCP.
Common questions
Which agents work?
Any agent that speaks MCP can connect to the server. The kit adds a ready-made skill for Claude Code. Other agents use the AGENTS.md block from the AI agents docs.
Does the agent need my API key?
Not for the browser sign-in. The agent then creates an SDK key tied to your app and writes it into the app's own configuration, not into chat or a committed file.
What is left for me after the agent finishes?
The needs_human list from verify_setup: a tap on a real device, confirming the capability lines in your project, and claiming the workspace if the agent signed up for you.
Can an agent with no account get started?
Yes. It calls POST /v1/agent/signup with the person's email. We email that person a claim link, and the workspace holds one app and ten links until it is claimed.
Does this work for React Native and Flutter?
Yes. The setup steps come from get_sdk_setup for iOS, Android, React Native and Flutter projects.