slima について
slimaは小説家向け執筆IDE SlimaのMCPサーバーで、対応するAIツールから本や原稿を扱えます。ファイル操作や執筆支援に加え、スタジオ種別ごとに異なる編集範囲と仮想ベータ読者の評価を備えています。
主な機能
- 01本の作成と一覧表示
- 02ファイルの読み取り・編集・検索
- 03構造化された執筆内容の管理
- 04執筆統計の確認
- 05仮想読者による章の評価
活用シーン
- 01AIに章やファイルを確認させる
- 02複数の本から文章を検索する
- 03読者ペルソナごとの章評価を得る
MCP 対応
本の管理、ファイル操作、執筆ツール、AI Beta Reader機能をMCPクライアントに公開します。ローカルstdioとリモートHTTPで接続できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.slima.ai/mcpclaude mcp add --transport http slima-ai-slima https://mcp.slima.ai/mcp{"mcpServers":{"slima-ai-slima":{"type":"http","url":"https://mcp.slima.ai/mcp"}}}Cursor で開く{"servers":{"slima-ai-slima":{"type":"http","url":"https://mcp.slima.ai/mcp"}}}VS Code で開く{"mcpServers":{"slima-ai-slima":{"type":"http","url":"https://mcp.slima.ai/mcp"}}}{"mcpServers":{"slima-ai-slima":{"serverUrl":"https://mcp.slima.ai/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
Slima MCP
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 の使い方に合った方法を選択してください。
- ⭐ Web ブラウザーで claude.ai / ChatGPT を使う → おすすめ:Web コネクター (初回のみ設定すれば、その後は自動更新)
- Claude Desktop / Cursor / Gemini CLI をローカルで使う →
npxを使ったローカルインストール - エアギャップ環境/エンタープライズ環境で実行する → セルフホスト
おすすめ:claude.ai / ChatGPT Web(自動更新)
ブラウザーで Claude または ChatGPT を使っている場合、これが最も簡単で、将来にわたって安心して使える方法です。一度設定すれば、Slima MCP のすべての更新が自動的に適用されます。アップグレードコマンドや設定ファイルの編集は不要です。
MCP URL: https://mcp.slima.ai/mcp
claude.ai(Pro / Max / Team / Enterprise)
- claude.ai にサインインします。
- Settings → Connectors(プランによっては Integrations)を開きます。
- Add custom connector をクリックします。
- 次の情報を入力します。
- Name:
Slima - URL:
https://mcp.slima.ai/mcp
- Name:
- Connect をクリックします → slima.ai にリダイレクトされるので承認します → claude.ai に戻ります。
- チャットの入力欄に Slima のツールアイコンが表示されます。これで完了です。
ChatGPT(Plus / Pro、Developer Mode)
- chatgpt.com にサインインします。
- Settings → Connectors → Advanced を開き、Developer Mode をオンにします(2025.10+)。
- Connectors に戻り、Create → Custom MCP Server をクリックします。
- 次の情報を入力します。
- Name:
Slima - Server URL:
https://mcp.slima.ai/mcp - Authentication: OAuth
- Name:
- 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_capabilities | R | このサーバーで利用できる機能:書き込み可能なファイル形式、コンテンツの種類、ツール、ガイド |
list_guides | R | Slima のガイドと、それぞれを読み込むタイミングを一覧表示します |
load_guide | R | ガイドを1つ、全文読み込みます |
list_writing_skills | R | 執筆技法の手順(キャラクターの設定、シーンの推敲など)を一覧表示します |
load_writing_skill | R | 執筆技法を1つ、全文読み込みます |
書籍の管理
| ツール | R/W | 説明 |
|---|---|---|
create_book | W | ライブラリに新しい Writing Studio の書籍を作成します |
list_books | R | ライブラリ内の書籍を一覧表示します(ページネーション対応) |
get_book | R | 指定した書籍の詳細を取得します |
get_book_structure | R | 書籍のファイル/フォルダー構成を取得します |
get_writing_stats | R | 書籍の合計単語数を取得します |
ファイル操作
| ツール | R/W | 説明 |
|---|---|---|
read_file | R | パスを指定して、任意のファイルの内容を読み込みます |
get_chapter | R | パスまたはファイル名を指定して、章を読み込みます |
edit_file | W | 特定のテキスト範囲を置き換えます(検索と置換) |
write_file | W | 既存ファイルの内容全体を置き換えます |
create_file | W | 書籍に新しいファイルを作成します |
delete_file | W | ファイルまたは空のフォルダーを削除します |
append_to_file | W | ファイルの末尾に内容を追加します |
search_content | R | すべてのファイルからテキストを検索します |
semantic_search | R | 完全一致する単語ではなく、意味をもとに文章を検索します |
書き込み操作はすべて、書籍のバージョン履歴にコミットされるため、確認して元に戻すことができます。
構造化ファイル(フィールドごとに編集)
| ツール | R/W | 説明 |
|---|---|---|
view_relationship_map | R | .map の関係図を画像と読みやすい要約で確認します |
update_relationship_map | W | 関係図(.map)を変更します |
update_beat_board | W | ビートボード(.beats)を変更します |
update_timeline | W | タイムライン(.timeline)を変更します |
update_script | W | 脚本(.script)を変更します |
update_world_map | W | 世界地図(.geomap)を変更します |
メモとコメント
| ツール | R/W | 説明 |
|---|---|---|
list_notes | R | 書籍に関する著者の欄外メモを一覧表示します |
create_note | W | 原稿の横にメモを残します(本文には手を加えません) |
list_comments | R | 未解決および解決済みの編集コメントのスレッドを一覧表示します |
create_comment | W | 編集コメントを残します |
resolve_comment | W | コメントスレッドを対応済みとしてマークします |
reopen_comment | W | 解決済みのコメントスレッドを再開します |
AI ベータリーダー
| ツール | R/W | 説明 |
|---|---|---|
list_personas | R | 仮想読者のペルソナを一覧表示します |
analyze_chapter | W | 1つのペルソナによる AI ベータリーダーのフィードバックを章に対して実行します(著者のクレジットを消費します) |
get_reader_test | R | 実行中のままになっていたベータリーダーのレポートを取得します |
チーム
| ツール | R/W | 説明 |
|---|---|---|
list_teams | R | このアカウントが所属するチームを一覧表示します |
get_team | R | 1つのチームのメンバーと役割を取得します |
list_team_rules | R | チームの執筆ルール(ハウススタイル)を一覧表示します |
list_team_memories | R | チームで確立された情報(繰り返し登場するキャラクター、命名規則、決定事項)を一覧表示します |
list_team_skills | R | チーム独自の執筆手順を一覧表示します |
使用例
設定が完了したら、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.ai | API エンドポイント(開発用) |
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
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。