LinkForty MCP Server
Connects AI assistants like Claude and Cursor to LinkForty deep links and analytics, enabling natural language management of links, analytics, templates, projects, and SDK integration.
README
<div align="center">
LinkForty MCP Server
Connect Claude, Cursor, Claude Code, and any MCP-compatible AI tool to your LinkForty deep links and analytics.
Quick start · Available tools · Configuration · LinkForty
</div>
The official Model Context Protocol server for LinkForty. It exposes 20 tools that let an AI assistant manage your deep links, query analytics, configure workspaces, and even generate ready-to-paste SDK integration code for your mobile apps — all using natural language.
The server supports two transport modes:
- HTTP (recommended) — connect via URL, no local installation needed
- stdio — runs locally as a subprocess of your AI client
What you can do with it
Once connected, you can ask things like:
- "Create a LinkForty deep link for my Spring sale on Instagram with UTM source=instagram, medium=social, campaign=spring-sale"
- "Which links drove the most installs last week?"
- "Show me click trends for my top 5 links over the last 30 days"
- "Why is link xyz123 getting clicks but no installs?"
- "Help me add the LinkForty SDK to my React Native app"
- "Create 50 deep links from this CSV"
The AI calls the appropriate LinkForty API behind the scenes and returns structured results.
Quick start
1. Get your API key
- Sign in to your LinkForty dashboard
- Go to Workspace Settings → API Keys
- Click Create API key, copy the value (starts with
dl_)
Note: API keys are scoped to a single workspace. If you manage multiple workspaces, you can run multiple instances of the MCP server with different keys.
2. Add to your MCP client
Option A: HTTP transport (recommended)
No local installation required — just a URL and your API key.
Claude Desktop — edit your claude_desktop_config.json:
{
"mcpServers": {
"linkforty": {
"type": "http",
"url": "https://mcp.linkforty.com/mcp",
"headers": {
"Authorization": "Bearer dl_your_api_key_here"
}
}
}
}
Cursor — add to Cursor → Settings → MCP Servers:
{
"linkforty": {
"type": "http",
"url": "https://mcp.linkforty.com/mcp",
"headers": {
"Authorization": "Bearer dl_your_api_key_here"
}
}
}
Claude Code:
claude mcp add linkforty --transport http --url https://mcp.linkforty.com/mcp --header "Authorization: Bearer dl_your_api_key_here"
Option B: stdio transport (local)
Runs the MCP server as a local subprocess. Requires Node.js 18+.
Claude Desktop — edit your claude_desktop_config.json:
{
"mcpServers": {
"linkforty": {
"command": "npx",
"args": ["-y", "@linkforty/mcp-server"],
"env": {
"LINKFORTY_API_KEY": "dl_your_api_key_here"
}
}
}
}
Cursor — add to Cursor → Settings → MCP Servers:
{
"linkforty": {
"command": "npx",
"args": ["-y", "@linkforty/mcp-server"],
"env": {
"LINKFORTY_API_KEY": "dl_your_api_key_here"
}
}
}
Claude Code:
claude mcp add linkforty -e LINKFORTY_API_KEY=dl_your_api_key_here -- npx -y @linkforty/mcp-server
3. (Optional) Self-hosted LinkForty Core
If you're running LinkForty Core on your own infrastructure, point the server at your instance.
HTTP transport — host the MCP HTTP server yourself and set LINKFORTY_BASE_URL:
LINKFORTY_BASE_URL=https://your-instance.com/api PORT=3001 npx -y @linkforty/mcp-server-http
stdio transport — set the base URL in the env block:
"env": {
"LINKFORTY_API_KEY": "dl_your_api_key_here",
"LINKFORTY_BASE_URL": "https://your-instance.com/api"
}
Available tools
Links (6)
| Tool | Description |
|---|---|
create_link |
Create a new deep link with iOS/Android/web URLs, UTM, targeting, and more |
list_links |
List/filter links by status, source, project, search query, or date range |
get_link |
Get a single link by ID or short code |
update_link |
Update any field on an existing link |
delete_link |
Permanently delete a link |
bulk_create_links |
Create up to 100 links in one call |
Analytics (5)
| Tool | Description |
|---|---|
get_link_analytics |
Per-link analytics: clicks, geo, devices, time series |
get_overview_analytics |
Workspace-wide analytics across all links |
get_top_links |
Top performing links ranked by clicks |
get_install_attribution |
Install attribution data with fingerprint matching |
get_funnel |
Click → install → event conversion funnel |
Templates (3)
| Tool | Description |
|---|---|
list_templates |
List all link templates |
create_template |
Create a new template with default destinations and UTM |
set_default_template |
Mark a template as the workspace default |
Projects (2)
| Tool | Description |
|---|---|
list_projects |
List all projects in the workspace |
create_project |
Create a new project for grouping links |
Workspace (3)
| Tool | Description |
|---|---|
list_workspaces |
List workspaces accessible by the API key |
get_current_workspace |
Get details about the current workspace |
get_app_config |
Get iOS/Android bundle IDs, schemes, link domains |
SDK helper (1)
| Tool | Description |
|---|---|
get_sdk_install_snippet |
Generate ready-to-paste SDK init code for any platform (react-native, expo, ios, android, flutter) |
Configuration
stdio transport
| Environment variable | Required | Default | Description |
|---|---|---|---|
LINKFORTY_API_KEY |
Yes | — | Your LinkForty workspace API key (starts with dl_) |
LINKFORTY_BASE_URL |
No | https://api.linkforty.com/api |
Override for self-hosted LinkForty Core instances |
HTTP transport
| Environment variable | Required | Default | Description |
|---|---|---|---|
PORT |
No | 3001 |
HTTP server port |
LINKFORTY_BASE_URL |
No | https://api.linkforty.com/api |
Override for self-hosted LinkForty Core instances |
The API key is provided per-request via the Authorization: Bearer header, not as an environment variable. This allows a single HTTP server deployment to serve multiple users and workspaces.
Security and privacy
- No data is stored or logged by the MCP server. It is a stateless translator between MCP requests and LinkForty's REST API. Every tool call is a fresh HTTP request.
- API keys inherit your workspace permissions. The MCP server can only do what your API key has permission to do — there's no privilege escalation.
- API keys are scoped to a single workspace. A key for Workspace A cannot access Workspace B's data.
stdio mode: The MCP server runs locally as a subprocess. Your API key is stored in your local MCP client config and only sent to the LinkForty API.
HTTP mode: Your API key is sent in the Authorization header to the hosted MCP endpoint (mcp.linkforty.com), which forwards it to the LinkForty API. The MCP server does not store, log, or cache API keys.
Development
# Install
git clone https://github.com/linkforty/mcp-server
cd mcp-server
npm install
# Build
npm run build
# Watch mode
npm run dev
# Test stdio transport
LINKFORTY_API_KEY=dl_... node dist/index.js
# Test HTTP transport
node dist/http.js # starts on port 3001
PORT=8080 node dist/http.js # custom port
curl http://localhost:3001/health # health check
License
MIT © LinkForty
Links
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.