MCP server: One MCP server.

Linkly

@linklyhqRun by its publisher: served from their own domain, namespace checked by the registry.MCP server · External

Create and manage short links, track clicks, and automate URL management

Web analyticsv2.0.0MITTypeScript
Freeno charge per call

One address for any MCP client. No sign-in needed on this server.

What it does

12 read12 act1 other

Grouped by tool name. At most: moves money, runs code or commands, deletes data, or sends messages for you.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Tools

25 · grouped by tool name · checked 8 Oct 2026

Read · 12Look things up

  • list_workspaces
  • list_links
  • ping
  • get_link
  • get_clicks
  • get_analytics
  • get_analytics_by
  • export_clicks
  • list_domains
  • search_links
  • list_webhooks
  • list_link_webhooks

Act · 12Change something

  • batchDeleteLinks
  • update_workspace
  • create_link
  • update_link
  • delete_link
  • create_domain
  • delete_domain
  • update_domain_favicon
  • subscribe_webhook
  • unsubscribe_webhook
  • subscribe_link_webhook
  • unsubscribe_link_webhook

Other · 1Neither hinted nor named

  • test_authentication
Try it in the Inspector
README4 min read

Linkly MCP Server

Claude connector directory smithery badge Glama MCP registry

Official Model Context Protocol (MCP) server for Linkly — the URL shortener and link management platform.

This repository powers the hosted MCP server at https://mcp.linklyhq.com. That is the only supported way to connect an AI assistant to Linkly via MCP. See https://linklyhq.com/support/mcp-server for setup instructions.

⚠️ The linkly-mcp-server npm package is deprecated. The self-hosted / API-key flow is no longer maintained. All users should migrate to the hosted server — it uses OAuth 2.1 with PKCE, requires no API keys or local install, and always runs the latest tool set. The npm package will continue to exist on the registry for backwards compatibility but will not receive new tools or bug fixes, and may be unpublished in the future.

Documentation

For full documentation, setup guides, and examples, visit: https://linklyhq.com/support/mcp-server

Features

  • Create, update, and delete short links
  • View click analytics and statistics
  • Manage custom domains and favicons
  • Configure webhooks for click events
  • Search and filter links
  • Export click data

Using the hosted server

Server URL: https://mcp.linklyhq.com

Connect your MCP client to the hosted server and sign in to Linkly when your browser opens. That's it — no API keys, no installation, no config drift.

Claude Desktop

json
{
  "mcpServers": {
    "linkly": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.linklyhq.com"]
    }
  }
}

Claude Code (CLI)

bash
claude mcp add --transport http linkly https://mcp.linklyhq.com

ChatGPT Desktop

json
{
  "servers": {
    "linkly": {
      "type": "url",
      "url": "https://mcp.linklyhq.com"
    }
  }
}

Available Tools

ToolDescription
create_linkCreate a new short link
update_linkUpdate an existing link
delete_linkDelete a link
get_linkGet link details
list_linksList all links in workspace
search_linksSearch links by name, URL, or note
get_analyticsGet time-series click data
get_analytics_byGet clicks grouped by dimension
get_clicksGet recent click data
export_clicksExport detailed click records
list_domainsList custom domains
create_domainAdd a custom domain
delete_domainRemove a custom domain
update_domain_faviconUpdate domain favicon
list_webhooksList workspace webhooks
subscribe_webhookAdd a webhook
unsubscribe_webhookRemove a webhook
list_link_webhooksList link-specific webhooks
subscribe_link_webhookAdd a link webhook
unsubscribe_link_webhookRemove a link webhook

Support

For help and support, visit Linkly Support or email support@linklyhq.com.

Publishing to the MCP Registry (maintainers)

The server.json at the repo root is the official MCP Registry manifest for the com.linklyhq/linkly server. It is remote-only: it points clients at the hosted server and intentionally ships no package (the deprecated npm distribution was dropped in v2.0.0).

Publishing requires DNS access to linklyhq.com — the com.linklyhq namespace is verified via a DNS TXT record on the domain apex:

bash
# 1. Generate an Ed25519 key + TXT record (macOS: use openssl@3; system LibreSSL lacks Ed25519)
openssl genpkey -algorithm Ed25519 -out key.pem
PUBLIC_KEY="$(openssl pkey -in key.pem -pubout -outform DER | tail -c 32 | base64)"
echo "linklyhq.com. IN TXT \"v=MCPv1; k=ed25519; p=${PUBLIC_KEY}\""   # add at the APEX of linklyhq.com

# 2. Authenticate the namespace + publish
PRIVATE_KEY="$(openssl pkey -in key.pem -noout -text | grep -A3 'priv:' | tail -n +2 | tr -d ' :\n')"
mcp-publisher login dns --domain linklyhq.com --private-key "$PRIVATE_KEY"
mcp-publisher publish

See the registry authentication guide for details.

Updating the ChatGPT app (maintainers)

chatgpt-app-submission.json is the OpenAI Apps SDK submission import — it pre-fills the per-tool annotations and the three safety justifications (read-only / open-world / destructive) for all 25 tools, so they don't have to be typed by hand in the dashboard.

OpenAI freezes a metadata snapshot at publish time and does not auto-detect MCP changes, so after deploying server changes you publish a new version:

  1. Deploy the worker (push to the connected branch / wrangler deploy).
  2. Platform dashboard → the Linkly app → create a new draft version (keep the same MCP URL https://mcp.linklyhq.com).
  3. In the MCP section, click Scan Tools to re-read the live tool list + annotations.
  4. Drag chatgpt-app-submission.json onto the form (top of the page) to fill the justifications.
  5. Review Testing, then Submit. The published version keeps running against the live server until the new one is approved.

Keep this file in sync with the worker whenever tools are added/removed or their readOnlyHint/destructiveHint change. The destructive flag is true only for the 5 genuinely destructive tools (delete_link, delete_domain, batchDeleteLinks, unsubscribe_webhook, unsubscribe_link_webhook); creates/updates/subscribes are additive (false).

License

MIT

Similar modules

Browse Web analytics