silly-tavern-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ST_MCP_ST_ROOT | No | Absolute path to the SillyTavern source/installation root. | |
| ST_MCP_BASE_URL | No | Default runtime target. Base URL of the SillyTavern server. | http://127.0.0.1:8000 |
| ST_MCP_TIMEOUT_MS | No | Timeout in milliseconds for operations. | 30000 |
| ST_MCP_CONFIG_PATH | No | Absolute path to the SillyTavern config.yaml file. | |
| ST_MCP_PROJECT_ROOT | No | Absolute path to the SillyTavern project root. Runtime commands run from this directory. | |
| ST_MCP_SNAPSHOT_ROOT | No | Absolute path to the snapshot directory. | |
| ST_MCP_USER_DATA_ROOT | No | Absolute path to the default-user data directory. | |
| ST_MCP_RUNTIME_STOP_CMD | No | Command used to stop the SillyTavern runtime. | |
| ST_MCP_RUNTIME_START_CMD | No | Command used to start the SillyTavern runtime. | |
| ST_MCP_RUNTIME_STATUS_CMD | No | Command used to check SillyTavern runtime status. | |
| ST_MCP_RUNTIME_RESTART_CMD | No | Command used to restart the SillyTavern runtime. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| st.doctorB | Check whether the target SillyTavern runtime is controllable. |
| st.config_locationsB | Map high-level SillyTavern configuration domains to their real storage locations and semantic tools. |
| st.resource.readB | Read a standard ST resource by URI, for example st://characters or st://extensions. |
| st.plan_changeB | Plan a controlled ST change without writing. Use this before any destructive or complex action. |
| st.resource.patchB | Patch a supported ST resource. Requires confirm: true and creates a snapshot before writing. |
| st.character.listA | List existing SillyTavern characters. This reads imported cards but does not create cards. |
| st.character.inspectA | Read one character card with the core editable field list. |
| st.character.configureB | Patch core character card fields such as description, personality, scenario, greetings, and prompts. Requires confirm: true. |
| st.character.chatsC | List chat files for one character avatar. |
| st.worldbook.listA | List existing worldbooks. |
| st.worldbook.inspectA | Read one worldbook including entries and extension metadata. |
| st.worldbook.create_emptyA | Create an empty worldbook shell for later entry management. Requires confirm: true. |
| st.worldbook.deleteB | Delete a worldbook file. Requires confirm: true and snapshots first. |
| st.worldbook.entriesA | List entries from one worldbook with core trigger and insertion fields. |
| st.worldbook.entry.configureB | Create, update, enable/disable, or delete a single worldbook entry. Requires confirm: true. |
| st.mvu.settings.getA | Read MagVarUpdate/MVU global settings and report their exact extension_settings storage path. |
| st.mvu.settings.configureC | Configure MagVarUpdate/MVU global settings through semantic fields. Requires confirm: true. |
| st.mvu.entriesB | List MVU-related worldbook entries and their exact disable/enabled storage field. |
| st.mvu.entry.set_enabledB | Enable or disable one MVU-related worldbook entry. Requires confirm: true. |
| st.config.getB | Read parsed config.yaml or one dotted config path with default value and code usage hints. |
| st.config.patchA | Patch config.yaml by dotted paths. Requires confirm: true, snapshots first, and usually requires ST restart. |
| st.snapshotC | Create a filesystem snapshot of important ST config, user data, extension, and plugin paths. |
| st.rollbackC | Restore a snapshot created by st.snapshot or a confirmed write operation. |
| st.extension.installA | Install a SillyTavern frontend extension from a Git URL via the ST extension endpoint. |
| st.extension.set_enabledA | Enable or disable a discovered SillyTavern frontend extension. Requires confirm: true. |
| st.extension.registryA | List discovered frontend extensions with enabled state, inferred extension_settings config keys, and current config. |
| st.extension.configureB | Configure a frontend extension through extension_settings and/or enabled state. Requires confirm: true. |
| st.plugin.installA | Install a SillyTavern server plugin from a Git URL into the plugins directory. Requires confirm: true. |
| st.plugin.scaffoldA | Create a loadable SillyTavern server plugin skeleton. Requires confirm: true. |
| st.plugin.registryA | List server plugin runtime state, installed plugin manifests, and server plugin config flags. |
| st.plugin.configureB | Configure SillyTavern server plugin flags in config.yaml. Requires confirm: true and restart. |
| st.source.readB | Read a source file from project-root, st-root, or st-mcp without leaving that scope. |
| st.source.writeA | Write a source file within project-root, st-root, or st-mcp. Requires confirm: true and snapshots first. |
| st.dev.runC | Run a controlled development command in project-root, st-root, or st-mcp. Requires confirm: true. |
| st.runtime.controlA | Run configured SillyTavern runtime status/start/stop/restart commands. Mutating actions require confirm: true. |
| st.bridge.installC | Install the ST MCP runtime bridge server plugin and frontend extension. Requires confirm: true. |
| st.bridge.healthA | Read the runtime bridge server plugin health endpoint. |
| st.bridge.readB | Read the latest browser runtime snapshot published by the ST MCP runtime bridge. |
| st.index.refreshA | Regenerate the static upstream ST codebase index used by st://index and st://index/markdown. Requires confirm: true. |
| st.prompt.inspectB | Inspect the prompt/context assembly surface: indexed seams, live prompt-related settings, and optional runtime bridge state. |
| st.prompt.set_injectionB | Change prompt injection semantics without knowing raw ST setting paths. Requires confirm: true and snapshots first. |
| st.regex.registryB | List global ST regex scripts with normalized placement metadata. |
| st.regex.configureB | Create, update, enable/disable, or delete a global ST regex script. Requires confirm: true. |
| st.variables.registryA | List global ST slash/macro variables stored in extension_settings.variables.global. |
| st.variables.setA | Set or unset a global ST slash/macro variable. Requires confirm: true. |
| st.quick_reply.registryA | List Quick Reply V2 settings and saved slash-command quick reply sets. |
| st.quick_reply.configureC | Enable Quick Reply, activate a set, create/update/delete a set, or upsert/delete a slash-command quick reply. Requires confirm: true. |
| st.chat.inspectB | Read a chat file header, chat_metadata, and messages. Requires explicit avatar and fileName. |
| st.chat.metadata.getB | Read chat_metadata from a specific ST chat file. Requires explicit avatar and fileName. |
| st.chat.metadata.patchC | Patch chat_metadata dotted paths in a specific ST chat file. Requires confirm: true. |
| st.chat.authors_note.setB | Set the current-chat Author's Note override fields in chat_metadata. Requires explicit avatar/fileName and confirm: true. |
| st.chat.variables.setA | Set or unset a local slash/macro variable stored in a specific chat's chat_metadata.variables. Requires confirm: true. |
| st.chat.script_inject.configureB | Create, update, or delete a persistent slash-command-style prompt injection in chat_metadata.script_injects. Requires confirm: true. |
| st.chat.worldbook.bindA | Bind or unbind a worldbook to one chat through chat_metadata.world_info. Requires confirm: true. |
| st.chat.message.appendA | Append a caller-provided message to a chat transcript. Requires confirm: true; does not generate message content. |
| st.chat.message.editA | Edit one existing chat message by zero-based transcript index. Requires confirm: true. |
| st.chat.message.deleteA | Delete one existing chat message by zero-based transcript index. Requires confirm: true. |
| st.mvu.chat_state.inspectB | Inspect MVU runtime variable snapshots stored in chat message variables[].stat_data. |
| st.mvu.chat_state.patchA | Patch MVU runtime stat_data on one chat message, defaulting to the latest message. Requires confirm: true. |
| st.verifyB | Verify that a resource can be read after a change. This is a technical check, not a UX proof. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/LoveMaker-art/silly-tavern-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server