SillyTavern MCP Server

by CG-Labs

Integrations

  • Provides community support through the SillyTavern Discord, allowing users to get help with the MCP extension

  • Offers integration with GitHub for issue tracking, contribution management, and community support through the project's GitHub repository

SillyTavern 的 MCP 扩展

此扩展为 SillyTavern 添加了基于 WebSocket 的工具执行支持,允许通过标准化接口注册和执行外部工具。

特征

  • 用于实时通信的 WebSocket 服务器
  • 工具注册和执行系统
  • 工具定义的 JSON Schema 验证
  • 实时执行状态更新
  • 可配置的日志记录和 WebSocket 设置
  • SillyTavern 集成了基于 Web 的设置 UI

安装

方法 1:Web 界面(推荐)

请参阅INSTRUCTIONS.md以获取通过 SillyTavern 的 Web 界面进行安装的分步说明。

方法2:手动安装

  1. 将此存储库克隆到您的 SillyTavern 插件目录中:
    cd /path/to/SillyTavern/plugins git clone https://github.com/CG-Labs/SillyTavern-MCP-Extension.git mcp-extension
  2. 安装依赖项:
    cd mcp-extension npm install
  3. 重启 SillyTavern

配置

可以通过 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 :无效的资源 URI
  • INVALID_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

添加新工具

要添加新工具:

  1. 连接到 WebSocket 服务器
  2. 使用架构注册您的工具
  3. 监听执行请求
  4. 处理执行并返回结果

工具实现示例:

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 } })); } };

贡献

  1. 分叉存储库
  2. 创建功能分支
  3. 提交你的更改
  4. 推送到分支
  5. 创建拉取请求

支持

如果您遇到任何问题或有疑问:

  1. 检查GitHub Issues是否存在问题
  2. 如果您的问题尚未报告,请创建新问题
  3. 加入 SillyTavern Discord 社区获取支持

执照

MIT 许可证 - 详情请参阅许可证文件

-
security - not tested
F
license - not found
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

通过基于 WebSocket 的通信实现外部工具注册和执行,为 SillyTavern 内的实时工具管理提供统一的界面。

  1. Features
    1. Installation
      1. Method 1: Web Interface (Recommended)
      2. Method 2: Manual Installation
    2. Configuration
      1. Available Settings
    3. Usage
      1. Registering a Tool
      2. Executing a Tool
      3. Execution Status Updates
    4. Error Codes
      1. Development
        1. Project Structure
        2. Adding New Tools
      2. Contributing
        1. Support
          1. License

            Related MCP Servers

            • -
              security
              F
              license
              -
              quality
              Facilitates real-time tool discovery and documentation retrieval for command-line tools within a VSCode extension, using Express and SSE for secure and dynamic content streaming.
              Last updated -
              4
              TypeScript
            • -
              security
              F
              license
              -
              quality
              A Model Context Protocol server that integrates with Cursor IDE, providing real-time communication, modern web dashboards, and extensible tools via SSE and WebSocket connections.
              Last updated -
              1,519
              1
              Python
            • -
              security
              F
              license
              -
              quality
              An integration server that allows Claude Desktop to communicate with Make (formerly Integromat) automation platform through the Model Context Protocol, enabling scenario management and execution via natural language.
              Last updated -
              JavaScript

            View all related MCP servers

            ID: pg6z0acepi