2Slides Logo
How to Use OpenClaw with the 2Slides MCP Server (2026 Guide)
2Slides Team
7 min read

How to Use OpenClaw with the 2Slides MCP Server (2026 Guide)

Quick answer (≤60 words): OpenClaw can generate real PowerPoint files by adding the 2Slides MCP server under the mcp.servers key in ~/.openclaw/openclaw.json. Get a key at 2slides.com/api, add a stdio server (command: "npx", args: ["2slides-mcp"], env.API_KEY) or a remote one (url + transport: "streamable-http"), then ask your OpenClaw agent to build a deck.

OpenClaw is an open-source AI agent framework, and it is a full Model Context Protocol (MCP) client. Wire in the 2Slides MCP server and any OpenClaw agent gains the ability to turn a brief — or a document it can read — into a finished, editable .pptx.

This guide covers the exact openclaw.json schema for both transports (local stdio and remote Streamable HTTP), the openclaw mcp CLI shortcuts, how MCP tools surface into agent tool profiles, and how to verify everything with a live probe.

Why give OpenClaw the 2Slides server?

OpenClaw agents reason, plan, and read your files. They don't render binary slide files — that's a job for a dedicated generator. With 2Slides attached:

  • OpenClaw decides the slide structure, copy, and narrative from your source material.
  • The 2Slides MCP server produces the actual PowerPoint — theme-based Fast PPT, or image-designed slides with optional AI voice narration and an exportable asset bundle.

What you need first

  1. OpenClaw installed (openclaw on your PATH).
  2. A 2Slides API key from 2slides.com/api.
  3. Node.js for the stdio transport (npx -y 2slides-mcp@latest). The HTTP transport needs nothing local.

Stdio vs Streamable HTTP: which transport?

The 2Slides MCP server supports both. In OpenClaw, the two are distinguished simply by which fields you set — there is no type field:

Stdio (local)Streamable HTTP (remote)
Identifying fieldcommand presenturl present
Transport fieldn/atransport: "streamable-http"
Local Node.jsRequiredNot required
Best forLocal agents, full controlRemote/hosted agents, CI

Method 1: stdio in openclaw.json

OpenClaw's config lives at ~/.openclaw/openclaw.json. MCP servers go under the top-level mcp key, in a name-keyed servers object:

{ "mcp": { "servers": { "2slides": { "command": "npx", "args": ["-y", "2slides-mcp@latest"], "env": { "API_KEY": "YOUR_2SLIDES_API_KEY" } } } } }

That's it — the presence of command marks it as a local stdio server.

Method 2: Streamable HTTP in openclaw.json

For the hosted endpoint, set url and the canonical transport field:

{ "mcp": { "servers": { "2slides": { "url": "https://2slides.com/api/mcp?apikey=YOUR_2SLIDES_API_KEY", "transport": "streamable-http" } } } }

Note: OpenClaw's canonical transport value is "streamable-http" (a legacy type: "http" alias is accepted but normalized away — write transport). If your key belongs in a header rather than the URL, use "headers": { "Authorization": "Bearer YOUR_2SLIDES_API_KEY" } instead of the ?apikey= query.

Or use the openclaw mcp CLI

These write to the same mcp.servers config:

# stdio openclaw mcp add 2slides --command npx --arg 2slides-mcp --env API_KEY=YOUR_2SLIDES_API_KEY # remote (set the full server object as JSON) openclaw mcp set 2slides '{"url":"https://2slides.com/api/mcp?apikey=YOUR_2SLIDES_API_KEY","transport":"streamable-http"}'

Verify the connection

OpenClaw ships dedicated MCP diagnostics:

openclaw mcp status --verbose # resolved transport/auth/timeouts (static, no connection) openclaw mcp doctor 2slides --probe # static checks, then a live connection test openclaw mcp probe 2slides --json # connect live and list the exposed tools openclaw mcp reload # drop cached in-process MCP runtimes

A successful probe lists the 2Slides tools (slides_generate, themes_search, and the rest), confirming the agent can call them.

How the tools reach your agent

Configured MCP tools are exposed automatically in OpenClaw's coding and messaging tool profiles. Notes:

  • The minimal profile hides MCP tools; switch profiles if you don't see them.
  • To disable MCP tools explicitly, add "bundle-mcp" to tools.deny.
  • To expose only some 2Slides tools, use per-server toolFilter.include / toolFilter.exclude (exact names or * globs):
{ "mcp": { "servers": { "2slides": { "command": "npx", "args": ["-y", "2slides-mcp@latest"], "env": { "API_KEY": "YOUR_2SLIDES_API_KEY" }, "toolFilter": { "include": ["themes_search", "slides_generate", "jobs_get"] } } } } }

To keep a server defined but inactive, set "enabled": false.

Generate your first deck

Ask your OpenClaw agent in plain language:

Read PROJECT_BRIEF.md and generate an 8-slide overview deck. Find a clean "minimal" theme from 2slides first, then create the PowerPoint and give me the download link.

OpenClaw calls themes_search → slides_generate (Fast PPT) → returns the downloadUrl. For custom image-designed slides it uses slides_create_pdf_slides and polls jobs_get (about every 20 seconds) until ready.

The 2Slides MCP tool surface

ToolWhat it doesCredits
themes_searchFind a themeId for Fast PPTFree
slides_generateTheme-based PowerPoint (Fast PPT), sync/async10 / page
slides_create_pdf_slidesCustom image-designed slides from text (Nano Banana)100 / page (1K/2K), 200 (4K)
slides_create_like_thisSlides matching a reference image's style100 / page (1K/2K), 200 (4K)
slides_generate_narrationAdd AI voice narration to a Nano Banana job210 / page
slides_download_slides_pages_voicesExport pages + audio as a ZIPFree
jobs_getPoll an async job to completionFree

Common mistakes and troubleshooting

  • Used mcpServers instead of mcp.servers. In OpenClaw config, the key is mcp.servers. (mcpServers is a different, external-client concept — running OpenClaw as a server.)
  • Wrote type instead of transport. type is a legacy alias; the canonical field is transport: "streamable-http".
  • Tools don't appear. You're likely on the minimal profile, or tools.deny contains bundle-mcp. Switch to coding/messaging and run openclaw mcp reload.
  • stdio server won't start. Confirm Node.js is installed and API_KEY is set in env.
  • Polling async jobs. Let the agent poll jobs_get every ~20s; Nano Banana and narration jobs are async by default.

Frequently asked questions

Does OpenClaw support custom MCP servers?

Yes. OpenClaw is a native MCP client. Add servers under the mcp.servers key in ~/.openclaw/openclaw.json, or via openclaw mcp add / openclaw mcp set. Both stdio and Streamable HTTP transports are supported.

What's the config key for MCP servers in OpenClaw?

mcp.servers — a name-keyed object inside the top-level mcp object. Local servers use command/args/env; remote servers use url + transport: "streamable-http".

How do I confirm 2Slides is connected?

Run openclaw mcp probe 2slides --json for a live connection that lists the exposed tools, or openclaw mcp doctor 2slides --probe for static checks plus a connection test.

Does it generate a real PowerPoint?

Yes. slides_generate returns an editable .pptx; the Nano Banana tools return image-designed decks with optional AI narration and an exportable bundle.

Where do I get the key and config?

At 2slides.com/api?tab=mcp — your key, a copy-paste config, and the Streamable HTTP endpoint.

The takeaway

One mcp.servers entry in openclaw.json gives every OpenClaw agent a slide generator. Stdio for local, transport: "streamable-http" for remote — then openclaw mcp probe to prove it works.

For the wider context, see how MCP is changing presentation workflows and the PowerPoint MCP server ecosystem map. Comparing agents? See how to use Claude Code and OpenAI Codex with the same server.

Get your key and config at 2slides.com/api?tab=mcp and give your OpenClaw agent a one-sentence path to a finished deck.

Sources:

About 2Slides

Create stunning AI-powered presentations in seconds. Transform your ideas into professional slides with 2slides AI Agent.

Try For Free