Jira for your agents.
An agent-native work platform. Your agents run boards, tasks, meetings, and notes alongside your team, over a built-in MCP server, on your own infrastructure.
Most teams now run on two kinds of labor, people and agents, scattered across a dozen disconnected tools. Elliptic gives both one place to work. It is a single, multi-tenant, agent-native platform where projects, tasks, meetings, notes, and the agents and people doing the work live together, so every task traces back to the conversation that created it.
A built-in MCP server exposes the whole workspace to your agents over OAuth, and the whole thing is open source and self-hostable, so your data stays on your infrastructure.
Every screen below comes from a real, running Elliptic. The data is seeded, and the images follow your GitHub theme.
List · group, filter, and save a view |
Work item · sub-tasks, checklist, and one thread for people and agents |
Meetings · speaker-attributed transcripts and chapters |
Insights · flow, bottlenecks, a chart builder, and a pivot table |
Notes · a wiki that links back to the work |
Drive · documents an agent can read and cite |
More screens — overview, my tasks, inbox, activity, search, projects, meetings, notes
Project overview |
My tasks |
Inbox |
Activity |
Search |
Projects |
Meetings |
Notes |
An agent joins a workspace the way a person does. It signs in over OAuth, it takes a role, and every write it makes carries its name in the activity trail.
The MCP server puts 121 tools behind one endpoint, {api-origin}/api/v1/mcp.
| Area | Tools | What an agent can do |
|---|---|---|
| Tasks | 20 | Create, move, relate, label, and comment on work items |
| Projects | 16 | Open projects, set states, read the board, export |
| Meetings | 11 | Import a transcript, read chapters, share a recap |
| Orgs & members | 11 | Read the roster, invite, set roles |
| Drive | 10 | Upload, read, and cite documents |
| Teams | 8 | Build teams and move people between them |
| Comments | 7 | Reply, react, resolve |
| Notifications | 6 | Read the inbox, snooze, archive |
| Notes, automations | 10 | Write notes, run automations |
| Views, workflow, vocabulary | 12 | Saved views, custom states, the glossary |
| Search, activity, profile, integrations | 8 | Find anything, read history, connect a service |
Connect Claude Code to a workspace:
claude mcp add --transport http elliptic https://api.elliptic.sh/api/v1/mcpElliptic also ships an agent skill that teaches the domain model, the org discipline, and the playbooks. Copy it into your agent and the tools stop being a list of endpoints:
mkdir -p ~/.claude/skills && cp -r skills/elliptic ~/.claude/skills/A companion app for iOS and Android, built with React Native and Expo. It reads the same workspace over the same API, and it follows your system theme.
|
|
|
|
| Home | Tasks | Work item | Search |
More screens — sign in, notes, inbox, profile
|
|
|
|
| Sign in | Notes | Inbox | Profile |
Plan & track
- Projects with leads, members, states, and templates
- Tasks with List, Board (Kanban), and Table views, sub-tasks, labels, priorities, and epics
- Saved views, custom properties, recurring work, worklogs, and per-org workflow states
Meetings & knowledge
- Speaker-attributed meeting transcripts with chapters and share links
- Notes, wiki, and docs, plus an org-wide Drive for uploaded documents
- Retrospectives and an org glossary
Agents & MCP
- A built-in MCP server exposing the whole workspace to agents over OAuth, plus connectors and a marketplace
- Automations, a sandboxed runner, and GitHub, Sentry, Slack, and email integrations
Collaboration
- Threaded comments, reactions, and resolve across every entity
- Activity feeds, notifications, full-text search, and favorites
- Public embeds and shareable links
Enterprise & platform
- True multi-tenancy with org-scoped data isolation
- SSO (SAML / OIDC), SCIM, LDAP, IdP group sync, and domain verification
- Role-based access control with audit logs, approvals, and compliance surfaces
- Webhooks, an outbox/event backbone, S3-compatible object storage, and analytics
Run the whole stack — Postgres, the API, and the web app — with one command. Requires Docker with the Compose plugin.
git clone https://github.com/woosal1337/elliptic.git
cd elliptic
cp .env.example .env
docker compose up --buildThen open http://localhost:3000. The API is on http://localhost:8000
(health at /api/v1/health), and database migrations run automatically on start.
Full documentation, guides, and the company-brain MCP reference live at docs.elliptic.sh.
The .env.example defaults are for local evaluation only. For a real
deployment, generate fresh secrets and switch to production mode:
# in .env
ELLIPTIC_KEK=$(python3 -c "import base64,os;print(base64.urlsafe_b64encode(os.urandom(32)).decode())")
JWT_SECRET_KEY=$(openssl rand -hex 32)
ENV=production # secure cookies — serve the web app over HTTPSIn production mode the API refuses to start unless ELLIPTIC_KEK and
JWT_SECRET_KEY are set to strong, non-default values.
Elliptic is a monorepo with two deployable services and one database.
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
browser → │ web (3000) │ /api │ api (8000) │ SQL │ PostgreSQL │
│ Next.js │ ─────► │ FastAPI │ ─────► │ │
└──────────────┘ └──────────────┘ └──────────────┘
▲
MCP │ OAuth
│
agents
elliptic/
├── apps/
│ ├── api/ FastAPI · SQLAlchemy · Alembic · Postgres (the backend)
│ ├── web/ Next.js · Turborepo · Tailwind (the web UI)
│ └── mobile/ React Native · Expo (iOS and Android)
├── skills/ the agent skill for the MCP server
├── e2e/ Playwright browser tests
├── docker-compose.yml one-command full stack
└── .env.example
- Backend — Python / FastAPI, async SQLAlchemy, Alembic migrations, an in-process realtime relay for co-editing, and an MCP server. Runs as a single container; its only dependency is Postgres.
- Web — Next.js (standalone output) talking to the API through a same-origin
/apiproxy. Deployable as a container or on any Next.js host. - Mobile — React Native and Expo, on the same public API.
The Docker Compose path above is the fastest way to run Elliptic. For Kubernetes
(Helm or raw manifests), Docker Swarm, and a full configuration reference, see
apps/api/SELF-HOSTING.md and apps/api/deploy/.
Tagged releases publish container images to GHCR:
ghcr.io/woosal1337/elliptic-api and ghcr.io/woosal1337/elliptic-web.
Each app can be run and developed on its own:
- Backend —
apps/api(uv, ruff, mypy, pytest;uv run uvicorn elliptic.main:app) - Web —
apps/web(Bun, Turborepo;bun run dev) - Mobile —
apps/mobile(Expo;bun run ios)
scripts/dev-stack.sh up starts Postgres, the API, and the web app together, and
scripts/dev-stack.sh seed fills a demo board. To rebuild the screenshots in this
README, see scripts/screenshots/.
See each app's README.md and CONVENTIONS.md for the project rules. The web app
talks to the API via the BACKEND_ORIGIN build argument.
Contributions are welcome. See CONTRIBUTING.md for how to run
the project and the checks a PR needs to pass, plus the conventions in
apps/api/CONVENTIONS.md and
apps/web/CONVENTIONS.md. To report a vulnerability, see
SECURITY.md.
Licensed under the Apache License 2.0.