---
title: MCP for agents
description: "Connect an agent such as Claude to frwrd.to over MCP, with your workspace key, and see which tools it gets."
theme: { accent: "#1f6feb", background: light }
translations: { de: de/hilfe-mcp }
---

# 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.

- [Back to help](/@frwrd.to/help)
