SillyTavern MCP Server
SillyTavern の MCP 拡張機能
この拡張機能は、SillyTavern に WebSocket ベースのツール実行サポートを追加し、標準化されたインターフェースを介して外部ツールを登録および実行できるようにします。
特徴
リアルタイム通信用のWebSocketサーバー
ツール登録および実行システム
ツール定義のJSONスキーマ検証
リアルタイム実行ステータスの更新
設定可能なログ記録とWebSocket設定
SillyTavern に統合された Web ベースの設定 UI
Related MCP server: Modular MCP Server & Client
インストール
方法 1: Web インターフェース (推奨)
SillyTavern の Web インターフェイスからインストールする手順については、 INSTRUCTIONS.md を参照してください。
方法2: 手動インストール
このリポジトリを SillyTavern プラグイン ディレクトリにクローンします。
cd /path/to/SillyTavern/plugins git clone https://github.com/CG-Labs/SillyTavern-MCP-Extension.git mcp-extension依存関係をインストールします:
cd mcp-extension npm installSillyTavern を再起動する
構成
拡張機能は、SillyTavern UI の「設定 > 拡張機能 > MCP 拡張機能」から設定できます。
利用可能な設定
WebSocketポート: WebSocketサーバーのポート番号(デフォルト: 5005)
ログレベル: ログの詳細レベル (デバッグ、情報、警告、エラー)
使用法
ツールの登録
ツールを登録するには、次の形式の WebSocket メッセージを送信します。
{
"type": "register_tool",
"data": {
"name": "example_tool",
"schema": {
"type": "object",
"properties": {
"param1": {
"type": "string",
"description": "First parameter"
},
"param2": {
"type": "number",
"description": "Second parameter"
}
},
"required": ["param1"]
}
}
}ツールの実行
登録されたツールを実行するには、次の形式の WebSocket メッセージを送信します。
{
"type": "execute_tool",
"data": {
"executionId": "unique_execution_id",
"name": "example_tool",
"args": {
"param1": "value1",
"param2": 42
}
}
}実行ステータスの更新
拡張機能は、接続されているすべてのクライアントに実行ステータスの更新をブロードキャストします。
実行開始
{
"type": "tool_execution_started",
"data": {
"executionId": "unique_execution_id",
"name": "example_tool",
"args": {
"param1": "value1",
"param2": 42
}
}
}実行完了
{
"type": "tool_execution_completed",
"data": {
"executionId": "unique_execution_id",
"result": {
// Tool-specific result data
}
}
}実行に失敗しました
{
"type": "tool_execution_failed",
"data": {
"executionId": "unique_execution_id",
"error": {
"code": "ERROR_CODE",
"message": "Error message"
}
}
}エラーコード
INVALID_NAME: 無効なツール名INVALID_SCHEMA: 無効なツールスキーマINVALID_URI: 無効なリソースURIINVALID_HANDLER: 無効なハンドラ実装INVALID_ARGUMENTS: 無効なツール引数TOOL_EXISTS: ツールはすでに登録されていますTOOL_NOT_FOUND: ツールが見つかりませんTOOL_EXECUTION_FAILED: ツールの実行に失敗しましたSERVER_ERROR: 内部サーバーエラー
発達
プロジェクト構造
mcp-extension/
├── index.js # Main plugin entry point
├── manifest.json # Plugin manifest
├── package.json # Dependencies and scripts
├── public/ # Public assets
│ ├── script.js # Client-side JavaScript
│ ├── style.css # Client-side styles
│ └── templates/ # HTML templates
├── utils/ # Utility modules
│ ├── errors.js # Error handling
│ ├── logger.js # Logging utility
│ └── validation.js # Input validation
└── README.md # This documentation新しいツールの追加
新しいツールを追加するには:
WebSocketサーバーに接続する
ツールをスキーマに登録する
実行リクエストをリッスンする
実行を処理して結果を返す
ツールの実装例:
const ws = new WebSocket('ws://localhost:5005');
ws.onopen = () => {
// Register tool
ws.send(JSON.stringify({
type: 'register_tool',
data: {
name: 'example_tool',
schema: {
type: 'object',
properties: {
input: {
type: 'string'
}
},
required: ['input']
}
}
}));
};
ws.onmessage = (event) => {
const message = JSON.parse(event.data);
if (message.type === 'execute_tool' &&
message.data.name === 'example_tool') {
// Handle execution
const result = doSomething(message.data.args.input);
// Send result
ws.send(JSON.stringify({
type: 'tool_execution_completed',
data: {
executionId: message.data.executionId,
result
}
}));
}
};貢献
リポジトリをフォークする
機能ブランチを作成する
変更をコミットする
ブランチにプッシュする
プルリクエストを作成する
サポート
問題が発生した場合や質問がある場合は、次の手順に従ってください。
GitHub Issuesで既存の問題を確認する
問題が報告されていない場合は、新しい問題を作成してください
SillyTavern Discordコミュニティに参加してサポートを受けましょう
ライセンス
MITライセンス - 詳細はLICENSEファイルを参照
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/CG-Labs/SillyTavern-MCP-Extension'
If you have feedback or need assistance with the MCP directory API, please join our Discord server