Setting this up in Cursor, Claude Code and the rest
Every coding agent supports one of two things: instructions it can read, or tools it can call. Tapmy publishes both, and they are the same API underneath.
The skill file, for agents that read procedures
A skill is a Markdown file with a short header saying when to use it, followed by steps. Save ours into the skills folder of Claude Code, or paste it into a project rule in Cursor or Windsurf, and «make me a link page» becomes a task the agent knows how to finish: ask, validate, create, verify, hand over.
It needs nothing installed and no key. The agent makes plain HTTP requests, and the first create returns a key for whatever it made. The file lives at /skill.md and is generated from the same source as the documentation, so it cannot drift away from the API it describes.
- Claude Code: save /skill.md into a folder under your skills directory, or add the MCP server with the CLI.
- Cursor and Windsurf: add the MCP server in the settings JSON, or keep the skill text as a project rule.
- Claude Desktop: add the server address in the connector settings; no OAuth screen and nothing to install.
- Anything stdio-only: bridge with mcp-remote pointed at the same address.
The MCP server, for agents that call tools
- The address is tapmy.link/mcp, streamable HTTP, stateless — nothing to run locally.
- Fourteen tools: check a name, list templates and platforms, validate, create, read, update, add a block, set a photo, import, publish, statistics, claim link, whoami.
- Add an Authorization header with your key if the pages should land in an account you already own.
- Without a key, create still works: it makes a provisional account and returns the key in its result.
The one thing that surprises people
MCP clients fix their headers when they connect. A key returned in the middle of a conversation therefore cannot be added to the connection, which would make the next tool call fail with «unauthorized» for no visible reason. So every account-bound tool also accepts the key as an argument, and the agent passes along whatever create handed it.
That key will appear in the conversation. Treat it as you would a password: keep the transcript private, and revoke it in the dashboard once the work is done or if the conversation ends up somewhere it should not.