mcpField
L
Limelink Mcp Server

Limelink Mcp Server

Local
github.com/hellovelopBusiness & Marketing0Updated 10w ago

About Limelink Mcp Server

Limelink Mcp Server provides MCP access to LimeLink dynamic-link management for users working from MCP clients. Documentation is available without an API key; creating and looking up links requires a configured organization profile.

Key features

  1. 01Read LimeLink documentation resources
  2. 02Inspect configured organization profiles
  3. 03List projects and custom domains
  4. 04Create links with deep-link options
  5. 05Look up links by suffix or full URL

Use cases

  1. 01Read LimeLink integration guides in an AI client
  2. 02Create short links with iOS and Android deep links
  3. 03Set social previews and UTM tracking on links
  4. 04Find a link by suffix or URL

MCP support

The server exposes documentation resources and link-management tools to MCP clients over stdio. Documentation and profile listing work without an API key; API operations require a configured organization profile.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"limelink": {
"command": "npx",
"args": [
"-y",
"limelink-mcp-server"
],
"env": {
"LIMELINK_API_KEY": "<LIMELINK_API_KEY>",
"LIMELINK_PROJECT_ID": "<LIMELINK_PROJECT_ID>"
}
}
}
}
Run commandnpx -y limelink-mcp-server
Environment variables to set
LIMELINK_API_KEYSecretYour Limelink API key for authentication
LIMELINK_PROJECT_IDDefault Limelink project ID (can be overridden per request)

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmlimelink-mcp-server0.0.5

Tools

3

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
project_idstringNoProject ID the link belongs to. Uses LIMELINK_PROJECT_ID env if not provided.
stats_flagbooleanNoEnable analytics tracking
apple_optionsobjectNoiOS-specific deep linking options
apple_options.request_uristringNoDeep link path inside the app
apple_options.application_idstringYesiOS application ID registered in the dashboard
apple_options.not_installed_optionsobjectNo
apple_options.not_installed_options.custom_urlstringYesRedirect URL when the app is not installed
android_optionsobjectNoAndroid-specific deep linking options
android_options.request_uristringNoDeep link path inside the app
android_options.application_idstringYesAndroid application ID registered in the dashboard
android_options.not_installed_optionsobjectNo
android_options.not_installed_options.custom_urlstringYesRedirect URL when the app is not installed
dynamic_link_urlstringYesTarget URL for desktop or fallback
dynamic_link_namestringYesLink name for management and identification
additional_optionsobjectNoSocial preview and UTM tracking options
additional_options.utm_mediumstringNoUTM medium parameter
additional_options.utm_sourcestringNoUTM source parameter
additional_options.utm_campaignstringNoUTM campaign parameter
additional_options.preview_titlestringYesSocial preview title
additional_options.preview_image_urlstringYesSocial preview image URL
additional_options.preview_descriptionstringYesSocial preview description
dynamic_link_suffixstringYesUnique identifier for the short URL path

Details

From the project README

@limelink/mcp

npm version License: MIT

한국어 · Documentation · Capability reference

A Model Context Protocol (MCP) server for LimeLink dynamic link management. Create, look up, and manage dynamic links directly from Claude Code, Claude Desktop, or any MCP-compatible client.

No API key required to get started! Documentation and SDK setup guides work without any configuration. Just connect and start exploring LimeLink features with your AI assistant.

Features

  • Documentation Resources — Access LimeLink docs (15 pages + index) directly from your AI assistant — no API key needed
  • 5 Tools — Discover profiles and Projects, create dynamic links, and look up links (API tools require a configured profile)
  • In-memory Caching — 1-hour TTL cache for documentation fetches
Runtime
  • Node.js 18 or later
  • stdio transport only; Remote MCP/HTTP transport is not supported
  • npm package: @limelink/mcp; global executable: limelink-mcp
  • stdout is reserved for the MCP protocol; diagnostics and wrapper logs must use stderr

See installation and configuration and network behavior for the complete operational contract.

What works without an API key?
FeatureCategoryAPI KeyDescription
limelink://docs/indexResourceNot neededFull documentation index
limelink://docs/{slug}ResourceNot needed15 individual documentation pages
list-profilesToolNot neededList locally configured profile aliases without contacting the API
list-projectsToolRequiredList Projects for a selected Organization profile
list-custom-domainsToolRequiredList Custom Domains for a selected Project
create-linkToolRequiredCreate V2 Core Links via API
get-link-by-suffixToolRequiredLook up links by suffix
get-link-by-urlToolRequiredLook up links by URL

Quick Start

Without API Key (Documentation & Guides)

No API key needed. Connect and start exploring LimeLink documentation and setup guides immediately:

{
  "mcpServers": {
    "limelink": {
      "command": "npx",
      "args": ["-y", "@limelink/mcp"]
    }
  }
}

Try asking your AI assistant:

  • "Read the LimeLink getting-started docs"
  • "How do I set up deep linking for iOS?"
  • "Show me the LimeLink SDK integration guide"
With Organization Profiles (Full Features)

Create the version 1 profile file shown below and pass its absolute path:

{
  "mcpServers": {
    "limelink": {
      "command": "npx",
      "args": ["-y", "@limelink/mcp"],
      "env": {
        "LIMELINK_PROFILES_FILE": "/absolute/path/to/limelink-profiles.json"
      }
    }
  }
}
Usage with Global Install
npm install -g @limelink/mcp
{
  "mcpServers": {
    "limelink": {
      "command": "limelink-mcp",
      "env": {
        "LIMELINK_PROFILES_FILE": "/absolute/path/to/limelink-profiles.json"
      }
    }
  }
}

Configuration

Claude Code

The easiest way to add the MCP server is using the claude mcp add command:

# Without API key (docs & guides only)
claude mcp add --scope user --transport stdio limelink -- npx -y @limelink/mcp

# With API key (full features)
claude mcp add --scope user --transport stdio limelink \
  --env LIMELINK_PROFILES_FILE=/absolute/path/to/limelink-profiles.json \
  -- npx -y @limelink/mcp

Scope options:

  • --scope user — Available in all projects
  • --scope project — Saved to .mcp.json (shareable with team via Git)
Claude Desktop & other MCP clients

Add the JSON config to your client's config file:

ClientConfig File
Claude Desktop (macOS)~/Library/Application Support/Claude/claude_desktop_config.json
Claude Desktop (Windows)%APPDATA%\Claude\claude_desktop_config.json
Profile file
{"version":1,"defaultProfile":"work","profiles":{"work":{"apiKey":"your_api_key","organizationLabel":"Work","projects":{"marketing":"11111111-1111-4111-8111-111111111111"}}}}

Environment Variables

VariableRequiredDefaultDescription
LIMELINK_PROFILES_FILENo—Path to a version 1 JSON file containing named Organization credential profiles.

LIMELINK_API_KEY and LIMELINK_PROJECT_ID are ignored. When no credential profile is configured, API-backed tools direct the agent to Organizations to issue an Organization API key and configure the profile file. Project-backed tools accept a Project UUID directly. A profile's optional projects map is a recommended convenience for repeatedly used Projects, not a prerequisite; add aliases after list-projects discovery if useful. Profiles initialize lazily through credential introspection on their first API-backed call. Profile-file changes, including alias additions, require an MCP server restart.

You can get your API key from the LimeLink Dashboard. Without an API key, documentation resources and SDK setup guides are fully available.

Tools

list-profiles

Lists configured aliases, Organization labels, default status, and current initialization status without contacting the API. Already initialized profiles include scopes. API key values remain secret and are never returned. Organization, Project, Custom Domain and credential identifiers and key prefixes are non-secret identifiers and may appear in API-backed tool responses when useful.

list-projects

Lists Projects in the Organization discovered from the selected profile's credential. Accepts optional profile; the credential requires projects:read.

list-custom-domains

Lists Custom Domains for required project (alias or UUID). Accepts optional profile; the credential requires domains:read.

create-link

Create a V2 Core Link with platform-specific deep linking, Custom Domain selection, social previews, and UTM tracking.

Parameters:

ParameterTypeRequiredDescription
dynamic_link_suffixstringNoShort URL path identifier (1–100); API-generated when omitted
dynamic_link_urlstringYesTarget URL (max 500)
dynamic_link_namestringYesLink name (max 100)
projectstringYesProject alias in the selected profile or Project UUID
profilestringNoProfile alias; otherwise uses configured default or sole profile
custom_domain_idUUID stringNoCustom Domain for the Core Link
stats_flagbooleanNoEnable analytics tracking
apple_optionsobjectNoiOS deep linking options
android_optionsobjectNoAndroid deep linking options
additional_optionsobjectNoSocial preview + UTM options

Example usage in Claude:

"Create a dynamic link for https://example.com/product/123 with suffix 'product-123' and enable analytics"

get-link-by-suffix

Look up a dynamic link by its suffix.

ParameterTypeRequiredDescription
suffixstringYesDynamic link suffix
projectstringYesProject alias in the selected profile or Project UUID
profilestringNoProfile alias; otherwise uses configured default or sole profile
get-link-by-url

Resolve a Link through the V2 API using its full URL. The backend determines whether the URL belongs to a Free default namespace, Project hostname, or active Custom Domain. No Project selector or local suffix parsing is required.

The URL must be absolute HTTPS with exactly one /{suffix} path segment and no query, fragment, explicit port, or credentials.

ParameterTypeRequiredDescription
urlstringYesFull LimeLink URL to resolve (max 2048 characters)
profilestringNoProfile alias; otherwise uses configured default or sole profile

Resources

limelink://docs/index

Returns the full LimeLink documentation index (llms.txt).

limelink://docs/{slug}

Returns individual documentation pages. Available slugs:

introduction, getting-started, project, application, dynamic-link, create-link, link-detail, link-management, appearance, sdk-integration, ios-sdk, android-sdk, api-integration, advanced, llm-agent

Example usage in Claude:

"Read the LimeLink API integration docs"

Claude will access limelink://docs/api-integration

Development

Prerequisites
  • Node.js >= 18
  • pnpm
Setup
git clone https://github.com/hellovelop/limelink-mcp-server.git
cd limelink-mcp-server
pnpm install
pnpm run build
Run locally
LIMELINK_PROFILES_FILE=/absolute/path/to/limelink-profiles.json node dist/index.js
Testing
pnpm test          # Unit tests
pnpm test:e2e      # E2E tests (MCP stdio communication)
pnpm test:watch    # Unit tests in watch mode
pnpm test:coverage # Coverage report
Project Structure
src/
├── index.ts              # Entry point
├── lib/
│   ├── config.ts         # Environment variable loading
│   ├── cache.ts          # In-memory TTL cache
│   ├── api-client.ts     # LimeLink API HTTP client
│   └── doc-fetcher.ts    # Documentation fetcher with caching
├── tools/
│   ├── create-link.ts    # create-link tool
│   ├── get-link-by-suffix.ts
│   └── get-link-by-url.ts
└── resources/
    └── documentation.ts  # Documentation resources

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.