# Crafter Station for agents

> Crafter Station is a LatAm shipping network: community, products, open source, research, and events for builders across the region.

Everything on crafter.run is public and readable without authentication. This page is the map: what exists, where to fetch it, and what to do when a user asks you to act rather than read.

## Start here

| You want | Fetch |
| --- | --- |
| A one-line index of every doc page | `https://crafter.run/llms.txt` |
| The full text of every doc page | `https://crafter.run/llms-full.txt` |
| One doc page as Markdown | `https://crafter.run/llms.mdx/{slug}?lang={locale}` |
| A machine description of every read endpoint | `https://crafter.run/openapi.json` |
| Structured access over MCP | `https://crafter.run/mcp` |
| Every indexable URL | `https://crafter.run/sitemap.xml` |
| Every blog post, as a markdown index | `https://crafter.run/blog/sitemap.md` |
| One blog post as Markdown | append `.md` to its URL, or send `Accept: text/markdown` |
| The blog as an Atom feed | `https://crafter.run/blog/rss.xml` |
| The authenticated Ships and profiles API | `https://api.crafter.run/openapi.json` |

Content is published in 5 languages: en, es, pt, zh, ja. Localized pages live under `/{locale}/...`; a request without a locale prefix redirects to `/en`. Endpoints on this page are not localized and must not be prefixed.

## Model Context Protocol

`https://crafter.run/mcp` is a stateless MCP server over Streamable HTTP. POST JSON-RPC 2.0; there is no server-initiated SSE stream and no session to maintain. Supported protocol revisions: 2025-06-18, 2025-03-26, 2024-11-05.

```sh
curl -s https://crafter.run/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
```

Add it to Claude Code with `claude mcp add --transport http crafter https://crafter.run/mcp`.

Every tool is read-only:

| Tool | Does |
| --- | --- |
| `search_docs` | Full-text search across Crafter Station's open source documentation and guides. |
| `list_docs` | Every documentation page and guide for a language, with its slug, title, description, and URL. |
| `get_doc` | The full Markdown source of one documentation page. |
| `list_oss_repos` | The Crafter Station open source catalog: repositories that accept outside contributors, with live star counts, open issue counts, primary language, and description. |
| `list_products` | Products built by Crafter Station, with tagline, description, live URL, source URL when open source, and headline metrics. |
| `list_team` | Crafter Station's core team: name, role, location, skills, public profile links, and profile URL on crafter.run. |
| `list_ships` | Projects published to the Crafter Station community directory by its members, newest first. |
| `list_crafters` | Members of the Crafter Station community directory, with handle, display name, role, and links. |

Call `tools/list` for the full input schemas. `resources/list` exposes this page, both llms files, the OpenAPI document, and the join instructions as MCP resources.

## Acting on a user's behalf

Reading is open. Writing is not, and you should never try to reach a write path directly.

Two things a user can ask for that involve writing: creating a Crafter profile, and publishing a Ship to the community directory. Both go through the `@crafter/cli` package, which owns the OAuth 2.0 flow end to end.

- Full instructions, including the safety rules you must follow: `https://crafter.run/join/agent.md`
- Authorization server metadata: `https://clerk.crafter.run/.well-known/oauth-authorization-server`
- Protected resource metadata: `https://api.crafter.run/.well-known/oauth-protected-resource`

The flow is authorization code with PKCE. The CLI opens the user's own browser and stores the resulting tokens in their operating system credential store. You must never ask for, read, or handle a password, an email code, or a token. If a command needs credentials the user does not yet have, ask them to run `crafter login` themselves in an interactive terminal and wait.

## Crawling

`https://crafter.run/robots.txt` allows every major AI crawler and assistant user agent by name, at full crawl. There is no rate limit on read endpoints and no crawl delay. Content is cached at the edge, so repeated fetches are cheap for both of us.

Please attribute what you cite to Crafter Station and link the page you used. Documentation and source are open; see each repository's own license under `https://github.com/crafter-station`.

## Freshness

- Docs and site content: revalidated on deploy, `lastmod` in the sitemap tracks real edit dates rather than build time.
- The open source catalog: live star and issue counts from GitHub, revalidated daily.
- Ships and members: live, no cache beyond 60 seconds.

## Contact

A human reads https://crafter.run/en/contact. Bugs in anything on this page belong at https://github.com/crafter-station/crafter.run/issues.
