Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
MCP server for Limelink dynamic links with deep linking, social previews, and UTM tracking
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
LIMELINK_API_KEY, LIMELINK_PROJECT_IDValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"limelink": {
"command": "npx",
"args": [
"-y",
"limelink-mcp-server"
],
"env": {
"LIMELINK_API_KEY": "your-value",
"LIMELINK_PROJECT_ID": "your-value"
}
}
}
}Run this in your terminal
claude mcp add limelink --env LIMELINK_API_KEY=your-value --env LIMELINK_PROJECT_ID=your-value -- npx -y limelink-mcp-serverFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"limelink": {
"command": "npx",
"args": [
"-y",
"limelink-mcp-server"
],
"env": {
"LIMELINK_API_KEY": "your-value",
"LIMELINK_PROJECT_ID": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"limelink": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"limelink-mcp-server"
],
"env": {
"LIMELINK_API_KEY": "your-value",
"LIMELINK_PROJECT_ID": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
LIMELINK_PROJECT_ID envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account hellovelop, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: LIMELINK_API_KEY
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.0.5) reached the registry 9 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, Python MCP
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Local-only Python MCP server for the Files.com API.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
한국어 · 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.
@limelink/mcp; global executable: limelink-mcpSee installation and configuration and network behavior for the complete operational contract.
| Feature | Category | API Key | Description |
|---|---|---|---|
limelink://docs/index | Resource | Not needed | Full documentation index |
limelink://docs/{slug} | Resource | Not needed | 15 individual documentation pages |
list-profiles | Tool | Not needed | List locally configured profile aliases without contacting the API |
list-projects | Tool | Required | List Projects for a selected Organization profile |
list-custom-domains | Tool | Required | List Custom Domains for a selected Project |
create-link | Tool | Required | Create V2 Core Links via API |
get-link-by-suffix | Tool | Required | Look up links by suffix |
get-link-by-url | Tool | Required | Look up links by URL |
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:
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" } } } }
npm install -g @limelink/mcp
{
"mcpServers": { "limelink": { "command": "limelink-mcp", "env": { "LIMELINK_PROFILES_FILE": "/absolute/path/to/limelink-profiles.json" } } } }
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
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)Add the JSON config to your client's config file:
| Client | Config File |
|---|---|
| Claude Desktop (macOS) | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Claude Desktop (Windows) | %APPDATA%\Claude\claude_desktop_config.json |
{"version":1,"defaultProfile":"work","profiles":{"work":{"apiKey":"your_api_key","organizationLabel":"Work","projects":{"marketing":"11111111-1111-4111-8111-111111111111"}}}}
| Variable | Required | Default | Description |
|---|---|---|---|
LIMELINK_PROFILES_FILE | No | — | 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.
list-profilesLists 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-projectsLists Projects in the Organization discovered from the selected profile's credential. Accepts optional profile; the credential requires projects:read.
list-custom-domainsLists Custom Domains for required project (alias or UUID). Accepts optional profile; the credential requires domains:read.
create-linkCreate a V2 Core Link with platform-specific deep linking, Custom Domain selection, social previews, and UTM tracking.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
dynamic_link_suffix | string | No | Short URL path identifier (1–100); API-generated when omitted |
dynamic_link_url | string | Yes | Target URL (max 500) |
dynamic_link_name | string | Yes | Link name (max 100) |
project | string | Yes | Project alias in the selected profile or Project UUID |
profile | string | No | Profile alias; otherwise uses configured default or sole profile |
custom_domain_id | UUID string | No | Custom Domain for the Core Link |
stats_flag | boolean | No | Enable analytics tracking |
apple_options | object | No | iOS deep linking options |
android_options | object | No | Android deep linking options |
additional_options | object | No | Social 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-suffixLook up a dynamic link by its suffix.
| Parameter | Type | Required | Description |
|---|---|---|---|
suffix | string | Yes | Dynamic link suffix |
project | string | Yes | Project alias in the selected profile or Project UUID |
profile | string | No | Profile alias; otherwise uses configured default or sole profile |
get-link-by-urlResolve 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
url | string | Yes | Full LimeLink URL to resolve (max 2048 characters) |
profile | string | No | Profile alias; otherwise uses configured default or sole profile |
limelink://docs/indexReturns 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
git clone https://github.com/hellovelop/limelink-mcp-server.git
cd limelink-mcp-server pnpm install pnpm run build
LIMELINK_PROFILES_FILE=/absolute/path/to/limelink-profiles.json node dist/index.js
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
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
MIT