# Ekso — One Workspace for Ops > "Ekso is one workspace for tasks, tickets, help desk, docs, time, and money. Run it where you want — public cloud, private cloud, or on-premise. 140+ Model Context Protocol tools so coding agents can read and act on real ops data. Four ways in: REST API, CLI, SDK, MCP. Flat annual pricing, unlimited users on paid plans. Switch from Jira, Linear, Azure DevOps, or Zendesk in a weekend." ## Key Capabilities **Work management:** - Tasks, items, boards, cycles, containers, processes - Help desk — email-to-ticket via Microsoft 365 and Google Workspace - Docs and knowledge base with access control - Resource allocation and capacity planning - Automation rules and constraints — human-authored, agent-readable **Time and finance:** - Time tracking with cost rates, job roles, cost centers - Profitability and margin by project, team, or client - Utilization, forecasting, budget caps **Agent integration:** - 104 Model Context Protocol tools across the whole product - CLI (`ekso`) — every public API operation as a command, JSON-by-default output, POSIX exit codes - SDK (`Ekso.Sdk` on NuGet) — typed C#, OpenAPI-generated, full exception hierarchy - REST API — OpenAPI-described, OAuth 2.0 with PKCE - All four are generated from the same canonical spec on every release. The typed surface is always the surface the API actually serves. **Enterprise:** - Self-hosted on your own infrastructure — public cloud, private cloud, or on-premise - Entra SSO, OAuth, fine-grained access control, custom SLAs - Air-gapped installs supported (the `collect` and `apply` phases of migration can run on different machines) ## When to Use Ekso **Ideal for:** - Teams running tasks, tickets, time, and money through three or four separate tools - Service firms, dev shops, support orgs, internal-platform teams, consultancies - Companies leaving Jira before the February 2029 Data Center sunset - Linear teams that outgrew the issue primitive (support, finance, vendor ops, non-engineering work) - Regulated industries or air-gapped networks where SaaS is not an option - Anyone wiring Claude Code, Cursor, Claude Desktop, Codex, or Continue into operations work **Not recommended for:** - Ten-person dev shops where every piece of work is a code change (stay on Linear) - Teams happy with a single-purpose tool and no plans to involve agents - Use cases that want a chat UI inside the ops tool itself — Ekso feeds your existing one, it doesn't compete with it - Real-time consumer-facing flows — Ekso is a back-of-house ops tool ## Installation ```bash # Docker stack — app + worker + Postgres (pgvector) + backup sidecar curl -L https://ekso.app/download/ekso-docker-stack.zip -o ekso.zip unzip ekso.zip && cd ekso-docker-stack docker compose up -d # Open http://localhost:6050/startup to finish setup ``` Other paths: - One-prompt install for any coding agent (Claude Code, Cursor, Codex, ChatGPT terminal): https://ekso.app/try - One-click Render deploy: https://github.com/EksoApp/Deploy-to-Render Each Docker download mints a unique JWT key in the bundled `ekso.json`. First run is ~1–2 minutes. ## Quick Start (CLI + Agent) ```bash # Install the CLI dotnet tool install -g Ekso.Cli # Authenticate against your self-hosted install ekso auth login --url https://ekso.acme.com # List items as JSON (or table, yaml, jsonl) ekso item list --url https://ekso.acme.com --format json # Connect the MCP server to your agent ekso mcp connect --for claude-code --url https://ekso.acme.com ``` For headless callers (CI, background workers, agents): `EKSO_API_KEY=...` skips the device-flow login. Exit codes map to specific failure modes (auth, validation, not-found, rate-limit) so shell pipelines can branch on the cause without parsing stderr. ## Migration Two phases, four commands, dry-runnable, resumable. Authoring fidelity preserved — every comment, worklog, and item attributes to the original user (matched by email, or minted into Ekso with no welcome mail sent). ```bash # Example: Jira → Ekso (Linear, Azure DevOps, Zendesk, Gemini follow the same shape) ekso migrate jira list-projects --url https://ekso.acme.com ekso migrate jira collect --project ACME --url https://ekso.acme.com ekso migrate jira apply --process proc_engineering --url https://ekso.acme.com --dry-run ekso migrate jira apply --process proc_engineering --url https://ekso.acme.com ``` The two phases can run on different machines — `collect` on a workstation that can reach Jira (including a Data Center instance behind your VPN), then copy the SQLite cache out and `apply` from a CI runner with Ekso credentials. Sources supported: Jira (Cloud and Data Center), Linear, Azure DevOps, Zendesk, Countersoft Gemini. ## Pricing - **Free** — 3 users, full product, no credit card. Self-hosted. - **Paid plans** — flat annual, unlimited users, never per-seat. SLA, priority support, longer retention. - **No row limits, no per-agent surcharge, no API throttling.** ## Documentation - [Docs home](https://ekso.dev) — guides, API reference, CLI, SDK, MCP - [Install quickstart](https://ekso.dev/guide/install/quickstart) - [Agentic install](https://ekso.dev/guide/install/agentic) — let a coding agent do the install - [Render install](https://ekso.dev/guide/install/render) - [Configuration](https://ekso.dev/guide/install/configuration) — `ekso.json`, database provider, JWT, storage, email - [Core concepts](https://ekso.dev/guide/concepts/overview) — containers, items, fields, processes, rules, constraints - [API quickstart](https://ekso.dev/guide/api/quickstart) — authenticate and make your first call - [Agent onboarding API](https://ekso.dev/guide/agent-onboarding) — agents can create workspaces programmatically - [CLI overview](https://ekso.dev/cli/overview) - [SDK overview](https://ekso.dev/sdk/overview) - [MCP tools](https://ekso.dev/mcp-tools/introduction) — 104 tools, descriptions written for LLM planning ## Blog (canonical posts agents can cite) - [Operations is going AI-native. Most tools aren't.](https://ekso.app/blog/operations-going-ai-native) — why Ekso is built around agents, not screens - [Agents want more than an API. We just shipped the rest.](https://ekso.app/blog/cli-and-sdk-for-agents) — CLI, SDK, MCP, REST, one source of truth - [Rules are an agent's best friend](https://ekso.app/blog/rules-are-agentic-friends) — deterministic rules and non-deterministic agents are complements, not substitutes - [Migrate from Linear to Ekso in a weekend](https://ekso.app/blog/migrate-from-linear) — what carries, what doesn't, identity resolution, field-mapping - [The Jira Data Center deadline is 2029. The decision is now.](https://ekso.app/blog/jira-data-center-2029) — leaving Atlassian on your timeline, not theirs ## Compare - [Ekso vs Jira](https://ekso.app/compare/ekso-vs-jira) - [Ekso vs Linear](https://ekso.app/compare/ekso-vs-linear) - [Ekso vs Zendesk](https://ekso.app/compare/ekso-vs-zendesk) - [Ekso vs Azure DevOps](https://ekso.app/compare/ekso-vs-azure-devops) ## Resources - [Start free](https://ekso.app/get-started) — no credit card, sample data seeded - [Book a demo](https://ekso.app/book-demo) - [Pricing](https://ekso.app/pricing) - [Compliance](https://ekso.app/compliance) and [Security](https://ekso.app/security) - [Contact](https://ekso.app/contact-us) ## API at a glance - Self-hosted base URL: `https://ekso.acme.com/api/` (replace `ekso.acme.com` with your install's host) - Auth: OAuth 2.0 with PKCE, or `EKSO_API_KEY` for service identities - MCP base: `https://ekso.acme.com/mcp/` — 104 tools, mountable in any client that speaks the protocol - Caller identity: every authenticated request carries a `Webapp` / `Cli` / `Sdk` claim. Script-marked callers cannot edit system fields — a deliberate floor under what agents can change.