DeepLinkNow MCP Server
OfficialDeepLinkNow MCP server helps coding agents add and manage deferred deep linking, inspect link-domain setup, and plan migrations.
Get platform-specific setup guides and code for iOS, Android, React Native, Expo, or Flutter (
get_setup_guide).Search the full DeepLinkNow documentation for topics like error codes, options, plan limits, or configuration (
search_docs).Check any domain’s Universal Links/App Links setup via AASA, Apple CDN, assetlinks.json, Google verdict, and ad-block list status (
check_domain).Explain deferred deep link fingerprint match confidence scores, quality, and
minConfidencechoices (explain_match_result).Plan and generate code diffs to migrate from Firebase Dynamic Links, Branch, AppsFlyer, or Adjust (
migrate_from).List existing app links with search, campaign filter, and paging using a private API key and paid plan (
list_links).Create links with custom paths, link-page text, social previews, metadata, or campaigns using a private API key and paid plan (
create_link).Access bundled docs resources (
deeplinknow://llms.txt,deeplinknow://docs/{page}) and prompts for adding deferred deep linking or migrating.
Checks whether a link domain or its CNAME chain appears on AdGuard block lists, helping identify domains that may be blocked.
Provides setup steps and code for adding deferred deep linking to Android apps, including App Links configuration and assetlinks.json validation.
Validates Universal Links setup by checking apple-app-site-association and Apple's CDN copy for a domain.
Provides setup steps and code for adding deferred deep linking to Expo apps.
Provides a migration plan and code diff for moving from Firebase Dynamic Links to DeepLinkNow.
Provides setup steps and code for adding deferred deep linking to Flutter apps.
Checks assetlinks.json and Google's Digital Asset Links API verdict to validate Android App Links setup.
Provides setup steps and code for adding deferred deep linking to iOS apps, including Universal Links configuration.
Provides setup steps and code for adding deferred deep linking to React Native apps.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@DeepLinkNow MCP Server add deferred deep linking to my React Native app"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@deeplinknow/mcp
The DeepLinkNow MCP server. It lets coding agents (Claude Code, Cursor, VS Code, Windsurf and any other MCP client) add deferred deep linking to an iOS, Android, React Native, Expo or Flutter app, check a link domain's Universal Links and App Links setup, and migrate from Firebase Dynamic Links, Branch, AppsFlyer or Adjust.
DeepLinkNow does deep linking only: Universal Links and App Links on your domain, and deferred deep links that survive an install. No attribution, ad tracking or advertising IDs. Any path on your link domain already works as a deep link.
Tools
Tool | Needs a key | What it does |
| No | Setup steps and code for |
| No | Searches the full DeepLinkNow docs and returns the matching sections with links |
| No | Checks a domain's |
| No | Explains a fingerprint match's |
| No | A migration plan and code diff from |
| Private key, paid plan | Lists the app's links (dashboard, API and on-demand), with search and paging |
| Private key, paid plan | Creates a link with a custom path, link-page text, social preview, metadata or campaign |
It also exposes deeplinknow://llms.txt and deeplinknow://docs/{page} as resources, and two prompts: add_deferred_deep_linking and migrate_to_deeplinknow.
Related MCP server: deeptap-mcp
Install
Requires Node.js 20 or later. The server runs locally over stdio.
One click, no key needed:
Claude Code, one line:
claude mcp add deeplinknow -- npx -y @deeplinknow/mcpThe docs, setup and domain-check tools work without an account or key. Add a private key only for list_links and create_link (see the per-client configs below). More on deeplinknow.com/docs/mcp.
Try it
Once it's installed, ask your agent:
"Use DeepLinkNow to add deferred deep linking to this Expo app. Our link domain is myapp.deeplinknow.com."
"Check whether links.example.com's AASA and assetlinks.json files are set up correctly."
"We use Firebase Dynamic Links. Plan our move to DeepLinkNow for this app."
"A DeepLinkNow match came back MEDIUM with a score of 58. Should we route it?"
Claude Code
claude mcp add deeplinknow -- npx -y @deeplinknow/mcpWith the link tools (--scope user keeps the key out of the project's .mcp.json):
claude mcp add deeplinknow --scope user --env DEEPLINKNOW_API_KEY=YOUR_PRIVATE_KEY -- npx -y @deeplinknow/mcpCursor
Add to .cursor/mcp.json in the project, or ~/.cursor/mcp.json for every project:
{
"mcpServers": {
"deeplinknow": {
"command": "npx",
"args": ["-y", "@deeplinknow/mcp"],
"env": { "DEEPLINKNOW_API_KEY": "${env:DEEPLINKNOW_API_KEY}" }
}
}
}Leave out env if you don't need the link tools.
VS Code
Add to .vscode/mcp.json. VS Code asks for the key once and stores it securely:
{
"inputs": [
{
"type": "promptString",
"id": "deeplinknow-api-key",
"description": "DeepLinkNow private API key (dln_priv_…), only for list_links and create_link. Leave empty otherwise.",
"password": true
}
],
"servers": {
"deeplinknow": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@deeplinknow/mcp"],
"env": { "DEEPLINKNOW_API_KEY": "${input:deeplinknow-api-key}" }
}
}
}Windsurf
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"deeplinknow": {
"command": "npx",
"args": ["-y", "@deeplinknow/mcp"],
"env": { "DEEPLINKNOW_API_KEY": "YOUR_PRIVATE_KEY" }
}
}
}Leave out env if you don't need the link tools. This file is in your home directory, so the key isn't committed with your project.
Other clients
Any MCP client that runs stdio servers: command npx, arguments -y @deeplinknow/mcp.
Configuration
Variable | Default | Meaning |
| unset | Your app's private key ( |
|
| API base URL. Must be https (http only for localhost). |
Never put the private key in your app: the app uses the public key (dln_pub_…). The server never prints, logs or returns the key; it only sends it in the x-api-key header to the API.
Tell your agent about it
Paste AGENTS.md into your repo's AGENTS.md or CLAUDE.md so every agent session knows how to use DeepLinkNow.
Privacy Policy
What it sends, and where.
get_setup_guide,search_docs,migrate_fromand the resources fetch public docs fromhttps://deeplinknow.com.check_domainfetches onlyhttps://<the domain you give it>/.well-known/…, Apple's CDN (app-site-association.cdn-apple.com), Google's Digital Asset Links API and the four public block lists; it refuses domains that resolve to private or local addresses.list_linksandcreate_linksend your API key and the link fields you give them to the DeepLinkNow API.explain_match_resultmakes no requests.What it stores. Nothing on disk. Docs, block lists and check results are cached in memory while the server runs (docs for an hour, block lists for a day, domain results for 5 minutes).
No telemetry. The server collects no usage data and has no analytics.
DeepLinkNow's own data handling is in the privacy policy. Questions: deeplinknow.com.
Develop
pnpm install
pnpm test # vitest, network mocked
pnpm typecheck
pnpm lint # Ultracite (Biome)
pnpm build # dist/, runnable with node dist/index.js
pnpm smoke # starts dist/index.js over stdio and lists the toolsThe spec, with requirement IDs (MCP-…) that the tests cite, is docs/sdks/mcp.md in the DeepLinkNow repository.
License
MIT
Available Tools
7 toolscheck_domainCheck a deep link domainARead-onlyIdempotent
Checks a link domain the way iOS and Android will: the apple-app-site-association file (and Apple's CDN copy), the assetlinks.json file (and Google's Digital Asset Links verdict), and whether the domain or its CNAME chain is on the EasyPrivacy or AdGuard block lists that ad blockers use. Works for any domain, not only DeepLinkNow's. Runs on this machine: it fetches only https:///.well-known/*, Apple's CDN, Google's API and the block lists, and refuses domains that resolve to private addresses.
Inputs: domain (required), checks.
create_linkCreate a DeepLinkNow linkA
Creates a link in the app that DEEPLINKNOW_API_KEY (a private key) belongs to, with an optional custom path, link-page title and button texts, social preview, metadata and campaign. Creating links is optional: any path on the link domain already works. Use this for a custom preview or to group links in a campaign. Counts toward the plan's link limit. Needs a paid plan with management API access.
Inputs: target_url (required), title, metadata, subtitle, +7 more.
explain_match_resultExplain a deferred deep link matchARead-onlyIdempotent
Explains a DeepLinkNow fingerprint match: what confidence_score and match_quality (HIGH/MEDIUM/LOW) mean, which components (IP 40, device 30, time 20, locale 10) scored and why, and how to choose the SDK's minConfidence threshold. Pass the /sdk/match JSON, a DeferredDeepLink, or just a score. Works offline.
Inputs: result, source, confidence_score.
get_setup_guideGet the DeepLinkNow setup guideARead-onlyIdempotent
Step-by-step setup and code for adding DeepLinkNow deferred deep linking to an iOS, Android, React Native, Expo or Flutter app: dashboard settings, SDK install, Associated Domains / App Links, initialize, checkDeferredDeepLink and handling links that open the installed app. Fetched live from deeplinknow.com's markdown docs, with a bundled copy when offline. Call this before writing integration code.
Inputs: platform (required).
list_linksList DeepLinkNow linksARead-onlyIdempotent
Lists the deep links of the app that DEEPLINKNOW_API_KEY (a private key) belongs to, newest first, with their short URLs: links created in the dashboard or API, and on-demand links created when a path was first visited. Optional text search, campaign filter and paging. Needs a paid plan with management API access.
Inputs: page, limit, query, offset, +2 more.
migrate_fromPlan a migration to DeepLinkNowARead-onlyIdempotent
A concrete plan and code diff for moving an app's deep linking from firebase-dynamic-links, branch, appsflyer, adjust to DeepLinkNow, for one platform: how to find the current integration, set up DeepLinkNow, map existing links, replace the code and verify. Attribution isn't migrated: DeepLinkNow does deep linking only.
Inputs: source (required), platform (required).
search_docsSearch the DeepLinkNow docsARead-onlyIdempotent
Keyword search across DeepLinkNow's full documentation (SDK docs for iOS, Android, React Native and Flutter, the integration checklist, pricing and comparisons). Returns the best-matching sections with their page URLs. Use it for specific questions such as error codes, options, plan limits or the paste prompt.
Inputs: query (required), max_results.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 7 tools
Each tool targets a clearly distinct task: setup guide, keyword doc search, domain validation, fingerprint match explanation, migration planning, and link list/create. The only potential overlap between get_setup_guide and search_docs is resolved by their descriptions (guided integration vs. specific keyword lookup).
All names use snake_case with a leading verb, and most follow a verb_noun pattern. migrate_from is the lone deviation (verb + preposition rather than verb + noun), but it remains predictable and readable.
Seven tools is well-scoped for a server covering integration guidance, diagnostics, migration, and link management. Each tool earns its place without redundant utility operations.
Core integration workflows (setup, docs, domain checks, match explanation, migration) are covered. Link management is incomplete: create and list exist, but update and delete operations are missing, leaving a notable CRUD gap for the advertised management API.
Maintenance
Related MCP Connectors
Link infrastructure for developers and AI agents: deep links, attribution, real-time analytics.
Create, search and pause deep links; QR codes; analytics, taps, events; domains; webhooks.
Create branded short links and QR codes, and pull click analytics by country, device and referrer.
Affiliate & creator referral programs for mobile apps: SDK setup, campaigns, creators, analytics.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables AI assistants to manage ULink deep linking projects, including creating smart links, configuring domains, and viewing analytics.24122 npmMIT
- AlicenseAqualityDmaintenanceMCP server to configure and verify iOS Universal Links and Android App Links via DeepTap API, enabling coding agents to manage deep-link domains.65 npmMIT
- AlicenseCqualityBmaintenanceIt enables AI agents and command-line users to manage short links, analytics, conversions, partner workflows, commissions, payouts, and private workspace profiles with explicit write controls and exact reviewed batch submissions.6117 npmAGPL 3.0

esyURL MCP serverofficial
AlicenseNot gradedqualityCmaintenanceEnables AI agents to create, update, organize, and delete short links; render styled QR codes; route visitors by device or country; and read click and scan statistics. Agents can also manage groups and custom domains while changing destinations without breaking printed QR codes or shared short URLs.MIT