Main Services and Applications in OpenWork: Desktop, MCP Gateway, and Den

OpenWork delivers three core surfaces: a local-first Desktop application, an MCP gateway that exposes LLM capabilities over HTTP, and the Den cloud control plane for team management and plugin distribution.

The different-ai/openwork repository provides a free, open-source workspace that combines local execution with optional cloud-backed collaboration. Understanding the main services and applications within OpenWork is essential for developers extending the desktop client, integrating custom LLM tooling, or managing organizational resources through the Den backend. The architecture is documented in the root AGENTS.md file and follows a strict separation between local runtimes and cloud services.

Core Services and Applications in OpenWork

Desktop Application (Local-First Workspace)

The Desktop app is a local-first agent workspace that runs on macOS, Windows, and Linux. It hosts the React-based UI under apps/, a core Node backend at apps/server/src/server.ts, and a demo client entry point at apps/ui-demo/src/main.tsx. Users can chat over files, run skills, schedule automations, and load Anthropic-compatible plugins directly on their machine.

OpenWork MCP Gateway (LLM Integration Layer)

The OpenWork MCP gateway provides a single HTTP endpoint—api.openworklabs.com/mcp/agent—implemented in ee/apps/den-api/src/index.ts. It accepts search_capabilities and execute_capability payloads from LLM clients such as Codex, Claude Code, or Cursor. The gateway injects org-assigned skills, plugins, and external connections including Google Workspace and Microsoft 365 before forwarding requests to the appropriate Den service.

OpenWork Den Control Plane (Cloud Backend)

The Den is the organizational control plane located under ee/apps/den-*. It provisions inference resources, manages teams and permissions, defines desktop policies, and publishes skills through internal marketplaces. Workspace management is handled by controllers such as ee/apps/den-workspaces/src/controllers/workspace.controller.ts, which exposes the multi-tenant API consumed by both the Desktop app and the gateway.

How the Surfaces Interact

According to AGENTS.md and dev/AGENTS.md, the architecture follows a clear separation of concerns. The local runtime stores workspace data and executes skills on the user’s device. The gateway translates LLM client queries into concrete API calls. The control plane authenticates users, enforces policies, and distributes plugins. This design lets developers reuse any OpenCode skill locally while leveraging a centralized marketplace for enterprise-wide sharing.

Practical Usage Examples

Running the Desktop Application Locally


# Install dependencies (pnpm is required)

pnpm install

# Start the development server – launches the Electron UI and backend

pnpm dev

This command spins up the Electron window, starts apps/server/src/server.ts, and watches the apps/ source tree for hot-reloading.

Calling the MCP Gateway from an LLM Client

POST https://api.openworklabs.com/mcp/agent
Content-Type: application/json

{
  "search_capabilities": {"query": "list my plugins"},
  "execute_capability": {"plugin_id": "my-plugin", "action": "run", "input": {}}
}

The gateway forwards the request to the appropriate Den service, resolves the capability, and returns a structured response as implemented in ee/apps/den-api/src/index.ts.

Creating a Workspace via the Den API

curl -X POST https://den.openworklabs.com/api/v1/workspaces \
  -H "Authorization: Bearer $OPENWORK_TOKEN" \
  -d '{"name":"My Project","org_id":"org_123"}'

This request reaches the workspace controller at ee/apps/den-workspaces/src/controllers/workspace.controller.ts to provision a new multi-tenant workspace.

Key Source Files to Explore

Summary

  • OpenWork is composed of three core surfaces: the Desktop app, the MCP gateway, and the Den control plane.
  • The Desktop app under apps/ provides a local-first workspace with a Node backend in apps/server/src/server.ts.
  • The MCP gateway at ee/apps/den-api/src/index.ts exposes api.openworklabs.com/mcp/agent to integrate external LLM clients.
  • The Den under ee/apps/den-* manages multi-tenant workspaces, policies, and plugin distribution.
  • Shared logic and models live in packages/, while AGENTS.md documents the overall architecture.

Frequently Asked Questions

What are the main services and applications within OpenWork?

OpenWork delivers three primary services: the Desktop application for local workspace management, the MCP gateway for LLM client integration, and the Den for cloud-based team and plugin administration. Together they create a local-first environment with optional enterprise cloud backing.

How does the OpenWork MCP gateway work?

The gateway is an HTTP endpoint implemented in ee/apps/den-api/src/index.ts that accepts search_capabilities and execute_capability requests. It translates these into concrete calls to Den services after injecting organization-specific plugins and external connections.

What is the difference between the OpenWork Desktop app and the Den?

The Desktop app is a local runtime under apps/ that executes skills and stores data on the user’s machine. The Den is the remote control plane under ee/apps/den-* that handles authentication, workspace provisioning, and policy enforcement for teams.

How do I run the OpenWork Desktop application locally?

Clone the different-ai/openwork repository, install dependencies with pnpm install, and run pnpm dev. This starts the Electron UI and the backend server defined in apps/server/src/server.ts with hot-reloading enabled.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →