Install
$ agentstack add mcp-onemana-soft-onecamp-fe ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
OneCamp
The Self-Hosted Unified Workspace
Chat · Tasks · Docs · Whiteboards · Video · AI teammates. All on your own server.
[](https://nextjs.org/) [](https://react.dev/) [](https://www.typescriptlang.org/) [](LICENSE) [](https://github.com/OneMana-Soft/OneCamp-fe/stargazers)
Live Demo · Get the Backend · Docs · Report a Bug
What is OneCamp?
OneCamp is a self-hosted workspace that replaces Slack + Notion + Zoom, without per-seat pricing and without your conversations living on somebody else's machine. You run it on your own infrastructure, and the data stays there.
What is open, precisely. This repository, the frontend, is MIT and complete. The Go backend is not published today, so OneCamp is not open source and this README will not call it that. The AI-free edition of the backend is being prepared for release under Apache-2.0, which will make it open core: an open server you can read and run, and a commercial edition for the AI teammates. Until that lands, the honest description is self-hosted, source-available on the frontend, and a licensed backend.
It also has AI teammates that live in your channels, bounded by the live permissions of the person who authorised them, running through your choice of model.
| | | |---|---| | 💬 Real-time chat | Channels, DMs, threads, reactions, file sharing | | ✅ Tasks & boards | Kanban, assignees, due dates, project tracking | | 📝 Collaborative docs | Rich-text editing with real-time multiplayer cursors | | 📊 Tables | Structured records with views, filters and formulas | | 🎨 Whiteboards | Freeform drawing and diagramming alongside the docs | | 🎥 Video meetings | HD calls, screen sharing, recording, live captions | | 📅 Calendar | Scheduling that knows about the meetings in your channels | | 🏢 Teams & projects | Fine-grained permissions and organised workspaces | | 🤖 AI teammates | Agents in your channels, with tools, memory and an audit trail | | 🔐 Enterprise sign-in | SAML, OIDC, LDAP, SCIM provisioning, MFA | | 📱 Installable app | PWA with push notifications on desktop and mobile |
Unlimited users. One payment. Your server.
Tech Stack
This repository is the Next.js frontend. The Go backend is a separate download (see below).
| Layer | Technology | |---|---| | Framework | Next.js 16 + React 19 | | Styling | Tailwind CSS v4 + Radix UI | | Real-time A/V | LiveKit | | Collaboration | Tiptap + Hocuspocus + Yjs | | Whiteboards | Excalidraw | | Messaging | MQTT over EMQX | | State | Redux Toolkit | | Language | TypeScript |
Getting Started
Prerequisites
- Node.js v20.9+
pnpm(recommended)- A running OneCamp backend. The frontend is a client; on its own it has nothing to talk to.
1. Clone and install
git clone https://github.com/OneMana-Soft/OneCamp-fe.git
cd OneCamp-fe
pnpm install
Which edition you get. This is the ai branch, and it is what a clone gives you by default. It expects a backend built with agents. If your licence is for the edition without them, take main instead, or the interface will offer you agents your server has no routes for:
git clone -b main https://github.com/OneMana-Soft/OneCamp-fe.git
The installer picks the right branch for your licence on its own; this note is for anyone cloning by hand.
2. Point it at your server
pnpm configure
It asks one question, your domain, and derives every address from it. These match the hostnames the backend already requests certificates for, so a stock install needs no further edits.
On the machine running your backend:
onecamp-backend.your-domain.com the API
onecamp-livekit.your-domain.com calls and meetings
onecamp-collab.your-domain.com live document editing
onecamp-emqx.your-domain.com real-time messaging
onecamp-minio.your-domain.com file storage
onecamp-turn.your-domain.com call relay (must NOT be proxied)
Wherever you deploy this app:
onecamp.your-domain.com the workspace people open
> Keep the workspace on the same parent domain as the API. Sign-in and CSRF cookies are scoped to the shared parent, so a frontend served from a different domain, a *.vercel.app address say, cannot read them. Sign-in appears to work and then every write fails. Host it wherever you like; point onecamp.your-domain.com at it.
The last two are the ones that bite. onecamp-minio is where uploads are served from, and a missing record looks like "images are broken" rather than like a DNS problem. onecamp-turn carries call media over UDP, which a CDN proxy cannot pass, so proxying it does not fail loudly: calls just do not connect for some networks.
For a scripted install, skip the prompt:
pnpm configure --domain your-domain.com
Configuring it by hand instead
Every variable is documented in [.env.production](.env.production), which ships with placeholders. Three ways to supply real values, in the order Next.js prefers them:
- Environment variables. Highest precedence, and the right answer for a Docker or CI build.
.env.production.local. Whatpnpm configurewrites. Git-ignored, so your domains never land in a commit andgit pullnever conflicts with your configuration..env.production. The committed reference. Editing it works, but your changes will collide the next time you pull.
Everything here is NEXT_PUBLIC_, which means it is compiled into the JavaScript the browser downloads. None of it is secret and none of it should be. Real secrets stay in the backend's own .env.
3. Build and run
pnpm build
pnpm start
Or pnpm dev for a development server on port 3001.
4. Push notifications (optional)
Off until you configure them, and they need a Firebase Cloud Messaging project of your own: the token a browser mints is only redeemable by the project that issued it, so a shared one cannot work. Copy the six web-app values plus the VAPID key into .env.production.local; [.env.production](.env.production) lists exactly which ones and where in the Firebase console to find them.
Everything else in OneCamp works without this.
AI, on your terms
The AI is bring-your-own-key and bring-your-own-model. Point it at a local Ollama, at a self-hosted vLLM, or at a hosted API with your own key; nothing is routed through us, and there is no OneCamp inference endpoint to route it through.
Every agent action is bounded by the live permissions of the person who authorised it, and recorded before it runs. An agent cannot read a channel its principal cannot read, and revoking that person's access revokes the agent's in the same moment.
Agents are off until an admin turns them on, and each capability is granted separately.
Backend
This frontend requires the OneCamp Go backend. It ships as a single Docker Compose deployment including:
- Go services for chat, documents, tasks, calendar and meetings
- Real-time signalling and state synchronisation
- Postgres, Dgraph, Redis, MinIO and EMQX, pre-configured
- Traefik with automatic HTTPS certificates
- Enterprise sign-in: SAML, OIDC, LDAP, SCIM, MFA
- One command to install, one command to update
→ Get the backend licence at onemana.dev: pay once, unlimited users, no per-seat pricing. The current price is on that page.
Project Structure
OneCamp-fe/
├── app/ # Next.js App Router pages & layouts
├── components/ # UI components
├── context/ # React context providers
├── e2e/ # Playwright end-to-end tests
├── hooks/ # Custom React hooks
├── lib/ # Utilities, env validation, security headers
├── public/ # Static assets & the service worker
├── scripts/ # Setup and tooling
├── services/ # API service layer
├── store/ # Redux store & slices
└── types/ # TypeScript type definitions
Development
pnpm dev # dev server on :3001
pnpm lint # ESLint
pnpm test:unit # unit tests (Vitest)
pnpm test:e2e # end-to-end tests (Playwright)
CI runs lint, a production build, the unit tests and the Playwright suite on every push and pull request.
Contributing
Contributions are welcome. Please open an issue first to discuss what you would like to change.
- Fork the repository
- Create a feature branch:
git checkout -b feat/your-feature - Commit your changes:
git commit -m 'feat: add your feature' - Push and open a Pull Request
Run pnpm lint && pnpm test:unit before opening it; that is what CI checks first.
Support
- 🐛 Bugs & feature requests → GitHub Issues
- 📖 Setup & operations → onemana.dev/docs
- 🌐 Product info & pricing → onemana.dev
Made with ❤️ by OneMana Soft
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: OneMana-Soft
- Source: OneMana-Soft/OneCamp-fe
- License: MIT
- Homepage: https://onemana.dev
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.