Emotion MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Emotion MCPchange expression to happy with fade transition"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Emotion MCP
AIアシスタントが自分の感情に合わせて立ち絵を切り替えられるMCP (Model Context Protocol) サーバーです。
動作画面

管理画面

特徴
2D画像モード: 立ち絵画像をアップロードして表情を切り替え
VRM 3Dモデルモード: VRoid/VRM形式の3Dモデルをブレンドシェイプで表情制御
多彩なトランジション: フェード、スライド、ズーム、シェイクなど6種類のエフェクト
リアルタイム更新: WebSocketで即座に表情が切り替わる
アイドルアニメーション: VRMモードではまばたき・呼吸の自動アニメーション
高速動作: Bunを使用した爆速起動・実行
Related MCP server: mc-mcp-server
アーキテクチャ
┌─────────────────┐
│ Claude Code │ AIが表情を選択
│ (AI Assistant) │ change_expression("embarrassed", "fade")
└────────┬────────┘
│ MCP Protocol (stdio)
┌────────▼────────┐
│ MCP Server │ ツール実装
│ (TypeScript) │ list_expressions, change_expression
└────────┬────────┘
│ HTTP API
┌────────▼────────┐
│ HTTP Server │ WebSocket経由でクライアントに通知
│ (Bun) │
└────┬───────┬────┘
│ │
┌────▼────┐ ┌▼─────────┐
│ Admin │ │ Viewer │ 2D画像 or VRM 3Dモデル
│ UI │ │ │ (Three.js + @pixiv/three-vrm)
└─────────┘ └──────────┘セットアップ
1. 依存関係のインストール
bun install2. MCPサーバーの設定
使用する環境に応じて、以下のいずれかの設定ファイルに追加してください。
Claude Code(CLI / VSCode拡張)
設定ファイル: ~/.claude.json
{
"mcpServers": {
"emotion-mcp": {
"command": "bun",
"args": ["run", "/absolute/path/to/emotion-mcp/src/server/index.ts"]
}
}
}Claude Desktop
設定ファイルの場所:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"emotion-mcp": {
"command": "bun",
"args": ["run", "/absolute/path/to/emotion-mcp/src/server/index.ts"]
}
}
}※ /absolute/path/to/emotion-mcp は実際のパスに置き換えてください
3. Claude Code / Claude Desktopの起動
設定を反映するため、Claude Code(VSCode)またはClaude Desktopを起動(または再起動)します。
MCPサーバーが起動すると:
HTTPサーバーが自動的にポート3000で起動
Viewerが自動的にブラウザで開く
手動でアクセスする場合は以下のURL:
Viewer: http://localhost:3000/viewer
Tips:
Viewerの自動オープンを無効化:
AUTO_OPEN_VIEWER=falseポート番号を変更:
{ "mcpServers": { "emotion-mcp": { "command": "bun", "args": ["run", "/absolute/path/to/emotion-mcp/src/server/index.ts"], "env": { "PORT": "8080" } } } }デフォルトは3000。変更した場合は
http://localhost:8080/adminでアクセス。
4. 立ち絵の登録
2D画像モード(デフォルト)
モード切り替えが「2D 画像」になっていることを確認
画像をドラッグ&ドロップまたはクリックしてアップロード
表情名(英数字)と表示名を入力
デフォルト表情を設定
VRM 3Dモデルモード
モード切り替えで「VRM 3D」を選択
VRMファイル(.vrm)をドラッグ&ドロップまたはクリックしてアップロード
アップロード後、モデルから検出されたブレンドシェイプ一覧が表示される
「新規プリセット」ボタンでプリセットを作成
プリセット名(AIが使用する名前)と表示名を入力
各ブレンドシェイプのスライダーで表情の重みを調整
デフォルトプリセットを設定
使い方
管理UI
2Dモード:
アップロード: ドラッグ&ドロップまたはクリックで画像を追加
デフォルト設定: 初期表示する表情を選択
削除: 不要な表情を削除
VRMモード:
モデルアップロード: .vrmファイルをアップロード
プリセット作成: ブレンドシェイプのスライダーで表情を調整して保存
プリセット編集/削除: 既存のプリセットを変更・削除
デフォルト設定: 初期表示するプリセットを選択
AIから表情を変更
Claude Codeとの会話中に、AIが自動的に表情を変更します:
AI: べ、別にあんたのために説明したわけじゃないんだからね!
[change_expression("embarrassed", "quick-fade")]2DモードでもVRMモードでも、MCPツールのインターフェースは同じです。管理UIで設定したモードに応じて、画像の切り替えまたはブレンドシェイプの変更が行われます。
利用可能なツール
list_expressions
登録されている表情の一覧を取得します。2Dモードでは画像表情、VRMモードではプリセット一覧を返します。
list_expressions()change_expression
表情を変更します。
change_expression({
expression: "embarrassed", // 表情名(2D)またはプリセット名(VRM)
transition: "fade", // トランジション(省略可)
duration: 300 // 時間(ms、省略可)
})利用可能なトランジション:
トランジション | 説明 |
| 通常のフェード(デフォルト) |
| 素早いフェード |
| スライドイン |
| ズームイン |
| シェイク(動揺) |
| 即座に切り替え |
get_current_expression
現在表示されている表情を取得します。
get_current_expression()VRM 3Dモデルの詳細
対応フォーマット
VRM 0.x(VRoid Studio旧バージョン等)
VRM 1.0(VRoid Studio最新版等)
ブレンドシェイプ
VRMモデルに含まれるブレンドシェイプ(表情モーフ)を自動検出します。一般的なVRMモデルには以下のようなブレンドシェイプが含まれています:
happy,angry,sad,relaxed,surprised(基本表情)blink,blinkLeft,blinkRight(まばたき)aa,ih,ou,ee,oh(リップシンク)
アイドルアニメーション
VRMモードでは以下のアイドルアニメーションが自動で動作します:
まばたき: 3〜7秒のランダム間隔で自然なまばたき
呼吸: 胸ボーンの微小なスケール変化による呼吸モーション(約4秒周期)
自然な立ちポーズ: Tポーズから腕を下ろした自然なポーズに自動変換
カメラ操作(マウス)
VRMモードのViewerでは、マウスでカメラを自由に操作できます:
操作 | 動作 |
左ドラッグ | カメラ回転 |
右ドラッグ | パン(平行移動) |
ホイール | ズーム |
モデル読み込み時にカメラは顔の高さに自動調整されます。
技術スタック
Three.js - 3Dレンダリング(CDN経由、ビルドステップ不要)
@pixiv/three-vrm - VRMモデルの読み込みと制御
Import Maps によるESモジュール読み込み
推奨される表情名
AIが理解しやすい表情名の例:
normal: 通常happy: 嬉しいsad: 悲しいangry: 怒りembarrassed: 照れsurprised: 驚きworried: 心配thinking: 考え中confident: 自信満々
トラブルシューティング
Viewerが自動で開かない
HTTPサーバー起動時に自動でViewerが開かない場合:
手動で http://localhost:3000/viewer を開く
ブラウザが見つからないエラーが出る場合は、環境変数で無効化して手動で開く
WebSocketに接続できない
HTTPサーバーが起動しているか確認
ブラウザのコンソールでエラーを確認
ポート3000が他のアプリケーションで使用されていないか確認
MCPツールが表示されない
設定ファイルのパスが正しいか確認
Claude Code / Claude Desktopを再起動
MCPサーバーのログを確認(stderr出力)
表情が切り替わらない
Viewerページを開いているか確認
WebSocketの接続状態を確認(右上の緑色のインジケーター)
ブラウザのコンソールでエラーを確認
VRMモデルが表示されない
.vrm ファイルが正しいVRM形式か確認
ブラウザがWebGLに対応しているか確認
ブラウザのコンソールでThree.jsのエラーを確認
モデルファイルのサイズが大きすぎる場合は、VRoid Studioで最適化して再エクスポート
Windowsでの注意
初回起動時にWindowsファイアウォールのダイアログが表示される場合があります。HTTPサーバーがネットワークアクセスするために必要なので、許可してください。
開発
プロジェクト構造
emotion-mcp/
├── src/
│ ├── server/ # バックエンド
│ │ ├── index.ts # MCPサーバー
│ │ ├── http-server.ts # HTTPサーバー
│ │ └── storage.ts # データ永続化
│ ├── client/ # フロントエンド
│ │ ├── admin/ # 管理UI
│ │ └── viewer/ # 表示用クライアント
│ │ ├── app.js # メインアプリ(2D/VRMモード分岐)
│ │ └── vrm-renderer.js # VRM 3Dレンダラー
│ └── shared/ # 共通型定義
├── data/ # データディレクトリ
│ ├── config.json # 設定(モード、2D表情)
│ ├── vrm-config.json # VRM設定(プリセット)
│ ├── expressions/ # 2D立ち絵画像
│ └── vrm/ # VRMモデルファイル
└── package.jsonスクリプト
# HTTPサーバー起動(開発用)
bun run dev:http
# MCPサーバー起動(テスト用)
bun run dev
# ビルド
bun run buildライセンス
MIT
作者
Created with Claude Code & You
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceA text-to-speech MCP server that enables AI assistants to speak using the VOICEVOX engine with support for multi-character conversations. It features queue management, low-latency streaming via FFplay, and cross-platform playback across Windows, macOS, and Linux.Last updated714916ISC
- Alicense-qualityDmaintenanceEnables AI-driven interactions with Minecraft through a WebSocket-based server and MCP protocol, allowing external MCP clients and in-game chat to trigger AI tools.Last updated4MIT
- Alicense-qualityFmaintenanceAn MCP server that enables AI assistants to generate images using Black Forest Labs API and FLUX models, with automatic polling and image URL retrieval.Last updated381MIT
- Alicense-qualityDmaintenanceAn MCP server enabling AI agents to interact with users via Telegram, supporting message and image sending, inline quick replies, and waiting for user responses.Last updated3MIT
Related MCP Connectors
MCP server for AI dialogue using various LLM models via AceDataCloud
An MCP server that integrates with Discord to provide AI-powered features.
MCP server for Flux AI image generation
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/yoshiomiyamae/emotion-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server