model context protocol · 2025-11-25 and 2025-06-18

A shortener your agent can actually drive

Most MCP integrations are a wrapper: an npm package you install locally, holding an API key, translating tool calls into HTTP. c1k.me skips that layer. The service itself speaks MCP over HTTPS at a per-organization URL, so connecting an assistant means pasting one address and approving a consent screen.

https://c1k.me/mcp/<org_id>
Nothing to install

No npm package, no Python shim, no local process to keep alive and no stdio bridge to debug. If your client can reach an HTTPS URL, it can use c1k.me.

Scoped consent, not a pasted key

Authorization code with PKCE S256. You pick the organization and see the exact scopes on the consent screen. Revoke from the integrations page and the next call fails.

Agents cannot see what they may not use

The tool list is filtered by your granted scopes. A read-only connection is never even told that a delete tool exists, so the model cannot attempt it or hallucinate around it.

Every agent action is attributed

The activity feed records the client name against each change and marks the surface as MCP, so an edit made by an assistant is never confused with one made by a person.

Destructive work is gated

Deleting a link needs an explicit confirmation flag and the exact id, and requires a scope most connections never receive. Edits need the current version, so two agents cannot silently overwrite each other.

Content is data, not instructions

Link titles and destinations come from people and visitors. Tool output never carries credentials in URLs and is shaped so that text arriving from users reads as data rather than as commands to the model.

The eleven tools

The whole surface, and nothing beyond it. No shell access, no arbitrary HTTP, no platform administration.

get_capabilities
What this connection may do
list_links
Filter and page through links
get_link
One link's settings
create_link
Create, with an idempotency key
update_link
Edit, with the expected version
archive_link
Reversible removal
delete_link
Irreversible, confirmation required
get_analytics
Totals with coverage labels
get_link_analytics
One link over time
get_qr
SVG for the short URL
list_events
Who changed what, recently

Connect your client

Full setup for each client, including troubleshooting, is in the developer docs. The short version:

Claude Code
claude mcp add --transport http c1k \
  https://c1k.me/mcp/org_EXAMPLE
# then run /mcp to authenticate
Claude Desktop, Cursor, JetBrains
{
  "mcpServers": {
    "c1k": {
      "type": "http",
      "url": "https://c1k.me/mcp/org_EXAMPLE"
    }
  }
}
Codex CLI
[mcp_servers.c1k]
url = "https://c1k.me/mcp/org_EXAMPLE"
VS Code, ChatGPT

VS Code reads .vscode/mcp.json in agent mode. ChatGPT connects as a custom connector, though its redirect URI has to be registered first because c1k.me does not accept dynamic client registration.

What an agent is actually useful for here

“Create short links for every URL in this launch checklist, tag them launch, and give me the list.”
“Which links got no recorded redirects in the last 30 days? Pause them.”
“The pricing page moved. Retarget every link pointing at the old path.”
“Summarize what changed in the workspace this week and who changed it.”
Give an agent the narrowest scopes that do the job. An assistant that reports on links needs links:read and analytics:read and nothing else. Deletion should almost never be granted to a model.
€5 a year, agent access included

MCP is not a paid add-on or an enterprise feature. It is part of the one tier, like everything else.

see pricing