インストール¶
NovelAI Image MCP は Python 3.13+ で動作し、uv ≥ 0.5 で管理されます。
リポジトリは uv ワークスペース構成になっており、サーバーは apps/server/、
ドキュメントサイトは apps/docs/ に配置されています。リポジトリルートに
単一の共有仮想環境が保持されます。
1. リポジトリをクローンする¶
git clone https://github.com/xinvxueyuan/NovelAI-Image-MCP.git
cd NovelAI-Image-MCP
2. uv をインストールする¶
まだ uv を導入していない場合は、以下の手順でインストールします。
=== “Unix / macOS”
```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
```
=== “Windows (PowerShell)”
```powershell
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
```
=== “pip / pipx”
```bash
pipx install uv
```
インストールを検証します。
uv --version
3. ワークスペースの仮想環境を同期する¶
リポジトリルートで以下を実行します。
uv sync
このコマンドは MCP サーバーのランタイム、Sphinx ドキュメントツールチェーン、
共有開発ツール (ruff、pyright、prek、reuse) を、リポジトリルートの単一の
.venv/ にインストールします。初回実行時は約 60 パッケージの wheel を
ダウンロードしますが、2 回目以降は瞬時に完了します。
Tip
開発用 / lint 用のグループをスキップし、サーバーを 実行 するために 必要なものだけをインストールするには、以下を実行します。
uv sync --no-dev --all-extras
4. 認証情報を設定する¶
サンプルの環境ファイルをコピーし、NovelAI の認証情報を記入します。
cp .env.example .env
.env を編集し、2 つの認証方式のうち いずれか一方 を設定します。
# 方式 A (推奨): https://novelai.net > Account で取得した永続 API トークン
NOVELAI_TOKEN=pst-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# 方式 B: ユーザー名 + パスワード (アクセスキーは argon2id で導出)
# NOVELAI_USERNAME=your@email
# NOVELAI_PASSWORD=your-password
変数の完全なリストは 設定 を参照してください。
5. インストールを検証する¶
# サーバーが起動し CLI が公開されていることを確認:
uv run python -m novelai_image_mcp --help
# アカウント情報が往復し、トークンが有効であることを検証:
uv run python -m novelai_image_mcp info
info がアカウントの tier と Anlas 残高を含む JSON を返せば、
最初の画像を生成 する準備が整っています。
任意: Node 側のツール類¶
リポジトリはクロスカッティングな Node ツール (turbo タスクランナー、 husky git フック、markdownlint) にも pnpm を使用しています。コントリビュート する予定がある場合はインストールしてください。
# corepack 経由で pnpm をインストール (Node ≥ 24):
corepack enable pnpm
# Node の依存関係をインストールし、husky フックを接続:
pnpm install --frozen-lockfile
このステップはランタイム利用には 任意 です — MCP サーバーは Node の ランタイム依存関係を一切持ちません。
任意: Docker¶
自己完結型で再現性のあるデプロイを行うには、以下を実行します。
docker compose up --build
イメージは apps/server/Dockerfile
からビルドされ、デフォルトでポート 8000 上に streamable-http トランスポート
を公開します。高度な設定については トランスポート → streamable-http
を参照してください。
次のステップ¶
⚡ クイックスタート — 最初の画像を生成する
🔧 設定 — 環境変数による生成デフォルトの調整
🐳 Docker での運用 — stdio と streamable-http の比較 (英語版)