slideless-mcp

slideless-mcp

MCP server that wraps the Slideless HTTP API as tools for listing, sharing, uploading, and managing HTML presentations from any MCP host without installing the CLI.

Category
Visit Server

README

slideless-mcp

MCP server for Slideless. Wraps the Slideless HTTP API as Model Context Protocol tools so users can list, share, upload, and manage HTML presentations from any MCP host (Claude Desktop, claude.ai, ChatGPT desktop, Cursor, etc.) without installing the slideless CLI.

Architecture

Stateless Cloudflare Worker (Durable Object per session for MCP state). The Worker forwards the user's Authorization: Bearer cko_… header to the Slideless Cloud Functions in europe-west1. No database, no secrets to rotate — the user's API key never leaves the connector header.

Claude / ChatGPT  →  mcp.slideless.ai/mcp  (Cloudflare Worker)
                          │
                          ▼
                 europe-west1-slideless-ai.cloudfunctions.net

Use as a connector

  1. Sign in at https://app.slideless.ai → Settings → API Keys → Create
  2. Copy the cko_… key (shown once)
  3. In Claude Desktop: Settings → Connectors → Add custom connector
    • URL: https://mcp.slideless.ai/mcp
    • Header: Authorization: Bearer cko_…
  4. Connect. The server validates the key on connect; bad keys fail fast.

Tools

Tool What it does
slideless_whoami Identity check — returns org, key name, scopes
slideless_list_presentations List owned + invited presentations
slideless_get_presentation Full info for one presentation (tokens, collaborators)
slideless_list_versions Version history of a presentation
slideless_get_version Manifest of a specific version
slideless_download_version Manifest + inline text-file contents (HTML/CSS/JS up to 256 KB each)
slideless_upload_html_presentation Upload a single-file HTML deck
slideless_upload_presentation_files Upload a multi-file deck (base64 array)
slideless_add_share_token Mint a public viewer URL
slideless_set_token_version_mode Pin or unpin a token to a version
slideless_unshare_presentation Revoke one or all share tokens
slideless_share_via_email Send the share URL by email
slideless_invite_collaborator Grant another user dev access (sends email)
slideless_uninvite_collaborator Revoke a collaborator
slideless_list_collaborators List collaborators on a presentation
slideless_delete_presentation Permanently delete a presentation

Local development

npm install
npm run dev           # wrangler dev → http://localhost:8787

Test with the MCP Inspector:

npx @modelcontextprotocol/inspector
# Set transport: HTTP (streamable)
# URL: http://localhost:8787/mcp
# Header: Authorization: Bearer cko_<your-key>

Deploy

npm run deploy

The first deploy creates the Worker at https://slideless-mcp.<account>.workers.dev/mcp. Bind the custom domain mcp.slideless.ai via Cloudflare dashboard or wrangler deploy --routes once DNS is in place.

Type checking:

npm run typecheck

Source layout

src/
├── index.ts              # Worker entry: routing, rate limiting, McpAgent
├── server.ts             # Tool registration entry point
├── slidelessClient.ts    # Typed fetch wrapper around Cloud Functions
├── types.ts              # Wire shapes (mirrors slideless-app types/)
├── errors.ts             # SlidelessApiError + wrapToolErrors helper
└── tools/
    ├── identity.ts       # slideless_whoami
    ├── presentations.ts  # list / get / versions / download / delete
    ├── upload.ts         # upload_html / upload_files (3-step orchestration)
    ├── sharing.ts        # tokens, version mode, unshare, email
    └── collaborators.ts  # invite / uninvite / list

Related repos

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured