MCP for agents
MCP, the Model Context Protocol, is a standard way to give an AI agent tools it can call. frwrd.to offers one tool for each thing the API does, so an agent can make links, write pages and read numbers in your workspace.
The endpoint is https://api.frwrd.to/mcp. It speaks streamable HTTP, and it takes your workspace key as a bearer token:
Authorization: Bearer fw_...
An agent sees only the workspace its key belongs to.
Claude Code
claude mcp add --transport http frwrd https://api.frwrd.to/mcp --header "Authorization: Bearer fw_..."
Run claude mcp list to check the connection. Keep the key out of files you commit: if you share a .mcp.json, write the header as Bearer ${FRWRD_KEY} and set FRWRD_KEY in your environment.
Other MCP clients
Add a remote server with the streamable HTTP transport (some clients call it "http"), the URL https://api.frwrd.to/mcp, and the header Authorization: Bearer fw_.... Clients that only speak stdio can reach it through a bridge such as mcp-remote.
The tools
Workspace:
- get_workspace: the workspace, its limits and the DNS record that verifies the domain.
- verify_workspace: check the DNS record now and lift the limits.
- claim_handle: claim a short handle so pages live at /@handle.
- set_utm: set the UTM defaults for the links on your pages.
- set_default_language: choose the language that lives at plain page addresses.
- list_domains, add_domain, remove_domain: custom page domains.
Links:
- create_link: a short link for an http or https address.
- list_links, get_link: read your links.
- update_link: change the target, title or tags, or archive and restore a link.
- archive_link: stop a link from redirecting, keeping its numbers.
- get_link_stats: clicks in a time window, by channel and by day.
- get_qr: the link's QR code as SVG.
Pages:
- list_pages: your pages, with language and translations.
- get_page: a page as Markdown, with its version and the short link behind each link.
- write_page: create or replace a whole page.
- delete_page: remove a page.
- get_page_stats: views of a page and clicks on each link.
- list_page_versions: the save history.
Each page is also a resource, frwrd://pages/{path}, with - for the root page. Tool errors carry the same codes as the REST API.