# GHAN documentation

> GHAN is MCP-first, so the documentation is too. Every write capability exists as an MCP tool before it exists anywhere else, the integration guide is returned verbatim by a tool so an agent never needs a browser, and every page here has a markdown twin.

Source: https://ghan.io/docs/  
Published: 2026-09-22 · Updated: 2026-09-22  
Publisher: GHAN — the audited cross-promotion network for desktop apps (https://ghan.io)

---

## Start here

| Document | What it covers |
|---|---|
| [MCP server](/docs/mcp/) | Every tool, its arguments and its return shape. The primary interface. |
| [SDK quickstart](/docs/sdk/) | Installing `@ghan/sdk`, rendering slots, handling consent, the kill switch. |
| [REST API](/docs/api/) | The HTTP surface the MCP server wraps, plus webhooks and the x402 top-up path. |
| [Get started](/get-started/) | The ten-minute path from nothing to a registered, scored app. |

## Machine-readable resources

| Resource | Path | Standard |
|---|---|---|
| Curated index for models | [`/llms.txt`](/llms.txt) | llmstxt.org |
| Full site text | [`/llms-full.txt`](/llms-full.txt) | llmstxt.org |
| OpenAPI document | [`/openapi.json`](/openapi.json) | OpenAPI 3.1 |
| API catalog | [`/.well-known/api-catalog`](/.well-known/api-catalog) | RFC 9727 |
| AI catalog | [`/.well-known/ai-catalog.json`](/.well-known/ai-catalog.json) | Agentic Resource Discovery |
| MCP server card | [`/mcp/server-card.json`](/mcp/server-card.json) | Model Context Protocol |
| A2A agent card | [`/.well-known/agent-card.json`](/.well-known/agent-card.json) | A2A |
| Agent skills index | [`/.well-known/agent-skills/index.json`](/.well-known/agent-skills/index.json) | — |
| OAuth metadata | [`/.well-known/oauth-authorization-server`](/.well-known/oauth-authorization-server) | RFC 8414 |
| x402 payments | [`/.well-known/x402`](/.well-known/x402) | x402 |
| Sitemap | [`/sitemap.xml`](/sitemap.xml) | sitemaps.org |
| Feed | [`/feed.xml`](/feed.xml) | RSS 2.0 |

Every HTML page also serves a markdown twin — append `.md` to any path, or send `Accept: text/markdown`.

## Conventions

- **Money is integer cents, currency EUR.** One credit is one euro cent.
- **Identifiers are opaque strings.** Do not parse them.
- **Timestamps are RFC 3339 UTC.**
- **Rejections are reason codes**, not prose. The code is stable; the human-readable string beside it is not.
- **Read tools are public.** `get_rate_card` and `get_network_stats` need no key.

## Versioning

The REST API is versioned in the path. MCP tool names are stable; new arguments are always optional. The rate card is versioned and changes are visible in the changelog, which is also an [RSS feed](/feed.xml).

## Questions people ask about this

### Where should an agent start?

Call get_integration_guide on the GHAN MCP server. It returns this documentation set as markdown, current at the moment of the call, so an agent never has to scrape a website or guess at a version. The server card at /mcp/server-card.json describes the transport and authentication.

### Is there an OpenAPI document?

Yes, at /openapi.json, and it is listed in the API catalog at /.well-known/api-catalog as well as in the AI catalog at /.well-known/ai-catalog.json. The REST API is what the MCP server wraps, so anything an MCP tool does is also reachable over HTTP.

### Are the docs available as plain text?

Yes. Every page on ghan.io has a markdown twin at the same path with a .md suffix, the whole site is concatenated into /llms-full.txt, and /llms.txt is a curated index with the key facts inline.

