1. 为什么要在 1Panel MCP Server 前面加一层统一 Key
1Panel MCP Server 是 1Panel 开源项目组在 2025 年 3 月发布的开源工具,它基于 MCP(Model Context Protocol,模型上下文协议)把 1Panel 面板的 API 封装成一组标准工具,让 Cursor、Claude、Windsurf、Cline 这类 MCP 客户端可以用自然语言直接创建网站、装数据库、配反向代理、申请 SSL 证书。对 Linux 运维来说,交互方式从敲命令、点 Web 面板,变成了「说一句话,AI 帮你调工具」。
但真正落地时会撞上一个很现实的问题:MCP 客户端本身要连大模型,而模型侧通常需要单独的 Key、单独的计费、单独的通道。你如果同时用 Cursor 写代码、用 Claude 做对话、用 Cline 跑 Agent,每个客户端都要配一遍模型凭证,换模型还要改配置。更麻烦的是,1Panel MCP Server 的PANEL_ACCESS_TOKEN是面板级凭证,权限不小,把它和模型 Key 混在同一份配置里到处复制,管理起来很乱。
我试过把模型通道收敛到 TaoToken 这一层:MCP 客户端只认一个统一的 OpenAI 兼容入口,1Panel MCP Server 只负责面板工具调用,两边职责分开。这样换模型、加客户端、轮换 Key 都只动一处。下面这套骨架就是围绕这个思路写的,你可以直接抄。
2. TaoToken 前置准备:拿到统一 Key 和接入地址
TaoToken 在这里扮演的是「模型 API 统一通道」的角色,它提供 OpenAI 兼容的接口,MCP 客户端只要支持自定义 base_url,就能把请求打到 TaoToken,再由它路由到具体模型。对 1Panel MCP Server 来说,它本身不关心模型从哪来,它只关心面板工具被正确调用,所以模型通道的切换对它是透明的。
你需要先做两件事。
第一,注册并登录 TaoToken 官网,进入控制台创建 API Key。地址是 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,登录后直接进 https://taotoken.net/console 就能看到 Key 管理入口。
第二,记下两个关键值:API Base URL 是https://taotoken.net/api(注意这个地址不加 UTM 参数,直接用于程序请求),以及你刚创建的 Key,形如sk-xxxx。这个 Key 就是后面所有 MCP 客户端共用的统一凭证。
注意:TaoToken 的 Key 是模型通道凭证,1Panel 的
PANEL_ACCESS_TOKEN是面板凭证,两者用途完全不同,不要混用,也不要把面板 Token 填进模型配置里。
如果你还没决定用哪个模型,可以先去 https://taotoken.net/models 看模型对话能力,确认通道通不通再往下配。长期跑编码和 Agent 场景的话,Coding Plan 会更划算,入口在 https://taotoken.net/coding-plan 。
3. 可复制的 MCP Server 配置骨架
这一节是全文的核心,给你一份可以直接改的配置骨架。整体分两层:一层是 1Panel MCP Server 自己的启动配置,一层是 MCP 客户端(以 Cursor 的settings.json风格为例)里把模型通道指向 TaoToken 的配置。
3.1 安装 1Panel MCP Server
两种方式,选一种即可。源码构建适合想改代码的人:
git clone https://github.com/1Panel-dev/mcp-1panel.git cd mcp-1panel make build mv ./build/mcp-1panel /usr/local/bin/Go 环境一键装更省事:
go install github.com/1Panel-dev/mcp-1panel@latest装完执行mcp-1panel -h能看到参数列表就说明二进制就位了。
3.2 1Panel 侧:生成面板访问令牌
登录 1Panel 后台,进入「面板设置」→「API 接口」,生成访问令牌。这个 Token 对应配置里的PANEL_ACCESS_TOKEN,PANEL_HOST填你面板的实际地址,本地就是http://localhost:8080,远程就换成对应 IP 或域名。
3.3 stdio 模式配置骨架
stdio 是默认模式,适合本地集成,MCP 客户端直接拉起进程通信。下面这份是 1Panel MCP Server 的 stdio 配置:
{ "mcpServers": { "mcp-1panel": { "command": "mcp-1panel", "env": { "PANEL_ACCESS_TOKEN": "your_1panel_token", "PANEL_HOST": "http://localhost:8080" } } } }3.4 SSE 模式配置骨架
SSE 基于 Server-Sent Events,适合分布式环境,MCP Server 单独跑在一个地址上,客户端通过 URL 连。先启动服务:
mcp-1panel -host http://1panel-host:port -token your_1panel_token -transport sse -addr "http://localhost:8000"客户端侧配置改成 URL 形式:
{ "mcpServers": { "mcp-1panel": { "url": "http://localhost:8000/sse" } } }3.5 把模型通道指向 TaoToken 的 settings.json 示例
关键来了。MCP 客户端要调模型,就得配模型凭证。以 Cursor 的settings.json为例,把模型通道统一指向 TaoToken:
{ "openai.apiKey": "sk-your_taotoken_key", "openai.baseUrl": "https://taotoken.net/api", "mcpServers": { "mcp-1panel": { "command": "mcp-1panel", "env": { "PANEL_ACCESS_TOKEN": "your_1panel_token", "PANEL_HOST": "http://localhost:8080" } } } }这份配置里,openai.baseUrl指向 TaoToken 的 API 地址,openai.apiKey填你在控制台创建的 Key,mcpServers段负责拉起 1Panel MCP Server。模型请求走 TaoToken,面板工具调用走 1Panel,两条链路互不干扰。
3.6 常用命令行选项速查
| 选项 | 作用 | 示例 |
|---|---|---|
-token | 1Panel 访问令牌 | -token your_token |
-host | 1Panel 服务地址 | -host http://localhost:8080 |
-transport | 传输类型 stdio 或 sse | -transport sse |
-sse-port | SSE 服务端口,默认 8000 | -sse-port 8000 |
提示:如果你在多个 MCP 客户端之间切换,把
openai.baseUrl和 Key 抽成环境变量,客户端配置里引用变量,轮换时只改一处。
4. 启动后验证 AI 对话式运维是否生效
配置写完不代表通了,得用具体动作验证。分两步:先验证模型通道,再验证面板工具调用。
4.1 验证 TaoToken 通道
在 MCP 客户端里发一句普通对话,比如「你好,确认一下模型通道是否正常」。如果模型能正常回复,说明openai.baseUrl和 Key 配对了。这一步不通,后面面板工具肯定也不通,先排查模型侧。
4.2 验证 1Panel 工具调用
通道通了之后,发一条运维指令,比如「获取当前服务器概览信息」。正常情况下,AI 会调用 1Panel MCP Server 暴露的工具,返回面板的概览数据。再试一条更具体的:「安装 OpenResty 并创建一个静态网站」。如果 AI 能正确触发工具、面板里能看到对应变化,说明对话式运维链路完整生效。
4.3 用 curl 直接验证 API 通道
想绕过客户端单独确认 TaoToken 通道,可以直接 curl:
curl https://taotoken.net/api/v1/chat/completions \ -H "Authorization: Bearer sk-your_taotoken_key" \ -H "Content-Type: application/json" \ -d '{ "model": "gpt-4o-mini", "messages": [{"role": "user", "content": "ping"}] }'返回里带choices字段就说明通道正常。这一步能帮你快速区分是模型通道问题还是 MCP 配置问题。
5. 本篇常见错排查
配这套东西踩坑概率不低,列几个高频的。
报错一:PANEL_ACCESS_TOKEN无效或 401。多半是 Token 复制时带了空格,或者面板重新生成过 Token 但配置没更新。重新去「面板设置」→「API 接口」生成一次,粘贴时注意首尾不要有空白字符。
报错二:MCP 客户端连不上mcp-1panel命令。说明二进制不在 PATH 里。源码构建后mv到/usr/local/bin/就是为了进 PATH,如果你放在别处,配置里的command要写绝对路径。
报错三:SSE 模式连不上。检查-addr里的地址和客户端url是否一致,端口是否被占用。SSE 模式下 MCP Server 要先启动,客户端才能连,顺序反了会一直重试。
报错四:模型请求 404 或 base_url 错误。确认openai.baseUrl填的是https://taotoken.net/api,不要多加/v1之外的路径,也不要带 UTM 参数。有些客户端会自动拼/v1/chat/completions,所以 base 到/api即可。
报错五:AI 能对话但调不动面板工具。这通常是 MCP Server 没被客户端正确加载。检查mcpServers段是否在正确的配置文件里,改完配置要重启客户端。可以先去 https://taotoken.net/api-keys 确认 Key 状态,再去 https://taotoken.net/doc 对照接入文档检查参数。
6. 后续怎么扩展这套骨架
骨架跑通之后,扩展方向很清晰。想加新的 MCP 客户端,比如 Claude 或 Cline,只需要把openai.baseUrl和 Key 复制过去,1Panel MCP Server 的配置可以复用。想换模型,改 TaoToken 控制台里的路由或换 Key 即可,客户端配置基本不动。
如果你要跑长期编码或 Agent 任务,建议把模型通道切到 Coding Plan,入口在 https://taotoken.net/coding-plan ,配合 1Panel MCP Server 做自动化运维,比单次对话更省。日常调试模型能力,用模型对话页面快速验证就行。整套配置的核心就一句话:模型通道收敛到 TaoToken,面板工具交给 1Panel MCP Server,两边各管各的,换哪边都不牵一发动全身。