> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cloosphere.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Marketplace

> Connect the service containers for PPT/Word/Excel/HTML document generators and Google Workspace/Microsoft 365 integrations.

<Info>Admin › Settings › Marketplace</Info>

This admin screen connects the **Cloosphere first-party service containers** that the Marketplace add-on uses.
Set, test, and activate the URLs for the document generators (code execution engine) and the external integrations (Google Workspace/Microsoft 365 MCP).

<Warning>
  The Marketplace is a **separately-priced add-on.** The **Admin › Settings › Marketplace** tab appears only when a `marketplace` feature key is registered in the license. Register the add-on key first in [License](/en/admin/settings/license).
</Warning>

***

## Overall architecture

The Marketplace stores **only catalog metadata and connection config.** The containers (sidecars) that do the actual work are deployed separately by the administrator, and this screen just points at their URLs.

```mermaid theme={null}
flowchart LR
    A[Cloosphere backend] -->|URL + token| J[(Jupyter sidecar<br/>document generation)]
    A -->|URL| G[(Google Workspace MCP)]
    A -->|URL| M[(Microsoft 365 MCP)]
    subgraph Separately deployed containers
      J
      G
      M
    end
```

| Sidecar                    | ACR image  | Container  | Port          | Role                                               |
| -------------------------- | ---------- | ---------- | ------------- | -------------------------------------------------- |
| Code Interpreter (Jupyter) | `mkp-code` | `jupyter`  | 8888          | Runs document-generation skills + code interpreter |
| Google Workspace MCP       | `mkp-gws`  | `gws-mcp`  | 8000 (`/mcp`) | Gmail, Calendar, Drive, and more                   |
| Microsoft 365 MCP          | `mkp-m365` | `m365-mcp` | 8001 (`/mcp`) | Outlook, Teams, SharePoint, and more               |

<Note>
  Images are distributed from the private ACR `acrcloosphere.azurecr.io`. Customer-VM deployment uses `docker compose` + `.env` (ACR token required, `JUPYTER_TOKEN` recommended). If you only use document generation, the Jupyter sidecar alone is sufficient.
</Note>

***

## Document generator (code execution)

The PPT/Word/Excel/HTML document-generation skills run bundled scripts in the **Jupyter code execution engine** to produce files.

<Steps>
  <Step title="Enter Jupyter URL and token">
    On the document-generator card, enter the Jupyter service URL (e.g. `http://jupyter:8888`) and auth token (`JUPYTER_TOKEN`).
  </Step>

  <Step title="Test connection">
    Click **Test connection** to verify Jupyter responds. It must succeed before you can activate.
  </Step>

  <Step title="Activate and save">
    Turn on the **Activate** switch and save to enable the code execution engine. Internally this writes `ENABLE_CODE_EXECUTION`, `CODE_EXECUTION_ENGINE=jupyter`, and the URL/token.
  </Step>
</Steps>

<Note>
  This setting shares the same engine as the [Code Execution](/en/admin/settings/code-execution) settings. Enabling Jupyter on either side lets both the document-generation skills and the user code interpreter use it.
</Note>

<Warning>
  If the code execution engine is not ready, document-generator cards appear **disabled** in the workspace catalog and instance creation is blocked. In chat, no file is generated and the agent just follows the instructions.
</Warning>

***

## External integrations (MCP services)

Expose Google Workspace/Microsoft 365 as agent tools.

<Steps>
  <Step title="Enter the service URL">
    On each MCP service card, enter the container URL (e.g. `http://gws-mcp:8000/mcp`, `http://m365-mcp:8001/mcp`). Do not add a trailing slash.
  </Step>

  <Step title="Test connection">
    Use **Test connection** to check reachability. For an auth-gated MCP server, a 401/403 on a token-less probe is normal and is treated as "reachable."
  </Step>

  <Step title="Activate">
    Activating creates the marketplace connection for that service, so it appears in Workspace ▸ Marketplace and the agent's Marketplace Tools section.
  </Step>
</Steps>

<Note>
  MCP sidecars use **passthrough authentication** — they don't run their own OAuth but trust each user's SSO token directly. So the Google OAuth client must be the **same** one Cloosphere signs in with, and each service category's availability is determined by the OAuth scopes granted to the user.
</Note>

<Warning>
  Base URLs are not hardcoded. Until an administrator sets a URL and connects, an MCP service does not appear as connected in the catalog. A service in use by agents cannot be deactivated (in-use error).
</Warning>

***

## Status badges

Each service card shows real-time status.

| Badge           | Meaning                                                       |
| --------------- | ------------------------------------------------------------- |
| **Reachable**   | The URL responds — can be activated                           |
| **Unreachable** | The URL does not respond — check deployment/network           |
| **Not Ready**   | A prerequisite (e.g. code execution engine) is not configured |

<Note>
  An MCP "Connected" badge only means a connection row exists; it does not guarantee the server is actually alive. Real status is confirmed when the tool list is fetched in Workspace ▸ Tools.
</Note>

***

## Granting permissions

After an administrator connects the services, users need group permission to use the Marketplace.

* In **Admin Settings > Users > Groups**, grant groups the **Marketplace Access** permission (none/read/write). The default is locked.
* **Write** permission is required to create connections/capabilities.
* For users who use document generators (skills), also grant **Skills Access** permission if needed.

***

## Related pages

<Columns cols={2}>
  <Card title="Marketplace (user)" icon="store" href="/en/workspace/marketplace">
    How users create document capabilities and MCP integrations and attach them to agents
  </Card>

  <Card title="Code Execution" icon="terminal" href="/en/admin/settings/code-execution">
    Configure the code execution engine (Jupyter) the document generators share
  </Card>

  <Card title="License" icon="key" href="/en/admin/settings/license">
    Register the Marketplace add-on feature key
  </Card>

  <Card title="Skills (user)" icon="wand-magic-sparkles" href="/en/workspace/skills">
    The concept of reusable playbooks and executable skills
  </Card>
</Columns>
