# Myna documentation > Agent-first infrastructure for content and feedback — one API operated through a dashboard, TypeScript SDK, CLI, and MCP server. Myna is hosted, agent-first infrastructure for the systems around your application. Humans and coding agents get equal access through the dashboard at [app.myna.sh](https://app.myna.sh), the HTTP API at `api.myna.sh`, the `@myna-sh/sdk` TypeScript SDK and its `@myna-sh/react` hooks, the `myna` CLI, and the `@myna-sh/mcp` MCP server. Every surface calls the same versioned API. Myna is a platform of [products](/concepts/products), and a project enables the ones it runs: | Product | What it holds | |---|---| | **Content** | Schemas, entries, assets, [change sets](/concepts/change-sets), [previews](/concepts/previews), [releases](/concepts/releases) | | **Feedback** | Boards, [reports](/concepts/reports), evidence, conversations, resolutions | They share organizations, projects, API keys, and one MCP server — so the agent that updates your changelog can also close the bug that prompted it. ## The change-set workflow Content writes are reviewable drafts: 1. A human or agent creates or updates entries and assets. Writes are always drafts. 2. Myna validates every change against the deployed schema and records immutable revisions, grouped in a **change set**. 3. One preview URL represents the complete change set. 4. A human — or an agent granted `content:publish` — publishes the change set atomically. Write permission does not imply publish permission. Feedback's equivalent is an append-only timeline: a resolution can be reopened, a merged duplicate keeps its own history, and no transition destroys the one before it. See [reports and boards](/concepts/reports). ## Choose a surface | Surface | Install | Use it for | |---|---|---| | SDK | `npm install @myna-sh/sdk` | Reading published content in your site; server-side management via `@myna-sh/sdk/management`; schema definitions via `@myna-sh/sdk/schema` | | React | `npm install @myna-sh/react` | Reading content from React components: shared requests, loading and error state, stale-while-revalidate, preview propagation | | CLI | `npm install --global @myna-sh/cli` | Schema push/pull, entries, change sets, previews, assets — human and `--json` modes | | Hosted MCP | Add `https://api.myna.sh/mcp` as a connector | Connecting Claude, ChatGPT, or any MCP client over OAuth — nothing to install | | Local MCP server | `npx -y @myna-sh/mcp` | Giving local coding agents (Claude Code, Cursor, …) direct, scoped access to your content | | HTTP API | — | Anything else; described by [openapi.json](/openapi.json) | ## Agent-first documentation - Append `.md` to any docs URL for the raw Markdown source of that page. - [/llms.txt](/llms.txt) is an index of every page with one-line descriptions; [/llms-full.txt](/llms-full.txt) is the full documentation in one file. - [/openapi.json](/openapi.json) is the OpenAPI 3.1 description of the HTTP API. - Every page has a "Copy as Markdown" button. Start with the [quickstart](/getting-started/quickstart), or point your agent at [the agent workflow](/agents/workflow).