DeepTap MCP Server
Configure iOS Universal Links and Android App Links — and verify they actually work — straight from your coding agent in Claude Code or Codex.
What is the DeepTap MCP?
The DeepTap MCP is a Model Context Protocol server. Once connected, your agent can create a deep-link domain, set up the iOS/Android configuration, and run a pre-flight check on the generated apple-app-site-association and assetlinks.jsonfiles — all through the DeepTap API. It's a hosted, remote MCP server at https://deeptap.io/api/mcp — nothing to install. You connect by signing in from your browser (OAuth); there is no API key to paste. Works from Claude Code, Codex, Claude Desktop and other MCP clients.
Prerequisites
- A DeepTap account (any paid plan or active trial).
- An MCP client that supports remote (HTTP) servers with OAuth — Claude Code, Codex, or Claude Desktop.
1. Add to Claude Code
Run this once — no key required:
claude mcp add --transport http deeptap https://deeptap.io/api/mcpType /mcp in Claude Code and pick deeptap. Your browser opens to sign in to DeepTap and approve access — after that the tools appear and you're connected.
2. Add to Codex
Option A — CLI
codex mcp add deeptap --url https://deeptap.io/api/mcpOption B — config.toml
Add a server table to ~/.codex/config.toml:
# ~/.codex/config.toml
[mcp_servers.deeptap]
url = "https://deeptap.io/api/mcp"On first use Codex opens your browser to sign in and approve access.
3. How sign-in works
- The first time your agent connects, it opens
deeptap.ioin your browser. - Sign in with GitHub or Google (the same login as your dashboard).
- Approve access on the consent screen. The browser hands the connection back to your agent.
- You stay connected — the agent refreshes access automatically, so you only do this once.
Want to disconnect? Revoke access anytime from Dashboard → Settings, or remove the server from your client (claude mcp remove deeptap).
4. What data you'll need
To set up a domain the agent needs the values below. You can paste them into the prompt, or let the agent read them from your project (app.json, Xcode, Gradle) if you give it file access.
| Value | Required | Where to find it |
|---|---|---|
| Subdomain label | Yes | You choose it, e.g. myapp → myapp.deeptap.io |
| iOS Team ID | For iOS | Apple Developer → Membership (10 characters) |
| iOS Bundle ID | For iOS | Xcode target, or app.json |
| Android package name | For Android | applicationId in build.gradle / app.json |
| SHA-256 fingerprint | For Android | ./gradlew signingReport, keytool -list, or Play Console → App integrity |
| Fallback / store URLs | Optional | Where to send users without the app (web, App Store, Play Store) |
5. Example prompts
Paste any of these into Claude Code or Codex:
Set up DeepTap deep links for my app. Create a domain called "myapp".
iOS: team ABCDE12345, bundle com.example.myapp.
Android: package com.example.myapp, SHA-256 fingerprint AA:BB:CC:...
Add fallback URL https://example.com.
Then verify the domain and tell me what's left to do.Read my app.json, then create and configure a DeepTap domain that
matches my iOS bundle id and Android package, and verify it.Verify my DeepTap domain and list any problems with the
apple-app-site-association or assetlinks.json files.Check my DeepTap plan and how many domains I can still create.Available tools
get_account— account, plan, and limitslist_domains— all your domainsget_domain— one domain's config and file URLscreate_domain— create & configure a domainupdate_domain— change iOS/Android settingsverify_domain— pre-flight the AASA & assetlinks files
Every response includes a meta block with your plan, usage, and rate limits, so the agent can tell you when a limit is reached.
- Rebuild & reinstall the app after adding
associatedDomains/ intent filters. - iOS caches AASA aggressively — existing installs can take up to 24h to pick up changes.
- Tap-test on a device:
xcrun simctl openurl booted "https://myapp.deeptap.io/..."/adb shell am start -a android.intent.action.VIEW -d "https://myapp.deeptap.io/..."