qinglong-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| QL_TOKEN | No | 直接提供已签发 token,跳过 client_id/secret | |
| QL_BASE_URL | Yes | 青龙面板地址,如 http://192.168.1.100:5700 | |
| QL_CLIENT_ID | No | 应用 client_id(与 QL_TOKEN 二选一) | |
| QL_TIMEOUT_MS | No | 请求超时毫秒数,默认 30000 | |
| QL_CLIENT_SECRET | No | 应用 client_secret |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_cronsA | List cron tasks in Qinglong panel. Returns every task with id, name, command, schedule, status etc. Optionally filter with searchValue. |
| create_cronA | Create a new cron task. Required: command (e.g. |
| update_cronA | Update an existing cron task by id. Only include the fields you want to change; id is required. |
| delete_cronsA | Delete cron tasks by ids. ⚠️ Irreversible. |
| run_cronsA | Trigger cron tasks to run immediately (async; use get_cron_log to inspect output). |
| stop_cronsB | Stop running cron tasks by ids. |
| enable_cronsA | Enable cron tasks by ids (resume scheduling). |
| disable_cronsA | Disable cron tasks by ids (pause scheduling). |
| get_cron_logA | Get the latest execution log of a cron task by id. |
| add_cron_labelsB | Add labels to cron tasks. |
| remove_cron_labelsB | Remove labels from cron tasks. |
| list_envsA | List environment variables (cookies, credentials etc.) in Qinglong. Optionally filter with searchValue. |
| get_envA | Get a single environment variable by id. |
| create_envA | Create an environment variable. Name must start with a letter/underscore, only letters, digits and underscores allowed. |
| update_envA | Update an environment variable (name/value/remarks) by id. |
| delete_envsA | Delete environment variables by ids. ⚠️ Irreversible. |
| enable_envsC | Enable environment variables by ids. |
| disable_envsB | Disable environment variables by ids. |
| list_scriptsB | List script files in Qinglong's script directory. |
| get_scriptC | Read a script file's content. |
| run_scriptA | Run a script file directly (ad-hoc execution, not via cron). |
| save_scriptA | Create or overwrite a script file with the given content. |
| delete_scriptA | Delete a script file. ⚠️ Irreversible. |
| list_subscriptionsB | List repository subscriptions in Qinglong. |
| create_subscriptionA | Create a repository subscription. Required: url (git/http repo URL). type defaults to public-repo, schedule_type defaults to cron. |
| run_subscriptionsC | Pull/run repository subscriptions by ids. |
| stop_subscriptionsB | Stop running subscriptions by ids. |
| enable_subscriptionsC | Enable subscriptions by ids. |
| disable_subscriptionsB | Disable subscriptions by ids. |
| get_subscription_logB | Get the latest log of a subscription by id. |
| get_system_infoA | Get Qinglong system info: version, init state, branch, changelog. |
| send_notificationA | Send a notification through Qinglong's notification system (Server酱/PushPlus/Bark/Telegram/钉钉/企业微信/邮件 etc.). Provide notificationInfo with a "type" matching the configured channel and its keys, e.g. {"type":"serverChan","serverChanKey":"SCxxx"}; omit to use system default channel. |
| run_commandA | ⚠️ DANGEROUS: execute an arbitrary shell command on the Qinglong server (host shell, not container-shell restricted). Only for advanced use; prefer dedicated tools (run_crons / run_script) when possible. |
| stop_commandA | Stop a running command on the Qinglong server by pid (or command text). |
| list_logsA | List accessible log files on the Qinglong server. |
| get_logA | Read a log file's content by path/file. |
| list_configsA | List Qinglong config files (config.sh, auth.json etc.). |
| get_configA | Read a config file's content by path. |
| save_configA | Save (create/overwrite) a config file. ⚠️ Can change panel behavior. |
| list_dependenciesA | List installed dependencies (node/python/linux packages). |
| create_dependenciesA | Install dependencies. type: 1 = node, 2 = python, 3 = linux. Accepts a single dependency or an array (envs / items). |
| delete_dependenciesA | Delete installed dependencies by ids. ⚠️ Irreversible. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 42 tools
Each tool targets a distinct resource and action. Although run_crons, run_script, and run_command all involve execution, their descriptions clearly differentiate between cron tasks, script files, and arbitrary shell commands. Similarly, the various log tools are specific to their source, avoiding confusion.
Tool names follow a verb_noun pattern with clear resource identification. Minor inconsistencies exist, such as mixing 'create' and 'save' for creating/overwriting files, and inconsistent pluralization (e.g., delete_crons vs delete_script), but these do not undermine predictability.
At 42 tools, the set is large, but it reflects the multi-faceted nature of Qinglong (crons, envs, scripts, subscriptions, configs, dependencies, system). While it exceeds the ideal range, most tools earn their place, though some consolidation could reduce bloat.
The surface provides comprehensive coverage for most resources with full CRUD and lifecycle operations. However, subscriptions lack update and delete operations, and there is no single-get for cron tasks, though list_crons provides the data. Minor gaps exist but agents can work around them.