Last updated 2026-10-27

MCP server

Kinsy runs a remote Model Context Protocol server at:

https://mcp.kinsy.ai/mcp

Connect an agent to it and the agent gets six tools that take a brief and the user's source material to a finished, editable PowerPoint file: a native .pptx with real text boxes, tables and charts, which opens in PowerPoint and Google Slides as designed. The server is open source (kinsy-ai/kinsy-agents) and stores nothing: every call runs with your own API key, so it spends the same credits as the web app and sees only your decks.

Authentication

Send an API key from Settings → API keys as a bearer token:

Authorization: Bearer ksy_live_…

Keep the key in an environment variable such as KINSY_API_KEY and let your client read it from there; never paste it into a chat. Hosted assistants that sign in with OAuth (Claude.ai connectors, ChatGPT) are next: their one-click connection arrives with Kinsy's sign-in server.

Set up your client

Claude Code

claude mcp add --transport http kinsy https://mcp.kinsy.ai/mcp \
  --header "Authorization: Bearer $KINSY_API_KEY"

Or share it with a project in .mcp.json:

{
  "mcpServers": {
    "kinsy": {
      "type": "http",
      "url": "https://mcp.kinsy.ai/mcp",
      "headers": { "Authorization": "Bearer ${KINSY_API_KEY}" }
    }
  }
}

Codex

In ~/.codex/config.toml:

[mcp_servers.kinsy]
url = "https://mcp.kinsy.ai/mcp"
bearer_token_env_var = "KINSY_API_KEY"

Cursor

In .cursor/mcp.json (one project) or ~/.cursor/mcp.json (everywhere):

{
  "mcpServers": {
    "kinsy": {
      "url": "https://mcp.kinsy.ai/mcp",
      "headers": { "Authorization": "Bearer ${env:KINSY_API_KEY}" }
    }
  }
}

VS Code and GitHub Copilot

In .vscode/mcp.json, which prompts for the key once and stores it securely:

{
  "inputs": [
    { "id": "kinsy-key", "type": "promptString", "description": "Kinsy API key", "password": true }
  ],
  "servers": {
    "kinsy": {
      "type": "http",
      "url": "https://mcp.kinsy.ai/mcp",
      "headers": { "Authorization": "Bearer ${input:kinsy-key}" }
    }
  }
}

Any other client

Use the Streamable HTTP transport at https://mcp.kinsy.ai/mcp with the Authorization header above. The server is stateless and answers tool calls as event streams, so progress arrives while a deck builds.

Tools

ToolWhat it doesCredits
create_deckStarts a deck from a brief and optional sources (name and text of each document). Answers at once with a deck_id. Optional: slides (4–25), theme, research, answers, skip_questions, idempotency_key.40 up to 10 slides · 60 up to 16 · 90 up to 25, plus 10 per picture
wait_for_deckWaits for the deck to finish (default 200 seconds, at most 540), streaming progress, then returns the download links. If the wait ends first, call it again.free
get_deckStatus and links without waiting; include_previews adds images of the first six slides, include_quality adds the claims the sources could not back.free
export_deckA fresh download link for the pptx (default), pdf, or png (a zip of slide images). Links last one hour.free
edit_slideRewrites one slide (counting from 1) from an instruction. If the instruction is too vague, it asks a question instead and charges nothing.5, plus 10 for a new picture
list_themesThe theme ids create_deck accepts.free

A finished deck usually takes one to two minutes. Every result carries structured data (deck_id, status, pptx_url, expires_at, web_url and so on) beside a one-line summary. Results never repeat your brief or source text, and never include your key.

Errors

A tool that cannot do its job returns an error result with one plain sentence:

The limits are the API's: 15 decks a day, 40 edits an hour, 120 requests a minute per key.

Prefer a terminal?

The command line does the same job in one command (npx kinsy-cli create "…" --wait --out deck.pptx), and the agent skill teaches local agents to use it.