价投长盈的MCP工具,让 Claude Code 走 TaoToken 查 get_stock_valuation
2026/9/18 19:26:54 网站建设 项目流程

在 Claude Code 里调用价投长盈的get_stock_valuation,卡住的位置通常不在 MCP Server 那一侧。工具已经在客户端列表里被发现,JSON Schema 也拿到了,可一旦让模型发起tool_use,请求就发不出去,或者发出去后迟迟等不到tool_result。根因多数落在 Claude Code 的模型通道上:MCP 层负责"有什么工具、怎么调",模型层负责"由谁决定调、把参数拼出来"。本文记录的正是这条链路的搭法——TaoToken(https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=)在这里只作为 Claude Code 的模型通道存在,Key 由 Claude Code 消耗,估值计算依旧由价投长盈的 MCP Server 完成,两者职责不重叠。配好之后,把get_stock_valuation的调用示例丢进对话,就能对照原项目 2.3 节的偏差曲线,判断返回是否落在合理区间。

一、原问题与场景:MCP 工具已就绪,模型通道还没接

价投长盈在 3.2 节做的事,是把核心能力从"小程序内部函数"提升为"对外可发现的工具",抽象出四个标准化 Tools:get_portfolio_statusget_stock_valuationget_bank_scoreget_market_warning。每个工具用 JSON Schema 声明输入输出,AI 在对话中自主决定调用哪个、传什么参数。3.3 节则用 JWT + Scope Mask 把权限收窄,用户能勾选"只开放估值查询、不开放持仓明细",Token 30 天有效且可随时吊销。

这个设计对客户端提出了两个前置条件,缺一不可:

第一,客户端要支持 MCP,能完成工具发现(tools/list)与工具调用(tools/call)。这一步和模型无关,Claude Code 通过settings.json同级目录下的 MCP 配置文件或claude mcp add命令注册后即可完成。

第二,客户端背后要有一个能正常工作的模型通道,用来解析用户自然语言、决定调用意图、把参数组织成符合 Schema 的 JSON、再消费返回结果做二次表达。Claude Code 默认走 Anthropic 官方端点,如果你的网络环境或账号状态让这个端点不可达,MCP 工具注册得再正确,也只会停在第 3.4 节那张"实际应用场景"的门口——工具在那儿,没人去调。

所以复现 3.4 节"帮我检查持仓偏离情况,再看看招商银行的 DCF 估值和不良贷款率"这类自然语言交互之前,顺序应该是:先接通模型通道,再验证 MCP 工具,最后对齐估值结果。反过来做,你会在两个层面的错误之间反复横跳,很难定位。

二、TaoToken 前置:只做模型通道,不碰估值计算

这里需要把边界说清楚,否则后面排障会走偏。

TaoToken 承担的是 Claude Code 的 Anthropic 兼容通道。它接收 Claude Code 发出的对话请求与tool_use往返,返回模型侧的推理结果。它不参与 DDM/DCF 的公式计算,不持有价投长盈的持仓数据,也不校验get_stock_valuation的业务参数是否合理。那些属于原文 MCP Server 的职责范围。

准备动作只有两步:

打开 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 完成账号创建,进入控制台生成一个 Key,形态是sk-开头的字符串,本文统一用YOUR_API_KEY指代。这个 Key 会被 Claude Code 消耗,用于模型调用计费,跟 MCP Server 那边的 JWT Token 是两套完全独立的凭据,别混用。

记住 API 基址是https://taotoken.net/api。这里有两个容易出错的细节:它不是官网地址https://taotoken.net,官网页面是给人看的,接口在/api路径下;它也不需要在末尾补/v1,Claude Code 会自行拼接后续路径,多写一层会直接 404。

如果你不想手写配置文件,也可以用 CLI 一条命令完成注入:

npm i -g @taotoken/taotoken taotoken cc -k YOUR_API_KEY -u https://taotoken.net/api -m MODEL_ID

MODEL_ID请到控制台的模型对话页查当前可用列表,不要凭记忆填。

三、可复制配置:settings.json 与 MCP Server 注册

Claude Code 的配置文件是settings.json,落在用户目录下的.claude目录里。核心是 environment 变量段,Claude Code 认的是ANTHROPIC_*这一族前缀:

{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_AUTH_TOKEN": "YOUR_API_KEY", "ANTHROPIC_MODEL": "MODEL_ID", "ANTHROPIC_SMALL_FAST_MODEL": "MODEL_ID" } }

几个字段的取舍说明一下。ANTHROPIC_BASE_URL固定填https://taotoken.net/api,不加/v1ANTHROPIC_AUTH_TOKEN放你的 Key;如果你的版本读的是ANTHROPIC_API_KEY,两个都写上不会有副作用,但优先按官方文档给的那个来。ANTHROPIC_MODEL是主模型,ANTHROPIC_SMALL_FAST_MODEL用于后台的轻量任务,比如文件摘要、标题生成这类,可以填同一个也行,想省额度就填更小的型号。

改完settings.json后需要重启 Claude Code 会话,环境变量在进程启动时读取。

接下来注册 MCP Server。价投长盈的接入地址在小程序内生成,把它替换到下面的url字段;MCP Token 就是你勾选权限后拿到的那个 JWT:

{ "mcpServers": { "jiazhi-changying": { "type": "http", "url": "<MCP_ENDPOINT>", "headers": { "Authorization": "Bearer <MCP_TOKEN>" } } } }

type字段要跟服务端实现对上。走 HTTP 传输填http,走 Server-Sent Events 填sse,本地进程用标准输入输出则填stdio并改用command+args。填错类型最典型的症状是工具列表为空,而不是报错。

也可以用命令行注册:

claude mcp add jiazhi-changying --transport http <MCP_ENDPOINT> --header "Authorization: Bearer <MCP_TOKEN>"

注册完在会话里执行/mcp,能看到jiazhi-changying处于 connected 状态,并且展开后列出四个工具名,这一步才算过。

四、验证请求与成功结果:用 get_stock_valuation 跑一次真实调用

模型通道和 MCP 通道都接好之后,用一次真实的估值调用把链路打通。先在 Claude Code 里确认工具已经加载:

/mcp

期望输出里包含get_stock_valuation,其 Schema 大致是这样(以下按 3.2 节描述整理成等价示例,实际字段以官方文档为准):

{ "name": "get_stock_valuation", "description": "返回个股 DDM/DCF 估值结果及历史回测偏差", "input_schema": { "type": "object", "properties": { "symbol": { "type": "string", "description": "股票代码" }, "model": { "type": "string", "enum": ["ddm", "dcf"] }, "params": { "type": "object", "properties": { "wacc": { "type": "number" }, "terminal_growth": { "type": "number" }, "forecast_years": { "type": "integer" } } }, "backtest": { "type": "boolean", "description": "是否返回历史回测偏差曲线" } }, "required": ["symbol", "model"] } }

然后在对话里发起一次自然语言请求:

调用 get_stock_valuation,查询 600036 的 DCF 估值, 参数用 WACC 8.5%、永续增长率 3%、预测期 5 年, 并开启 backtest,把最近 5 年的偏差曲线一起返回。

如果通道正常,你会看到三段结构化的过程:模型先产出tool_use块,携带工具名与参数 JSON;接着客户端把请求转发给 MCP Server,返回tool_result;模型再基于结果做自然语言归纳。

成功的返回应该包含这几类字段:当前内在价值、你覆盖后的参数快照、以及backtest开启后的偏差序列。重点看偏差序列——原文 2.3 节把这套设计的用意写得很明白:用同一套参数回推过去五年的理论估值,跟当年实际市值比对,形成偏差曲线。如果偏差长期为正,说明你的参数组合系统性偏乐观;如果围绕零轴波动,说明假设与历史定价逻辑大致吻合。你可以把 WACC 调到 10% 再跑一次,观察曲线整体下移的幅度是否符合预期,这是验证"参数真的透传到服务端重算"而不是前端写死的最直接办法。

五、本篇常见错排查

按出现频率从高到低排:

Base URL 写错。填成https://taotoken.nethttps://taotoken.net/api/v1都不对。前者是官网页面,后者的路径会被再次拼接。正确值只有一个:https://taotoken.net/api

settings.json 没生效。改完没重启会话是最常见的原因。另外确认文件路径正确,是用户目录下的.claude/settings.json,不是项目根目录里随手建的那个。

提示 model not found。ANTHROPIC_MODEL里填的型号在控制台可用列表中不存在,或者复制时带了多余空格。去模型对话页核对一遍,直接复制型号字符串。

/mcp显示 connected 但工具列表为空。大概率是type字段与服务端传输方式不匹配,或者url指向的路径少了/mcp后缀。先确认端点可达,再确认传输类型。

工具能被发现,但调用返回 401 或 403。这是 MCP 侧的鉴权问题,跟 TaoToken 的 Key 无关。对照 3.3 节的设计检查:JWT 是否过期(有效期 30 天)、是否被手动吊销、Scope Mask 里有没有勾选估值查询权限、以及小程序里的"AI 访问"总开关是否处于开启状态。二者是独立凭据体系,不要拿模型 Key 去填 MCP 的 Authorization 头。

返回 200 但内容为空。参数名跟 Schema 对不上。比如把model写成valuation_modelterminal_growth写成g。Schema 里是严格校验的,字段名不匹配时服务端可能静默返回空结果而不报错。把上面那段自然语言请求换成显式传参再试一次。

两次请求结果不一致,怀疑模型在编。检查返回体里有没有tool_result段落。如果全程只有模型的自然语言输出、没有工具调用痕迹,说明模型选择跳过工具直接作答,这通常是描述里给的触发条件不够明确。在请求里显式点名get_stock_valuation,或者把工具描述改得更具体一些。

六、按场景分流入口

如果卡在 Key 生成、Base URL 填写、settings.json 字段名这类接入问题上,直接看这两处:API Keys 页面 https://taotoken.net/console/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite,以及接入文档 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite,Claude Code 相关的ANTHROPIC_*变量说明都在里面。

想先确认账号下当前有哪些可用型号,再去填ANTHROPIC_MODEL,从模型对话入口进去核对一遍最省事:https://taotoken.net/console/model-chat?utm_source=taotoken_aicg_blog_end&utm_content=model-chat&utm_campaign=rewrite。Claude Code 专项配置说明另见 https://taotoken.net/doc/claude-code-anthropic?utm_source=taotoken_aicg_blog_end&utm_content=claude-code-anthropic&utm_campaign=rewrite。

如果你打算把get_stock_valuation这类工具长期挂在 Claude Code 里,配合持仓巡检、银行评分、大盘预警做日常查询,那属于持续跑 Agent 场景,走 Coding Plan 更合适:https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding-plan&utm_campaign=rewrite。控制台总入口在 https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=console&utm_campaign=rewrite。

最后提醒一句边界:TaoToken 解决的是模型通道可用性,估值数字的合理性取决于你在params里填的假设,以及价投长盈服务端的计算逻辑。偏差曲线好用,但它只反映参数与历史定价的吻合度,不构成任何投资判断依据。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询