stuga-mcp
OfficialAllows the node to use local Ollama models for AI features, enabling on-premise AI without relying on external cloud providers.
Allows the node to use OpenAI models for AI features such as co-authoring, table assistance, and cross-document Q&A, with edits routed through human review.
Allows users to sign in through an OpenID Connect identity provider, enabling single sign-on with an existing identity management system.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@stuga-mcpPropose edits to the Q3 roadmap doc"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Stuga
AI suggests. You decide.
Stuga is a workspace of documents and databases for teams that let AI agents write into their work. When Claude, Codex or any other MCP client edits a document or a table, the change arrives as a suggestion, marked up like tracked changes, and it lands only when a person accepts it. Edits people make go straight in.
It runs on a machine you own, such as a Mac mini in the office, a Linux server or a NAS: one Node.js process and Postgres, with no cloud in between. Everyone else uses it in a browser.
Download for Mac · Install with Docker · Connect an agent · Documentation
How agent edits work
A suggestion, not a silent write. Each agent's editing session on a document or database is a run. It records which agent made it, whose key it used, the client and model it reported, and every change it proposed. You accept or reject the changes one by one, in the document itself. Other people never see pending agent text, and their own editing carries on as usual.
Waiting is the default. A suggestion waits for a person for as long as that takes, and you are notified that it is there. Nothing applies it on a timer, and the agent is never blocked waiting on you. The owner of a document or database, or a workspace admin, can switch it to Let agents apply changes at once. Changes then land immediately and stay recorded, attributed and revertible.
One inbox. Review AI edits lists every run that needs someone, across documents and databases, with each agent's record of accepted and rejected changes beside it.
Who wrote this? An agent can ask a document who wrote which passage and whether a person has reviewed it, so one agent does not take another's unreviewed text as settled.
Narrow access, full audit. An app that signs in reaches only the workspaces you tick, and can be limited to reading. A key can also be confined to folders or given an expiry. Every call an agent makes over MCP, reads included, is in the audit log. An event feed and signed webhooks tell agents and other systems what changed.
Related MCP server: quartet
Your data stays on your machine
Stuga sends no telemetry, and nothing reaches us. The node makes outbound requests only for features in use on it: the AI providers a node admin configures, the notification sink and webhooks admins set up, the identity provider when an admin adds one, images an agent adds by URL, which the node downloads and serves itself, the metadata document of an app that signs in with one, and, when someone opens Create a workspace, the list of sample workspaces, and the sample they pick, from GitHub or a mirror the node is configured with. AI is off until an admin turns it on, and the model can run on the same machine.
An AI app you connect sees what its model reads and writes. A hosted one, such as Claude on the web, handles it on its vendor's servers.
One request is the node's own: once a day it asks GitHub for the list of Stuga releases, to tell its admins when a newer one is out. The request says nothing about the node, not even its version, and the comparison happens on the node. First-run setup asks before the first one is made, and Check for new versions under Settings → This node → About turns it off (docs/operations.md). On a Mac, Update now there downloads the release's package from GitHub, when an administrator chooses it.
Stuga does not encrypt data at rest. Documents, the database and keys are stored in plaintext on the node's disk, readable by anyone who can read that disk. Reaching a node from other devices, and what each way of doing that protects, is covered in docs/network-access.md.
What's in it
Documents people write together. Real-time editing in the browser (Tiptap over a Yjs CRDT), with presence, comments, @mentions and version history, and clients that re-sync cleanly after a dropped connection. Markdown files import as documents.
Databases with real SQL. Typed tables live beside your documents, and each database has its own SQLite store. Saved views filter, sort and group rows, every row can open as a page, and CSV imports in one step. People and agents query them with plain read-only SQL, not a lookalike filter language.
Search that follows permissions. Keyword and semantic search are fused in one SQL statement and filtered by access inside the query, so results follow sharing changes immediately and never include a document the searcher cannot open. Chinese and Japanese are split into words by dictionary, not character by character.
AI built in, and optional. A co-author in the editor, an assistant for tables, and Ask, which answers questions across your documents and databases with citations. Their edits go through the same review as any agent's. A node admin picks the provider: OpenAI, Anthropic, Gemini, DeepSeek, Mistral, Qwen and more, or Ollama on the same machine.
Sharing and sign-in. Workspaces, folders, per-document sharing, groups and guests. People join by invite link and sign in with a username, or through your own OpenID Connect provider.
Looks after itself. The node backs itself up every day and before every upgrade, and tells its admins when a new version is out.
Who it's for
Teams that have agents drafting plans, specs, knowledge bases or business tables, and want a person to approve what changes.
People who want that work on hardware they control, including the model if they choose.
Anyone wiring Claude Code, Codex or their own agents into documents a team shares.
Stuga is not a personal notes app. There is no native phone app and no plugin system; phones and other computers open it in a browser.
Install
A Mac with Apple silicon, on macOS 13 or later: download Stuga.pkg and open it (docs/install/macos.md).
Docker, on a Linux server or a NAS (x86-64 or arm64):
curl -fsSL https://github.com/stuga-dev/stuga/releases/latest/download/install.sh | bash(docs/install/docker.md).
Then docs/getting-started.md walks through the first hour with a new node.
Connect your agents
Agents reach Stuga over MCP: the node serves /mcp, and stuga-mcp is a local stdio server that
forwards to it for desktop clients. Settings → Your own AI in the app gives the setup for Claude
Code, Claude Desktop, Codex, Antigravity and DeepSeek Harness, the Claude app's connector on a node
with a public HTTPS address, and the URL and key any other MCP client needs. Most clients sign in
through the browser, where you choose the workspaces the app may use and whether it may only read.
A client holds one connection, called Stuga, that reaches every workspace you allowed, and each
call names the one it acts in. API keys, the tools and how agent work appears in the run ledger are
covered in docs/agents.md.
Status
Stuga is pre-1.0. Only the most recent release gets fixes (SECURITY.md), and CHANGELOG.md lists every release.
Documentation
docs/install/docker.md and docs/install/macos.md: installing on each platform.
docs/getting-started.md: the first hour with a new node.
docs/configuration.md: environment variables and node settings.
docs/operations.md: backups, restores, moving a workspace to another node, learning of a new version, and upgrades.
docs/network-access.md: reaching a node from other devices, and using several nodes.
docs/troubleshooting.md: starts from the symptom.
docs/agents.md: connecting agents, API keys, the MCP tools and the run ledger.
docs/api.md: the REST API.
docs/architecture.md: how the node works.
docs/rag-cross-doc-qa.md: how Ask finds, reads and cites passages.
docs/collections.md: scoping search and Ask to a named set of documents.
docs/workspace-archive.md: the workspace archive, what export and import carry, and the samples index.
packaging/contract.md: what every packaging of Stuga provides.
Contributing
Issues and pull requests are welcome. CONTRIBUTING.md covers running Stuga from source, the tests and the conventions, and RELEASING.md how a release is cut. Contributions are accepted under a Contributor License Agreement (CLA.md); a bot asks on your first pull request. Report a vulnerability privately, as SECURITY.md describes.
License
AGPL-3.0-only, except integrations/, which is MIT; copyright notice in NOTICE. If you modify Stuga and offer it to others over a network, you share your changes under the same terms. The name and logo are not covered by the license: TRADEMARKS.md says how you may use them.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP-native collaborative markdown editor with real-time AI document editing
An agent-first office suite Claude & ChatGPT read and write over one MCP URL.
MarkupBase turns AI-generated Markdown and HTML into durable, versioned artifacts that people can review and discuss. Its MCP server lets agents publish new versions, preserve contextual comments, include hosted images, and respond to feedback through secure account-linked identities, creating a clear human review boundary without requiring real-time editing.
Real-time collaborative whiteboard — AI agents and humans edit the same board live over MCP.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceMCP server for collaborative markdown editing, allowing agents to write documents and humans to comment, with comments fed back as agent input.241,394 npmMIT
- AlicenseNot gradedqualityCmaintenanceMCP server enabling AI agents to collaborate in shared rooms with a document edited via compare-and-swap optimistic concurrency, plus a chat channel and change deltas.30 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants and teams to collaborate in a shared workspace by building and querying tables, writing documents, uploading files, and publishing live dashboards through any MCP-compatible client.2MIT
- AlicenseAqualityBmaintenanceEnables AI agents to perform safe, semantic edits on Markdown and DOCX documents through a normalized model with staging, diff review, and stale-edit protection.13MIT