ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

股票分析MCP服务stock-scanner-mcp配TaoToken:settings.json与config.toml骨架

股票分析MCP服务stock-scanner-mcp配TaoToken:settings.json与config.toml骨架 1. 为什么要在 stock-scanner-mcp 里接统一 Key 通道stock-scanner-mcp 是一个把股票分析能力封装成 MCP 工具的服务底层用 FastAPI 暴露/mcp、/health、/docs这些端点核心逻辑来自 stock-scanner 的 services 和 utils。它本身不生产模型能力而是把「取行情、算指标、出评分、生成 AI 分析」这些动作包装成 MCP 工具函数交给上层的 AI 客户端去调用。适合谁用用 Python、FastAPI、Docker 搭股票分析服务的开发者以及想让本地 MCP 服务稳定跑起来的折腾党。问题出在模型通道这一层。stock-scanner-mcp 默认通过API_KEY、API_URL、API_MODEL三个环境变量去请求大模型一旦你要换模型、换供应商或者多个 MCP 服务共用一套额度就得在每个容器里重复改环境变量。更麻烦的是有些客户端只认 OpenAI 兼容格式有些又走 Anthropic 风格配置散落在settings.json、config.toml、docker-compose.yml里排查起来很费劲。我试过把模型调用统一收敛到 TaoToken 的 API 通道上用一套 Key 同时服务 MCP 服务和本地编码工具。TaoToken 提供 OpenAI 兼容的接口官网是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 入口是 https://taotoken.net/api 。这样 stock-scanner-mcp 只需要把API_URL指向统一通道API_KEY换成 TaoToken 的 Key模型名按需切换不用再为每个供应商单独维护配置。这篇就聚焦配置落地给出settings.json与config.toml的可复制骨架、环境变量占位以及启动后的连通性自检动作。技术部分会比拿 Key 部分长得多因为真正卡人的往往是配置格式和请求验证。2. TaoToken 前置准备Key、模型名与通道地址在动 stock-scanner-mcp 之前先把 TaoToken 这边的三样东西准备好API Key、模型名、通道地址。这三样对应到 MCP 服务里就是API_KEY、API_MODEL、API_URL。先到控制台创建 API Key。打开 https://taotoken.net/api-keys 新建一个 Key复制出来形如sk-xxxxxxxx。这个 Key 就是后面所有配置里的API_KEY值。注意别把它提交到 Git用环境变量或本地.env承载。模型名取决于你想让 stock-scanner-mcp 用哪个模型做 AI 分析。TaoToken 的模型对话页在 https://taotoken.net/models 可以在这里确认可用模型标识。填到API_MODEL里的就是模型 ID比如某个通用对话模型或推理模型。股票分析场景里AI 分析那一步对长文本和推理有要求选一个上下文够长的模型会稳一些。通道地址统一用 https://taotoken.net/api 。stock-scanner-mcp 的API_URL处理规则和 Cherry Studio 一致填的是基础地址不带/v1后缀服务内部会自己拼接路径。这一点很关键填错了会直接 404。如果你后面还要接编码工具或 Agent可以顺带了解 Coding Planhttps://taotoken.net/coding-plan 。它和本篇的 MCP 配置是两条线但共用同一套 Key 体系长期编码场景可以放一起规划。注意API_URL只填到域名和/api不要自己加/v1/chat/completions否则会拼成双路径。3. settings.json 骨架MCP 客户端侧配置settings.json是 MCP 客户端比如 Cline、Cherry Studio 这类读取服务定义的配置文件。stock-scanner-mcp 以 SSE 协议暴露/mcp所以客户端侧要写的是服务地址和传输类型。下面是一个可复制的骨架把占位符替换成你的实际值即可。{ mcpServers: { stock-scanner-mcp: { type: sse, url: http://localhost:8000/mcp, env: { API_KEY: sk-your-taotoken-key, API_URL: https://taotoken.net/api, API_MODEL: your-model-id }, disabled: false, autoApprove: [] } } }几个字段说明。type填sse因为 stock-scanner-mcp 走的是 SSE 传输不是 stdio。url指向服务实际监听的地址本机跑就是http://localhost:8000/mcpDocker 映射到 8060 就是http://localhost:8060/mcp。env里的三个变量是给服务进程用的如果你是在 Docker 里通过-e注入这里的env可以留空或删掉避免两处配置打架。autoApprove建议先留空数组。股票分析工具会发起外部请求自动批准所有工具调用有风险手动确认更稳。等确认工具行为符合预期再按需加白名单。如果你用的是 Cline 这类把 MCP 配置放在独立文件的客户端settings.json的路径通常在扩展的全局存储目录下。改完记得重启客户端让配置重新加载。配置生效后在工具列表里应该能看到 stock-scanner-mcp 暴露的函数比如价格查询、评分、技术报告、AI 分析这几类。提示env和 Docker 的-e同时存在时以服务进程实际读到的为准。建议只保留一处减少排查成本。4. config.toml 骨架服务端与容器侧配置config.toml适合承载服务端和容器编排相关的配置尤其是当你用 docker-compose 管理 stock-scanner-mcp 时。下面这份骨架把镜像、端口、卷、环境变量都列出来直接改占位符就能用。[service] name stock-scanner-mcp image wbsu2003/stock-scanner-mcp restart unless-stopped [ports] host 8060 container 8000 [volumes] logs ./logs:/app/utils/logs [env] API_KEY sk-your-taotoken-key API_URL https://taotoken.net/api API_MODEL your-model-id [healthcheck] path /health interval 30s timeout 5s retries 3这份 TOML 是给编排工具或你自己的加载逻辑用的字段名可以按实际解析器调整。核心是[env]段API_KEY填 TaoToken 的 KeyAPI_URL填 https://taotoken.net/api API_MODEL填模型 ID。[ports]里 host 8060 映射容器 8000和前面settings.json里的 URL 对应上。[volumes]把日志目录挂出来stock-scanner-mcp 的日志写在/app/utils/logs挂到宿主机方便排查。[healthcheck]指向/health这是服务自带的健康检查端点容器编排可以用它判断服务是否就绪。如果你不用 TOML而是直接写docker-compose.yml等价内容是这样version: 3 services: stock-scanner-mcp: image: wbsu2003/stock-scanner-mcp container_name: stock-scanner-mcp restart: unless-stopped ports: - 8060:8000 volumes: - ./logs:/app/utils/logs environment: API_KEY: sk-your-taotoken-key API_URL: https://taotoken.net/api API_MODEL: your-model-id启动命令mkdir -p ./stock-scanner-mcp/logs cd ./stock-scanner-mcp docker-compose up -d源码方式跑的话先装依赖再启动git clone https://github.com/wbsu2003/stock-scanner-mcp.git cd stock-scanner-mcp pip install -r requirements.txt export API_KEYsk-your-taotoken-key export API_URLhttps://taotoken.net/api export API_MODELyour-model-id python main.py源码方式默认监听 8000和 Docker 的容器端口一致只是少了映射层。5. 验证请求与成功结果连通性自检配置写完别急着在客户端里点工具先做三层自检服务活着、MCP 端点可达、模型通道能通。第一层健康检查。浏览器或 curl 访问/healthcurl -s http://localhost:8060/health正常会返回类似{status:ok}的 JSON。如果连不上先看容器是否在跑docker ps | grep stock-scanner-mcp docker logs --tail 50 stock-scanner-mcp日志里如果出现端口占用或依赖缺失按报错处理。第二层MCP 端点。访问/mcp确认 SSE 通道建立curl -N http://localhost:8060/mcp-N关闭缓冲能看到 SSE 事件流就说明端点正常。同时可以打开/docs看 FastAPI 自动生成的接口文档确认工具函数都注册上了。第三层模型通道。这一步最关键因为API_URL或API_MODEL填错服务本身能起来但 AI 分析工具一调用就报错。用 curl 直接打 TaoToken 的接口验证 Key 和模型名curl -s https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer sk-your-taotoken-key \ -H Content-Type: application/json \ -d { model: your-model-id, messages: [{role: user, content: ping}], max_tokens: 16 }返回里带choices字段就说明 Key、模型名、通道地址三者都对。如果返回 401检查 Key返回 404检查API_URL是否多写了/v1返回模型不存在检查API_MODEL是否和控制台里的一致。三层都过之后回到 MCP 客户端在工具列表里找到 stock-scanner-mcp调用一个不依赖模型的工具比如价格查询确认工具链路通。再调用 AI 分析类工具确认模型通道通。成功的话客户端会返回结构化的分析结果日志里也能看到对应的请求记录。6. 本篇常见错排查配置过程中最容易踩的坑集中在地址拼接、环境变量覆盖、端口映射这三类。下面按现象列出来。现象一客户端连不上 MCP提示 SSE 连接失败。先确认settings.json里的url和实际监听地址一致。Docker 映射 8060 就写 8060源码跑 8000 就写 8000。再确认type是sse不是stdio。如果客户端和服务不在同一台机器localhost要换成实际 IP。现象二服务起来了但 AI 分析工具报 404。九成是API_URL填错。stock-scanner-mcp 的规则和 Cherry Studio 一致只填基础地址 https://taotoken.net/api 不要带/v1。服务内部会自己拼/v1/chat/completions。多写一层就变成双/v1直接 404。现象三报 401 未授权。检查API_KEY是否完整复制有没有多余空格或换行。Docker 的-e传参时引号别漏。如果 Key 是在控制台刚创建的确认没有误删。现象四模型名报错。API_MODEL必须和控制台里的模型 ID 完全一致大小写、连字符都不能差。不确定就回模型对话页核对https://taotoken.net/models 。现象五改了配置不生效。Docker 容器改环境变量后要重建docker-compose up -d会检测变化并重建。客户端改settings.json后要重启客户端。两处都改了还不行检查是不是env和-e同时存在导致读到了旧值。现象六日志目录没权限。挂载./logs:/app/utils/logs时宿主机目录要先建好权限给足。否则容器内写日志失败可能连带服务启动异常。排障时优先看容器日志docker logs --tail 100 stock-scanner-mcp基本能定位到具体是哪一层出的问题。MCP 接入相关的文档可以在 https://taotoken.net/doc 找到更细的说明API Key 管理在 https://taotoken.net/api-keys 。7. 把通道固定下来后续换模型只改一个值整套配置跑通之后你会发现 stock-scanner-mcp 的模型依赖被收敛到了三个环境变量上。以后想换模型只改API_MODEL一个值重建容器即可不用动 services 和 utils 里的任何代码。这正是把模型通道统一到 TaoToken 的价值MCP 服务只管工具逻辑模型供给交给统一入口。如果你后面要接更多 MCP 服务或者想让本地编码工具也走同一套 Key可以看 Coding Planhttps://taotoken.net/coding-plan 。模型对话和调试在 https://taotoken.net/models 控制台在 https://taotoken.net/console 。配置骨架已经给全剩下的就是替换占位符、跑一遍三层自检。真正卡人的从来不是写配置而是地址多一层、变量覆盖、端口没对上这些细节按上面的排查顺序走一遍基本都能定位。
返回列表