Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions content/docs/cli/skills/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ description: Agent Skills that teach external agents (Claude Code, Claude Agent

Mogplex ships a set of [Anthropic Agent Skills](https://docs.claude.com/en/docs/agents-and-tools/agent-skills) that let any skill-aware agent operate a user's Mogplex workspace through the CLI, without MCP, and without asking the user to paste tokens into a JSON config.

This page is the reference for the skill set itself. For the decision between Skills and the upcoming [MCP server](/extend/mcp-server), see [Extend → Skills vs MCP](/extend/skills).

## Source of truth

The canonical skill files live in the docs repo at `skills/<name>/SKILL.md` and follow the standard Anthropic skill format (YAML frontmatter with `name` and `description`, markdown body, file named `SKILL.md` in a directory that matches the skill name).
Expand Down
43 changes: 43 additions & 0 deletions content/docs/extend/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
title: Extend
description: Reach Mogplex capabilities from outside Mogplex — local agents (Claude Code, Cursor, opencode, Claude Agent SDK) driving a user's workspace, skills, memories, and agents through the CLI today or the Mogplex MCP server when it ships.
---

Mogplex is usable from two surfaces that ship today: the [web app](/web) and the [CLI](/cli). This section covers the third direction: letting *other* agents reach Mogplex.

The core question is: your teammate is in Claude Code, Cursor, or a custom Claude Agent SDK app, and wants to use their Mogplex skills, memories, or agents from there — without pasting tokens into a JSON config. What should they do?

<Cards>
<Card
title="MCP server (preview)"
href="/extend/mcp-server"
description="The Mogplex MCP server — remote Streamable HTTP, OAuth 2.1 + PKCE, no token pasting. Planned; not yet generally available."
/>
<Card
title="Skills (available today)"
href="/extend/skills"
description="Anthropic Agent Skills that teach any skill-aware host how to drive a Mogplex workspace through the `mogplex` CLI. Ships today; the MCP-ready substitute."
/>
</Cards>

## Which path is right today

| If the user's agent host… | Use |
| --- | --- |
| Is skill-aware (Claude Code, Agent SDK, Cursor project rules) | [Skills](/extend/skills) |
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion: Exec-mode guide link in extend/index.mdx decision table may be a dead link

The decision table row for CI/shell users links to /cli/guides/exec-mode. This path is not among the changed files and was not verified in this PR. If that page does not yet exist in the docs, the link will 404. Confirm the target exists or stub it before merging, since pnpm build generating 168 pages doesn't necessarily validate that every internal anchor resolves.

| Supports remote MCP with OAuth, and the Mogplex MCP server is live | [MCP server](/extend/mcp-server) |
| Needs a scripted integration from any shell or CI | `mogplex exec --json "…"` — see the [Exec mode guide](/cli/guides/exec-mode) |

Skills are the recommended path until the MCP server is generally available. They cover every capability an MCP tool call would — tool execution, slash-command dispatch, skill listings, memory read/write, auth — and they do not require the user to paste a token anywhere.

## How this section relates to the rest of the docs

- **Inbound MCP** (Mogplex *consuming* external MCP servers like Zapier, Notion, Supabase) is configured in [Settings → Connections](/web/settings). That direction is live today.
- **Outbound MCP** (Mogplex *exposed as* an MCP server to external agents) is covered here at [MCP server](/extend/mcp-server).
- **CLI Skills** documentation lives under [CLI → Skills](/cli/skills). The [Skills](/extend/skills) page in this section is a pointer; the canonical reference is under CLI.

## Design principles this section follows

- **No pasted tokens.** Whether the user picks Skills or MCP, the auth flow owns the credential — either `mogplex login` writing to the OS keyring (Skills path) or OAuth 2.1 + PKCE against the browser session (MCP path).
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Align Skills auth storage docs with current CLI behavior

This says mogplex login writes credentials to the OS keyring, but the repo’s canonical CLI docs state that browser/provider credentials are stored in ~/.mogplex/auth.json (see content/docs/cli/commands/login.mdx and content/docs/cli/guides/authentication.mdx). In practice, users troubleshooting auth or auditing token storage will be sent to the wrong place, and this contradiction is repeated in content/docs/extend/skills.mdx.

Useful? React with 👍 / 👎.

- **One source of truth per capability.** Tools, agents, skills, and memories are implemented once in the Mogplex runtime and exposed through whichever surface the host supports. Both paths call the same underlying services.
- **Auth preflight is mandatory.** Both paths require a working credential before any action runs. Skills enforce it with a `command -v mogplex` + `mogplex login status` gate; MCP enforces it at the Streamable HTTP bearer-token middleware.
89 changes: 89 additions & 0 deletions content/docs/extend/mcp-server.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
---
title: MCP server (preview)
description: The Mogplex MCP server exposes Mogplex tools, agents, skills, and memories to any MCP-aware local agent over remote Streamable HTTP, authenticated via OAuth 2.1 + PKCE. Planned; preview state.
---

<Callout type="warn">
The Mogplex MCP server is in **preview design state** — not generally available. Use [Skills](/extend/skills) today; this page documents the direction of travel so integrators can plan.
</Callout>

## What it is

A remote Model Context Protocol server running at `https://mogplex.com/mcp`. Any MCP-aware agent host (Claude Code, Cursor, Claude Desktop, opencode, custom Agent SDK apps) can connect and call Mogplex tools, agents, skills, and memories as MCP primitives — without the user pasting a token into a JSON config.

## What it replaces

The substitute available today is the **Skills** approach (see [Skills](/extend/skills)). Skills teach an external agent to drive Mogplex through the `mogplex` CLI. The MCP server path replaces that shim with a direct protocol-native integration once the host supports remote MCP with OAuth.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Warning: MCP server endpoint URL is a real, potentially premature public commitment

The page hard-codes https://mogplex.com/mcp as the planned endpoint URL in both prose and the install code snippet:

claude mcp add --transport http mogplex https://mogplex.com/mcp

If the final URL differs (e.g., api.mogplex.com/mcp, or versioned as /mcp/v1), this page will ship incorrect instructions and readers who try the URL early (the Callout says "not generally available" but curious readers will absolutely try it) may get confusing 404s or unexpected responses.

Suggestion: Either (a) use a clearly-placeholder URL like https://mogplex.com/mcp with an inline note that the exact path is subject to change, or (b) omit the install snippet entirely until the server ships and direct readers to release notes. The prose description of the auth model and tool surface is valuable without the code block; the code block is the part that becomes a liability if the URL changes.


```
Claude Code / Cursor ──► mogplex.com/mcp (Streamable HTTP, bearer token)
Mogplex tool/agent/skill/memory handlers
(same code paths the in-app agent uses)
```

## Auth model

Spec-compliant MCP OAuth 2.1 + PKCE, reusing the user's existing Supabase session:

- `/.well-known/oauth-protected-resource` on the MCP endpoint.
- `/.well-known/oauth-authorization-server` on the app origin.
- **Dynamic Client Registration** at `/oauth/register` so each client (Claude Code, Cursor, a custom app) provisions its own `client_id` without the user editing any config.
- Short-lived access tokens (1h, audience `mcp`), rotating refresh tokens (30d), stored hashed in Supabase.
- Scopes: `tools:read`, `tools:execute`, `memories:read`, `memories:write`, `agents:run`, `skills:read`, `workspaces:read`. Default grant is read-only; execute and write require explicit consent at the authorize step.

Users manage active clients from **Settings → Connections → Local agents** (revoke, inspect last-used, see requested scopes).

## Tool surface (planned v1)

Each tool is a thin adapter over an existing Mogplex service, not a new capability:

- `mogplex_list_workspaces`, `mogplex_get_workspace`
- `mogplex_list_skills`, `mogplex_get_skill`, `mogplex_run_skill`
- `mogplex_list_agents`, `mogplex_run_agent` (streamed progress via MCP notifications)
- `mogplex_search_memories`, `mogplex_add_memory`, `mogplex_edit_memory`
- `mogplex_list_rules`, `mogplex_get_rule`
- `mogplex_run_tool` (generic dispatcher)

Mogplex skills are additionally exposed as MCP **prompts**, since a skill definition maps naturally to that primitive.

## Install (once available)

Remote Streamable HTTP — no shim, no token pasting, the host drives OAuth:

```bash
# Claude Code
claude mcp add --transport http mogplex https://mogplex.com/mcp

# Cursor
# Settings → MCP → Add server → URL: https://mogplex.com/mcp
```

For hosts that don't yet speak remote MCP with OAuth, a stdio shim `npx -y @mogplex/mcp` will ship alongside. The shim runs the OAuth flow once, caches the token in the OS keyring, and proxies stdio ↔ HTTP.

## How it relates to Connections (inbound MCP)

Do not confuse the two directions:

| Direction | Where configured | Who authenticates |
| --- | --- | --- |
| **Mogplex consumes an MCP server** (Zapier, Notion, …) | [Settings → Connections](/web/settings) | Mogplex to the external service |
| **Mogplex exposed as an MCP server** | [Settings → Connections → Local agents](/web/settings) (when live) | External agent to Mogplex |

Both can be in use at the same time. An agent running outside Mogplex can call the Mogplex MCP server, and Mogplex can turn around and call a Notion MCP connection from within the same logical tool call.

## Status

- Design: approved.
- Schema, OAuth endpoints, Streamable HTTP handler, stdio shim: planned, not yet merged.
- Current public substitute: [Skills](/extend/skills) and the [CLI](/cli).

When the server ships, this page will update with the live endpoints, the final scope list, and the Settings UI screenshot. Subscribe to release notes or watch the [mogplex-cli repo](https://github.com/webrenew/mogplex-cli) for the `@mogplex/mcp` package.

## See also

- [Skills](/extend/skills) — today's substitute
- [CLI Skills reference](/cli/skills) — canonical skill files
- [Settings → Connections](/web/settings) — inbound MCP (Mogplex as consumer)
- [MCP specification](https://modelcontextprotocol.io/specification)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Warning: Missing terminal period breaks last sentence of mcp-server.mdx prose

The final sentence of the "How it relates to Connections" section ends without a period:

…and Mogplex can turn around and call a Notion MCP connection from within the same logical tool call

This is a minor copy issue, but it's at the very end of the file and will be visible to readers. Add the missing period.

4 changes: 4 additions & 0 deletions content/docs/extend/meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"title": "Extend",
"pages": ["index", "mcp-server", "skills"]
}
61 changes: 61 additions & 0 deletions content/docs/extend/skills.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
---
title: Skills
description: Anthropic Agent Skills that teach Claude Code, the Claude Agent SDK, Cursor, opencode, and other skill-aware hosts how to drive a user's Mogplex workspace through the `mogplex` CLI. Available today.
---

Skills are the currently-shipping path for letting an external agent reach a user's Mogplex capabilities. They are the drop-in substitute for the [MCP server](/extend/mcp-server) until that ships.

<Callout>
The canonical skill files and the per-skill reference pages live under [CLI → Skills](/cli/skills). This page is the entry point from the Extend section — it describes the shape of the set and the trade-offs versus MCP. Go to [/cli/skills](/cli/skills) for the individual skills.
</Callout>

## What the set covers

| Skill | Role |
| --- | --- |
| [`using-mogplex-cli`](/cli/skills/using-mogplex-cli) | Umbrella. Routes the agent to the right command when the user asks for a Mogplex workspace action. |
| [`mogplex-exec`](/cli/skills/mogplex-exec) | One-off non-interactive runs with `--json` / `--jsonl` output. |
| [`mogplex-slash`](/cli/skills/mogplex-slash) | Discover and run Mogplex slash commands from the shell. |
| [`mogplex-auth`](/cli/skills/mogplex-auth) | Auth preflight, env-var precedence, troubleshooting decision tree. |

Together they cover the same capability surface the [MCP server](/extend/mcp-server) will expose — tool execution, slash-command dispatch, skill and memory access, agent runs, and auth — without needing the host to speak MCP or hold a bearer token.

## Why this is the right path today

- **No pasted tokens.** The `mogplex login` browser flow owns the credential and writes it to the OS keyring. The external agent never sees raw auth material.
- **Works in every skill-aware host.** The skill format is portable: Claude Code, Claude Agent SDK, and any host that reads `SKILL.md`-style files. Cursor project rules work too by copying the skill body.
- **Thin wrapper.** Skills do not duplicate Mogplex logic — they are instructions for how to call the existing CLI, which calls the existing Mogplex runtime.
- **No infra dependency.** Ships the moment the CLI is on the user's `PATH`. Nothing to deploy, no tokens to provision.

## Skills vs MCP server at a glance

| | Skills (today) | MCP server (preview) |
| --- | --- | --- |
| Status | **Available** | Preview design; not live |
| Protocol | Skill file + shell | MCP Streamable HTTP |
| Auth | `mogplex login` → OS keyring | OAuth 2.1 + PKCE (DCR) |
| Token pasted in config? | No | No |
| Execution path | External agent shells out to `mogplex exec` | External agent calls MCP tool |
| Streaming progress | `--jsonl` | MCP `notifications/progress` |
| Host requirement | Skill-aware (Claude Code, Agent SDK, Cursor rules) | Remote-MCP-aware with OAuth |
| Host reach today | High | Claude Code ≥ latest, Cursor, a few others |

When the MCP server ships, both paths will stay supported. Skills will continue to be the right answer for hosts that don't speak remote MCP, for CI contexts, and for anyone who prefers shell-driven integration.

## Install

```bash
# Global (Claude Code)
mkdir -p ~/.claude/skills && cp -R skills/* ~/.claude/skills/

# Or per-project
mkdir -p .claude/skills && cp -R skills/* .claude/skills/
```
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Warning: Install snippet references a skills/ source directory that may not exist or may mislead readers

The install block in extend/skills.mdx (and the identical block in cli/skills/index.mdx) tells users to run:

cp -R skills/* ~/.claude/skills/

This assumes a skills/ directory exists at the root of whatever context the user is working in — which is true if they've cloned mogplex-docs, but completely wrong if they encounter this snippet from the rendered docs page while working in their own project. There's no instruction to first clone the repo or npx-fetch the skills. A reader who blindly pastes this will get a shell error with no clear recovery path.

Suggestion: Add a short prerequisite step above the snippet (e.g., "First, clone the mogplex-docs repo or download the skills archive:") or change the snippet to use a direct download/npx invocation so it works standalone. The canonical cli/skills/index.mdx already shows the right context for Agent SDK; the Claude Code block deserves the same treatment.


See [CLI → Skills](/cli/skills) for Agent SDK integration, Cursor instructions, and the full install matrix.

## See also

- [CLI → Skills](/cli/skills) — canonical reference for every skill
- [MCP server (preview)](/extend/mcp-server) — what Skills are a substitute for
- [Extend overview](/extend) — the decision between Skills and MCP
5 changes: 5 additions & 0 deletions content/docs/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,11 @@ The first useful question is simpler:
href="/web"
description="Projects, sandboxes, agents, automations, triggers, observability, settings, installations, and the hosted API."
/>
<Card
title="Extend"
href="/extend"
description="Reach Mogplex from outside Mogplex — Skills today, MCP server in preview."
/>
</Cards>

In practice, most users do this:
Expand Down
2 changes: 1 addition & 1 deletion content/docs/meta.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"title": "Mogplex Docs",
"root": true,
"pages": ["index", "cli", "web"]
"pages": ["index", "cli", "web", "extend"]
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion: content/docs/meta.json places extend after web — verify sidebar order matches UX intent

The updated meta.json is ["index", "cli", "web", "extend"]. The PR description says Extend should appear "between Web App and page end", which this satisfies. However the get-started cards in index.mdx now show MCP server card before Skills card:

<Card title="MCP server (preview)"  />
<Card title="Skills (available today)"  />

Since Skills is the recommended path today and MCP is explicitly preview-only, putting it second in the hub card list may cause users to skip the preferred path. Consider swapping the card order so Skills appears first, consistent with the recommendation text that immediately follows the cards.

}
4 changes: 4 additions & 0 deletions content/docs/web/settings.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,10 @@ work?**

Connections are where you register the non-model systems agents can call.

<Callout>
Connections is about **inbound** integrations — Mogplex calling external systems. For the opposite direction — external agents calling into Mogplex — see [Extend](/extend): Skills today, the [MCP server](/extend/mcp-server) in preview.
</Callout>

Mogplex supports two connection categories:

- **REST API** connections
Expand Down