mcpField
S
slima

slima

リモート
github.com/slima-ai生産性14 日前に更新
リポジトリ

slima について

slimaは小説家向け執筆IDE SlimaのMCPサーバーで、対応するAIツールから本や原稿を扱えます。ファイル操作や執筆支援に加え、スタジオ種別ごとに異なる編集範囲と仮想ベータ読者の評価を備えています。

主な機能

  1. 01本の作成と一覧表示
  2. 02ファイルの読み取り・編集・検索
  3. 03構造化された執筆内容の管理
  4. 04執筆統計の確認
  5. 05仮想読者による章の評価

活用シーン

  1. 01AIに章やファイルを確認させる
  2. 02複数の本から文章を検索する
  3. 03読者ペルソナごとの章評価を得る

MCP 対応

本の管理、ファイル操作、執筆ツール、AI Beta Reader機能をMCPクライアントに公開します。ローカルstdioとリモートHTTPで接続できます。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://mcp.slima.ai/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

パッケージ
npmslima-mcp0.1.13

ツール

詳細

Slima MCP

npm version License: MIT

Slima 向け MCP(Model Context Protocol)サーバーです。小説家向けの AI ライティング IDE です。

Slima の書籍をあらゆる MCP 対応 AI ツールに接続できます。1 つのサーバーで、すべてのプラットフォームに対応します。

対応プラットフォーム

デスクトップアプリケーション(ローカル MCP - stdio)
プラットフォーム状態備考
Claude Desktop✅MCP ネイティブ対応
ChatGPT Desktop✅Developer Mode(2025.10+)
Gemini CLI✅MCP ネイティブ対応
Cursor✅MCP ネイティブ対応
VS Code✅MCP 拡張機能経由
Web アプリケーション(リモート MCP - HTTP)
プラットフォーム状態備考
Claude.ai✅OAuth ログイン、トークン不要
ChatGPT Web✅OAuth ログイン、トークン不要

2025 年 12 月、Anthropic、OpenAI、Block が Linux Foundation の下で Agentic AI Foundation を共同設立したことにより、MCP は業界標準となりました。

機能

書籍管理
  • 新しい書籍の作成
  • 書籍の一覧表示と閲覧
  • ファイル/フォルダー構成の取得
  • 執筆統計の追跡
ファイル操作
  • パスを指定して任意のファイルを読み取り
  • 特定のテキストを編集(検索と置換)
  • ファイルの内容を書き込み(置換)
  • 新しいファイルの作成
  • ファイルの削除
  • ファイルへの内容の追記
  • すべてのファイルを対象に検索
AI ベータリーダー
  • 仮想読者のペルソナからフィードバックを取得
  • 読者の視点を変えて章を分析

クイックスタート

AI の使い方に合った方法を選択してください。

おすすめ:claude.ai / ChatGPT Web(自動更新)

ブラウザーで Claude または ChatGPT を使っている場合、これが最も簡単で、将来にわたって安心して使える方法です。一度設定すれば、Slima MCP のすべての更新が自動的に適用されます。アップグレードコマンドや設定ファイルの編集は不要です。

MCP URL: https://mcp.slima.ai/mcp

claude.ai(Pro / Max / Team / Enterprise)
  1. claude.ai にサインインします。
  2. Settings → Connectors(プランによっては Integrations)を開きます。
  3. Add custom connector をクリックします。
  4. 次の情報を入力します。
    • Name: Slima
    • URL: https://mcp.slima.ai/mcp
  5. Connect をクリックします → slima.ai にリダイレクトされるので承認します → claude.ai に戻ります。
  6. チャットの入力欄に Slima のツールアイコンが表示されます。これで完了です。
ChatGPT(Plus / Pro、Developer Mode)
  1. chatgpt.com にサインインします。
  2. Settings → Connectors → Advanced を開き、Developer Mode をオンにします(2025.10+)。
  3. Connectors に戻り、Create → Custom MCP Server をクリックします。
  4. 次の情報を入力します。
    • Name: Slima
    • Server URL: https://mcp.slima.ai/mcp
    • Authentication: OAuth
  5. Create をクリックし、OAuth の認証フローを承認します。

セットアップ後、次の会話から Slima の機能が自動的に利用可能になります。再起動も再インストールも不要です。


ローカル:Claude Desktop / Cursor / Gemini CLI

オフラインで使いやすい環境、高速な起動、または他の stdio サーバーと併せて MCP を実行する必要がある場合に、この方法を使ってください。

推奨設定 — メジャーバージョンに固定することで、新機能は自動的に利用しながら、1.0 リリースによる互換性の問題を回避できます。

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または %APPDATA%\Claude\claude_desktop_config.json(Windows)を編集します。

{
  "mcpServers": {
    "slima": {
      "command": "npx",
      "args": ["-y", "slima-mcp@0"],
      "env": {
        "SLIMA_API_TOKEN": "slima_your_token_here"
      }
    }
  }
}

Account settings → Authorized Apps からトークンを取得するか、npx slima-mcp@0 auth を一度実行してディスクに保存します。

Cursor
{
  "mcpServers": {
    "slima": {
      "command": "npx",
      "args": ["-y", "slima-mcp@0"],
      "env": {
        "SLIMA_API_TOKEN": "slima_your_token_here"
      }
    }
  }
}
Gemini CLI
gemini mcp add slima --command "npx -y slima-mcp@0"

Gemini CLI の拡張機能としてインストールすることもできます(API トークンを一度入力すると、システムのキーチェーンに保存されます)。

gemini extensions install https://github.com/slima-ai/slima-mcp

slima-mcp / slima-mcp@latest ではなく slima-mcp@0 を使う理由は? @0 を使うと、現在のメジャーバージョンに固定されます。npx は新しい 0.x.y リリースを自動的に取得するため(機能やバグ修正を利用できます)、破壊的変更を含む 1.0.0 がリリースされても、設定を更新しない限り、知らないうちにそのバージョンへ切り替わることはありません。@1 への切り替えはリリースノートでお知らせします。

⚠️ グローバルに slima-mcp をインストールしている場合は、この限りではありません。 npx pkg@<range> は、すでに PATH 上にあるパッケージで指定範囲を満たせる場合、それを使い、レジストリには一切アクセスしません。グローバルに 0.2.0 がインストールされ、npm に 0.3.0 がある状態で、2026-09-09 に測定した結果:

コマンド解決されたバージョン
npx -y slima-mcp@00.2.0 — グローバルインストールを使用
npx -y slima-mcp0.2.0 — 同上
npx -y slima-mcp@latest0.3.0 — ディストタグによりレジストリを参照
npx -y [email protected]0.3.0 — グローバル版では完全一致する新しいバージョンを満たせない

つまり、古いグローバルインストールがあると、npx 形式ではアップグレードが行われなくなる一方、サーバーはアップグレードを促し続けます。グローバルインストールを削除してください。手順は以下をご覧ください。

グローバルインストールからの移行

すでに npm install -g slima-mcp でグローバルインストールしている場合:

# Remove the old global install — REQUIRED, not just tidiness.
# Leaving it in place makes `npx -y slima-mcp@0` resolve to the old global copy
# forever (see the warning above), so you'd stay outdated while being told to upgrade.
npm uninstall -g slima-mcp

# Then change your config `command` from "slima-mcp" to the npx form above, and restart the client.
# Verify: `npx -y slima-mcp@0 --version` must print the version shown by `npm view slima-mcp version`.

⚠️ インストールした可能性のある場所をすべて確認してください。グローバルインストールは、Node バージョンマネージャーの環境ごと、また OS ごとに存在する可能性があります。WSL 環境では、nvm の下と Windows の AppData/Roaming/npm の下に異なるバージョンがインストールされ、そのうち一方だけが MCP クライアントで実際に使用される PATH に含まれていることがよくあります。

または、グローバルインストールを使い続ける場合は、定期的に次のコマンドを実行してください。

npm install -g slima-mcp@latest

そうしないと、ローカルのクライアントと、Slima バックエンドが公開する MCP ツール/スキーマのバージョンにずれが生じます。

セルフホスト(上級者向け)

このリポジトリをクローンし、Cloudflare Worker を自分でデプロイすることもできます。wrangler.toml と npm run deploy:worker をご覧ください。通常の利用では必要ありません。


リモート MCP のセキュリティ

ホスト型のリモート MCP サーバー https://mcp.slima.ai/mcp は、次の機能を使用します。

  • OAuth 2.0 + PKCE による認証 — トークンをコピー&ペーストする必要はありません。
  • サーバー側に秘密情報を保存しません — 認証情報が Slima の認証サーバーから外部に送信されることはありません。
  • セッションベース:OAuth トークンは Cloudflare KV にセッションごとにスコープされて保存されます。
  • アカウント設定 → 認証済みアプリからいつでも取り消せます。アプリの取り消しは、次のリクエストから有効になります。

書籍の種類:Writing Studio と Script Studio

Slima の書籍には、book_type フィールドで区別される 2 種類があります。MCP の動作は種類によって少し異なります。

📖 Writing Studio(book_type: "book")📝 Script Studio(book_type: "script")
MCP 経由での作成✅ create_book を使用できます❌ Slima アプリの UI を使用してください
読み取り(すべてのファイル)✅✅
書き込み/編集/削除✅ 任意のパス✅ .script_studio/planning/**/* 以下のみ
構造化ファイル(series.json、*.character、*.scene、*.storyline、*.note、*.location、season.json、episode.json)該当なし❌ MCP 経由では読み取り専用 — 編集は Script Studio UI から行う必要があります
analyze_chapter(AI ベータリーダー)✅❌ 構造化されたシーンにはまだ対応していません
search_contentすべてのファイル構造化ファイルはデフォルトで除外されます。含めるには include_structured: true を指定してください

書籍ごとの詳細を確認するには、AI クライアントにリソース slima://books/{book_token}/schema を読み取るよう依頼してください。このリソースは、その書籍で書き込み可能/読み取り専用のパスを正確に示す JSON 仕様を返します。

list_books はすべての書籍にスタジオのアイコン(📝 / 📖)を付けるため、一目で区別できます(AI も同様です)。


利用可能なツール

39 個のツールがあります。R = 読み取り専用(書籍は変更されません)。W = 変更を行い、その内容が説明に記載されています。読み取りと書き込みは常に別々のツールです。

まずはこちら(使い方)
ツールR/W説明
get_capabilitiesRこのサーバーで利用できる機能:書き込み可能なファイル形式、コンテンツの種類、ツール、ガイド
list_guidesRSlima のガイドと、それぞれを読み込むタイミングを一覧表示します
load_guideRガイドを1つ、全文読み込みます
list_writing_skillsR執筆技法の手順(キャラクターの設定、シーンの推敲など)を一覧表示します
load_writing_skillR執筆技法を1つ、全文読み込みます
書籍の管理
ツールR/W説明
create_bookWライブラリに新しい Writing Studio の書籍を作成します
list_booksRライブラリ内の書籍を一覧表示します(ページネーション対応)
get_bookR指定した書籍の詳細を取得します
get_book_structureR書籍のファイル/フォルダー構成を取得します
get_writing_statsR書籍の合計単語数を取得します
ファイル操作
ツールR/W説明
read_fileRパスを指定して、任意のファイルの内容を読み込みます
get_chapterRパスまたはファイル名を指定して、章を読み込みます
edit_fileW特定のテキスト範囲を置き換えます(検索と置換)
write_fileW既存ファイルの内容全体を置き換えます
create_fileW書籍に新しいファイルを作成します
delete_fileWファイルまたは空のフォルダーを削除します
append_to_fileWファイルの末尾に内容を追加します
search_contentRすべてのファイルからテキストを検索します
semantic_searchR完全一致する単語ではなく、意味をもとに文章を検索します

書き込み操作はすべて、書籍のバージョン履歴にコミットされるため、確認して元に戻すことができます。

構造化ファイル(フィールドごとに編集)
ツールR/W説明
view_relationship_mapR.map の関係図を画像と読みやすい要約で確認します
update_relationship_mapW関係図(.map)を変更します
update_beat_boardWビートボード(.beats)を変更します
update_timelineWタイムライン(.timeline)を変更します
update_scriptW脚本(.script)を変更します
update_world_mapW世界地図(.geomap)を変更します
メモとコメント
ツールR/W説明
list_notesR書籍に関する著者の欄外メモを一覧表示します
create_noteW原稿の横にメモを残します(本文には手を加えません)
list_commentsR未解決および解決済みの編集コメントのスレッドを一覧表示します
create_commentW編集コメントを残します
resolve_commentWコメントスレッドを対応済みとしてマークします
reopen_commentW解決済みのコメントスレッドを再開します
AI ベータリーダー
ツールR/W説明
list_personasR仮想読者のペルソナを一覧表示します
analyze_chapterW1つのペルソナによる AI ベータリーダーのフィードバックを章に対して実行します(著者のクレジットを消費します)
get_reader_testR実行中のままになっていたベータリーダーのレポートを取得します
チーム
ツールR/W説明
list_teamsRこのアカウントが所属するチームを一覧表示します
get_teamR1つのチームのメンバーと役割を取得します
list_team_rulesRチームの執筆ルール(ハウススタイル)を一覧表示します
list_team_memoriesRチームで確立された情報(繰り返し登場するキャラクター、命名規則、決定事項)を一覧表示します
list_team_skillsRチーム独自の執筆手順を一覧表示します

使用例

設定が完了したら、AI に次のように依頼できます。

書籍とコンテンツ:

  • 「『My Novel』という新しい書籍を作成して」
  • 「Slima にある自分の書籍を一覧表示して」
  • 「小説の構成を見せて」
  • 「書籍の第3章を読んで」
  • 「執筆の統計情報を教えて」

ファイル操作:

  • 「主人公のキャラクタープロフィールを読んで」
  • 「第1章を編集して、『John』を『James』に変更して」
  • 「魔法体系に関するメモを含む worldbuilding.md という新しいファイルを作成して」
  • 「書籍内で『blue eyes』が登場する箇所をすべて検索して」
  • 「この新しい段落を第5章に追加して」

AI からのフィードバック:

  • 「若い読者の視点から第5章へのフィードバックをもらって」
  • 「批評家の視点から冒頭のシーンを分析して」

CLI コマンド

slima-mcp auth      # Authenticate with browser (recommended)
slima-mcp status    # Check authentication status
slima-mcp logout    # Remove saved credentials
slima-mcp --help    # Show help
slima-mcp --version # Show version

トークンは、セキュアな権限設定で ~/.slima/credentials.json に保存されます。

環境変数

変数必須デフォルト説明
SLIMA_API_TOKENいいえ*-Slima API トークン
SLIMA_API_URLいいえhttps://api.slima.aiAPI エンドポイント(開発用)
DEBUGいいえfalseデバッグログを有効にします

*slima-mcp auth を使用した場合は不要です

開発

ローカル CLI の開発
# Clone the repository
git clone https://github.com/slima-ai/slima-mcp.git
cd slima-mcp

# Install dependencies
npm install

# Build CLI
npm run build

# Run tests
npm test

# Run in development mode
npm run dev
Cloudflare Worker の開発
# Build the Worker
npm run build:worker

# Run Worker locally
npm run dev:worker

# Deploy to Cloudflare
npm run deploy:worker

# Deploy to the test environment (test-mcp.slima.ai)
npm run deploy:worker:test
プロジェクト構成
slima-mcp/
├── src/
│   ├── core/           # Shared core modules
│   │   ├── api/        # Slima API Client
│   │   ├── tools/      # MCP Tool implementations
│   │   └── utils/      # Utilities and errors
│   ├── cli/            # CLI entry point (stdio transport)
│   │   ├── index.ts    # CLI main
│   │   ├── auth.ts     # Authentication commands
│   │   └── server.ts   # MCP Server for CLI
│   └── worker/         # Cloudflare Worker (HTTP transport)
│       ├── index.ts    # Worker entry point
│       └── oauth.ts    # OAuth 2.0 + PKCE client
├── wrangler.toml       # Cloudflare Worker config
├── tsup.config.ts      # CLI build config
└── tsup.worker.config.ts # Worker build config

セキュリティ

  • API トークンはローカルに保存され、共有されることはありません
  • Slima API との通信はすべて HTTPS を使用します
  • トークンは Slima の設定からいつでも取り消せます

リリースとデプロイ

npm(自動)

package.json のバージョンを更新して main にマージすると、GitHub Actions による npm への自動公開が実行されます。

# 1. Bump version on dev branch
npm version patch   # 0.1.10 → 0.1.11

# 2. Merge to main
git checkout main && git merge dev && git push

# 3. CI runs tests → publish.yml publishes to npm + creates git tag
Cloudflare Worker(手動)

Worker のデプロイは npm とは別で、自動的に実行されることはありません。 npm に公開しても mcp.slima.ai は更新されません。リモートクライアント(claude.ai / ChatGPT コネクター)は Worker と通信するため、手動で次の操作を実行するまで古いツールセットのまま動作します。

npm run deploy:worker:test   # Test  (test-mcp.slima.ai -> test-api.slima.ai)
npm run deploy:worker        # Prod  (mcp.slima.ai      -> api.slima.ai)

本番環境に反映する前に、テスト環境へデプロイし、curl https://test-mcp.slima.ai/ | jq .version を確認してください。mcp.slima.ai に対して同じワンライナーを実行すれば、Worker が npm より古い状態かどうかも確認できます。

2026-09-09:Worker は4か月半にわたり 0.2.0 のままでした。最後のデプロイは npm 0.2.0 の公開と同じ日だったため、その後の変更はすべて npm ユーザーには届きましたが、コネクタユーザーには届きませんでした。これを知らせるアラームはなく、バージョンエンドポイントだけが唯一の通知手段です。

以前は [env.preview] ブロックを参照する deploy:worker:preview スクリプトがありました。2026-09-09 に削除しました。KV ID がプレースホルダー文字列そのものであり、staging-api.slima.ai は名前解決できず、さらに重大なことに routes が定義されていませんでした。routes は wrangler で 継承可能な キーであるため、このコマンドを実行するとトップレベルの mcp.slima.ai カスタムドメインが継承され、本番環境のホスト名がプレビュー Worker を指すことになっていました。実際のステージング環境は [env.test] です。

MCP Registry(手動)

MCP Registry のサーバー一覧を公開・更新するには:

mcp-publisher login github
mcp-publisher publish

リポジトリのルートにある package.json に mcpName、server.json が必要です。

運用上の注意事項

Worker OAuth のデバッグ

claude.ai または ChatGPT コネクターの問題を調査する場合:

# Live logs from production Worker
wrangler tail slima-mcp

すべての OAuth エンドポイントは、フローの追跡に役立つ主要なパラメーター(client_id、redirect_uri、トークンのプレフィックスなど)をログに記録します。

Worker OAuth フロー(claude.ai / ChatGPT)
Client POST /mcp → 401 + WWW-Authenticate header
  → Client GET /.well-known/oauth-protected-resource
  → Client GET /.well-known/oauth-authorization-server
  → Client POST /register (DCR)
  → Client redirects user to GET /authorize
    → Worker redirects to Rails OAuth
    → User authorizes → Rails redirects to Worker /callback
    → Worker issues auth code → redirects to client callback
  → Client POST /token (exchange code for access_token)
  → Client POST /mcp (Authorization: Bearer {access_token})
既知の制約
  • Worker の Bearer トークン検証は、OAuth で発行されたトークンに対応するため、slima_ プレフィックスの有無にかかわらず、空でないトークンをすべて受け入れます。実際の検証は Rails API が行います。
  • getTokenFromSession() は最初に Authorization ヘッダーを確認し、その後 cookie セッションにフォールバックします。
  • MCP Inspector(npx @modelcontextprotocol/inspector)は、OAuth フロー全体を個別にテストするのに便利です。

ライセンス

MIT

Links

コメント

MCP は初めてですか?

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

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