# ShappyChat > ShappyChat is one chat backend for all your apps. You run Shappy Backend on your own server and connect each app that must have a chat. You manage the models, MCP tools, access and history of all these apps in one place. - Version 0.1.0 is a self-hosted release for one operator: Docker Compose with two services, backend and celld. - The SDK package is `@shappychat/chat`. It is not on npm. Install it from your backend: `npm install /sdk/shappychat.tgz`. - Keep the app credential (`SHAPPYCHAT_TOKEN`) on your app server. The browser sends requests to `/shappy/*` on your server. Your server sends them to the backend. - A credential is for one app. It is not for one user. Your server must make sure that each user gets access only to their own conversations. - celld cells keep the conversations. The backend data folder keeps the provider keys and MCP keys in encrypted form. ## Get started - [Overview](/docs/overview.md): One chat backend for all your apps: the parts, how they connect and which runtime to use. - [Set up with your agent](/docs/agents.md): Links for coding agents (llms.txt, Markdown pages) and the prompt that adds ShappyChat to an app. - [Quickstart](/docs/quickstart.md): Run the included Notes demo on your computer, with a scripted provider or a real local model. ## Products - [Self-host](/docs/self-host.md): Run Shappy Backend and celld with Docker Compose: install, setup, HTTPS, MCP, backup, upgrade and troubleshooting. - [Shappy Backend](/docs/backend.md): The control plane: how a request travels, sign-in, backend pages, setup steps, connected apps, API and configuration. - [Embed the chat](/docs/embed.md): Install the SDK from your backend, mount the chat, choose a presentation, colours, options and keyboard. - [Chrome extension](/docs/chrome.md): Install the side panel extension, connect it to a backend or a local model, permissions and limits. ## Build - [Runtimes](/docs/runtimes.md): Remote, Durable Chat, browser-local and Node runtimes: where each keeps history and how to set it up. - [Durable Chat](/docs/durable-chat.md): Bind conversations to celld cells from your own trusted server, with recovery after a restart. - [App tools (MCP)](/docs/mcp.md): Connect HTTP or stdio MCP servers and choose the execution mode: Auto, UI or MCP. - [UI control discovery](/docs/ui-tools.md): Tag page controls with data-agent-id so the chat can use them, and show its actions with a cursor. ## Reference - [Security and data](/docs/security.md): Where data and secrets live, how to keep credentials on the server, scope, retries and cancellation. - [API reference](/docs/api.md): Exports of @shappychat/chat and @shappychat/chat/node with their options. - [Troubleshooting](/docs/troubleshooting.md): Fixes for empty model lists, pairing, unavailable tools, blocked requests and expired sign-in links. ## Optional - [All pages in one file](/llms-full.txt): every page above, in order, as Markdown - [Product page](/): the landing page - [Studio](/studio.html): style the chat and copy the code