mcpField
2
2slides MCP Server

2slides MCP Server

ローカル
github.com/2slides生産性348 週間前に更新

2slides MCP Server について

2slides MCP サーバーは、2slides.com のツールを MCP クライアントに公開し、PowerPoint プレゼンテーションやカスタムデザインのスライドの生成、AI 音声ナレーションの追加を行います。結果はダウンロードリンクとして返され、テキストや参考画像からプレゼン資料を作成したいユーザー向けです。

主な機能

  1. 01テーマを使った PowerPoint の生成
  2. 02参考画像のスタイルに基づくスライドの生成
  3. 031人または2人の AI 音声ナレーション
  4. 04スライドのページと音声の ZIP エクスポート
  5. 05Streamable HTTP と stdio の接続方式

活用シーン

  1. 01テキストからのプレゼンテーションの作成
  2. 02参考画像のスタイルに合わせたスライドの作成
  3. 03完成したスライドへのナレーション追加と書き出し

MCP 対応

本プロジェクトは、プレゼン生成、テーマ検索、ジョブ確認、ナレーションのツールを MCP クライアントに公開する MCP サーバーです。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"2slides": {
"command": "npx",
"args": [
"-y",
"2slides-mcp"
],
"env": {
"API_KEY": "<API_KEY>"
}
}
}
}
起動コマンドnpx -y 2slides-mcp
設定が必要な環境変数
API_KEYシークレット

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm2slides-mcp

ツール

7

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
userInputstringはい
themeIdstringはい
responseLanguagestringいいえ
modeenumいいえsync | async

詳細

2slides MCP サーバー

2slides

MCP クライアントで 2slides.com のツールを利用できるようにします。PowerPoint デッキやカスタムデザインのスライドを生成し、AI 音声ナレーションを追加して、完成したファイルをダウンロードリンクで取得できます。

API キーを取得する

接続する前に、2slides.com/api から API キーを取得してください。

接続

2slides はホスト型の Streamable HTTP MCP エンドポイントを提供しており、この stdio パッケージも用意されています。どちらも同じアカウントとクレジットを使って、同じ 7 つのツールを利用できます。

Streamable HTTPstdio(このパッケージ)
セットアップ1 つのコマンドで完了。インストール不要Node.js 18 以降が必要。npx がパッケージを取得
更新サーバー側で行われ、常に最新お使いのマシンに再ダウンロード
実行環境リモート接続に対応した任意の MCP クライアントローカルプロセスを起動できる任意のクライアント
オプション 1 — Streamable HTTP(推奨)

Anthropic の MCP ドキュメントでは、HTTP は「リモート MCP サーバーへの接続に推奨されるオプション」とされています。2slides はローカルファイルやプロセスにアクセスする必要のないホスト型サービスなので、まずはこちらをお試しください。

Claude Code

claude mcp add --transport http 2slides "https://2slides.com/api/mcp?apikey=YOUR_2SLIDES_API_KEY"

claude mcp list で確認してください。サーバーに ✔ Connected と表示されるはずです。

プロジェクト設定(.mcp.json、チームで共有)

{
  "mcpServers": {
    "2slides": {
      "type": "http",
      "url": "https://2slides.com/api/mcp?apikey=YOUR_2SLIDES_API_KEY"
    }
  }
}

Claude Desktop / claude.ai:同じ URL を使って、claude.ai/customize/connectors でカスタムコネクターとして追加してください。

オプション 2 — stdio(ローカルプロセス)

クライアントがローカルプロセスの起動にしか対応していない場合、マシンから 2slides.com に直接接続できない場合、またはサーバーをご自身でバージョン固定してパッチを適用したい場合に使用してください。

Claude Code

claude mcp add 2slides -e API_KEY=YOUR_2SLIDES_API_KEY -- npx -y 2slides-mcp@latest

Claude Desktop — ~/Library/Application Support/Claude/claude_desktop_config.json(Windows の場合は %APPDATA%\Claude\claude_desktop_config.json)を編集します。

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

-y フラグを指定すると、npx は確認を求めずにパッケージをインストールします。その後、Claude Desktop を完全に再起動してください。チャットでツールパネルを開くと、以下のツールが表示されます。

利用可能なツール

slides_generate (POST /api/v1/slides/generate)

あらかじめ用意されたテーマ(Fast PPT)を使って PowerPoint プレゼンテーションを生成します。まず themes_search を使って themeId を探してください。

  • 引数:
    • userInput (string, 必須) — プレゼンテーションの内容
    • themeId (string, 必須) — themes_search で取得したテーマ ID
    • responseLanguage (string, 任意、デフォルト:Auto) — 出力言語。対応する値:Auto、English、Spanish、Arabic、Portuguese、Indonesian、Japanese、Russian、Hindi、French、German、Greek、Vietnamese、Turkish、Thai、Polish、Italian、Korean、Simplified Chinese、Traditional Chinese
    • mode (任意、デフォルト:sync) — sync は downloadUrl をすぐに返します。async は jobs_get でポーリングする jobId を返します
  • クレジット: 1 ページあたり 1
  • 例:
    {
      "themeId": "st-1756528793701-fcg5fblt2",
      "userInput": "Generate a 5-slide intro to machine learning",
      "responseLanguage": "English",
      "mode": "sync"
    }
    

themes_search (GET /api/v1/themes/search)

slides_generate で使う、あらかじめ用意されたテーマを検索します。

  • 引数:
    • query (string, 必須) — 検索キーワード(例:business、minimal、dark)
    • limit (number, 任意、デフォルト:10、範囲:1–100)
  • 戻り値: id、name、description、previewUrl、tags を含むテーマの配列
  • クレジット: 無料
  • 例:
    { "query": "business", "limit": 5 }
    

jobs_get (GET /api/v1/jobs/{jobId})

ジョブの状態をポーリングし、準備ができたら結果を取得します。

  • 引数:
    • jobId (string, 必須)
  • 戻り値: jobId、status(pending / processing / success / failed)、message、downloadUrl(成功時)、slidePageCount、createdAt、updatedAt、duration(ms)、jobUrl(Nano Banana のジョブのみ)
  • クレジット: 無料
  • 注: status が success または failed になるまで、20 秒ごとにポーリングしてください。
  • 例:
    { "jobId": "D8h9VYDGdTlZ6wWSEoctF" }
    

slides_create_like_this (POST /api/v1/slides/create-like-this)

参照画像のスタイルに合わせたスライドを生成します(Nano Banana)。

  • 引数:
    • userInput(string、必須)— プレゼンテーションの内容
    • referenceImageUrl(string、必須)— スタイルの参照画像の URL
    • responseLanguage(string、任意、デフォルト:Auto)
    • aspectRatio(string、任意、デフォルト:16:9)— 有効な値:1:1、2:3、3:2、3:4、4:3、4:5、5:4、9:16、16:9、21:9
    • resolution(string、任意、デフォルト:2K)— 1K、2K、4K
    • page(number、任意、デフォルト:0)— 0 = 自動検出、1–100 = 正確なページ数
    • contentDetail(string、任意、デフォルト:standard)— concise または standard
    • mode(string、任意、デフォルト:async)— async は jobId を返し、sync は直ちに downloadUrl を返します
  • クレジット: 1 ページあたり 100(1K/2K)または 200(4K)
  • 例:
    {
      "userInput": "Create a presentation about AI trends",
      "referenceImageUrl": "https://example.com/style-reference.jpg",
      "aspectRatio": "16:9",
      "resolution": "2K",
      "page": 5,
      "contentDetail": "standard",
      "mode": "async"
    }
    

slides_create_pdf_slides (POST /api/v1/slides/create-pdf-slides)

参照画像を使わず、テキストの内容からカスタムデザインのスライドを生成します(Nano Banana)。

  • 引数:
    • userInput(string、必須)— プレゼンテーションの内容
    • designStyle(string、任意)— ビジュアルスタイルの自由記述。デフォルトのスタイルを使用する場合は空欄にします
    • responseLanguage(string、任意、デフォルト:Auto)
    • aspectRatio(string、任意、デフォルト:16:9)— 有効な値:1:1、2:3、3:2、3:4、4:3、4:5、5:4、9:16、16:9、21:9
    • resolution(string、任意、デフォルト:2K)— 1K、2K、4K
    • page(number、任意、デフォルト:0)— 0 = 自動検出、1–100 = 正確なページ数
    • contentDetail(string、任意、デフォルト:standard)— concise または standard
    • mode(string、任意、デフォルト:async)— async は jobId を返し、sync は直ちに downloadUrl を返します
  • クレジット: 1 ページあたり 100(1K/2K)または 200(4K)
  • 例:
    {
      "userInput": "Quarterly business review for Q3 2025",
      "designStyle": "modern, dark background, bold typography",
      "aspectRatio": "16:9",
      "resolution": "2K",
      "page": 8,
      "mode": "async"
    }
    

slides_generate_narration (POST /api/v1/slides/generate-narration)

完成した Nano Banana ジョブに AI 音声ナレーションを追加します(対象は slides_create_like_this または slides_create_pdf_slides のみ。Fast PPT は非対応)。常に非同期で実行されます。jobs_get で結果をポーリングしてください。

  • 引数(単一の話者、デフォルトは mode: "single"):

    • jobId(string、必須)— 完了済みの Nano Banana ジョブの UUID
    • mode(string、任意、デフォルト:single)— single または multi
    • speakerName(string、任意)— ナレーター名
    • voice(string、任意)— 30 種類の音声から 1 つ(下記の一覧を参照)
    • contentMode(string、任意、デフォルト:standard)— concise または standard
    • includeIntro(boolean、任意、デフォルト:true)
  • 引数(2 人の話者、mode: "multi"):

    • jobId(string、必須)
    • mode(string、必須)— multi
    • speaker1Name(string、必須)
    • speaker2Name(string、必須)
    • speaker1Voice(string、任意)— 話者 1 の音声
    • speaker2Voice(string、任意)— 話者 2 の音声
    • contentMode(string、任意、デフォルト:standard)— concise または standard
  • 対応音声(30 種類): Puck、Aoede、Charon、Kore、Fenrir、Zephyr、Leda、Orus、Callirrhoe、Autonoe、Enceladus、Iapetus、Umbriel、Algieba、Despina、Erinome、Algenib、Rasalgethi、Laomedeia、Achernar、Alnilam、Schedar、Gacrux、Pulcherrima、Achird、Zubenelgenubi、Vindemiatrix、Sadachbia、Sadaltager、Sulafat

  • クレジット: 1 ページあたり 210(テキスト 10 + 音声 200)

  • 例:

    {
      "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "mode": "multi",
      "speaker1Name": "Alice",
      "speaker2Name": "Bob",
      "speaker1Voice": "Aoede",
      "speaker2Voice": "Puck",
      "contentMode": "standard"
    }
    

slides_download_slides_pages_voices (POST /api/v1/slides/download-slides-pages-voices)

スライドページと音声ナレーションを ZIP ファイルとしてエクスポートします。ジョブが完了し、ナレーションが生成済みである必要があります。

  • 引数:
    • jobId(string、必須)— ナレーション生成済みのジョブの UUID
  • 戻り値: downloadUrl(1 時間で有効期限切れ)、fileName、expiresIn(3600 秒)
  • ZIP の内容:
    pages/
      page_01.png, page_02.png, …
    voices/
      page_01.wav, page_02.wav, …
    transcript.txt
    
  • クレジット: 無料
  • 例:
    { "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890" }
    

典型的なワークフロー

高速 PPT(テーマベースの PowerPoint):

  1. themes_search → themeId を取得します
  2. slides_generate(同期)→ downloadUrl を直接取得します

Nano Banana(カスタムデザインのスライド):

  1. slides_create_like_this または slides_create_pdf_slides(非同期)→ jobId を取得します
  2. jobs_get(20 秒ごとにポーリング)→ status: "success" になったら downloadUrl を取得します

ナレーション付きの Nano Banana:

  1. slides_create_like_this または slides_create_pdf_slides → jobId を取得します
  2. jobs_get → スライドの処理が完了するまで待ちます
  3. slides_generate_narration → ナレーションの jobId を取得します
  4. jobs_get → ナレーションの処理が完了するまで待ちます
  5. slides_download_slides_pages_voices → ZIP のダウンロードリンクを取得します

トラブルシューティング(Claude Desktop)
  • Claude にツールが表示されない場合は、設定ファイルのパスが絶対パスであることを確認し、アプリを再起動してください。
  • Claude の MCP ログを確認します:
tail -n 50 -f ~/Library/Logs/Claude/mcp*.log
  • stdio MCP サーバーでは、stdout へのログ出力を避けてください。このサーバーはエラーのみを stderr に出力します。
参考資料

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。