MCP Server 文档
通过 MCP (Model Context Protocol) 接口,可在 Claude Code、Cursor、Claude Desktop 等 AI 客户端中直接查询推文、文章、日报、研究报告等数据。免费账号每天 20 次工具调用,Pro 不限次数。
连接信息
https://tianyanx.com/mcp推荐https://tianyanx.com/sse兼容只支持 SSE 的客户端认证与额度
MCP Server 需要 API Key 认证。注册登录后在 账户设置 页面创建 API Key(以 xc- 开头,只显示一次),免费账号即可创建。
支持两种认证方式:
- HTTP Header:
Authorization: Bearer xc-xxxxxxxxx - URL 参数:
?token=xc-xxxxxxxxx
额度:免费账号每天 20 次工具调用(列出工具不计),北京时间 0 点重置;超出后工具会返回提示,升级 Pro 不限次数。所有账号每分钟最多 60 次请求。
未携带有效 API Key 的请求将返回 401 错误。
客户端配置
以下示例中的 your-api-key 替换为你在设置页创建的 API Key。
Claude Code
在终端执行:
claude mcp add --transport http tianyan https://tianyanx.com/mcp \
--header "Authorization: Bearer your-api-key"执行 claude mcp list 显示 Connected 即可使用;加 -s user 对所有项目生效。
Cursor
编辑 ~/.cursor/mcp.json(或项目内 .cursor/mcp.json):
{
"mcpServers": {
"tianyan": {
"url": "https://tianyanx.com/mcp",
"headers": {
"Authorization": "Bearer your-api-key"
}
}
}
}Claude Desktop
Claude Desktop 的配置文件只支持本地命令,需借助 mcp-remote 桥接(需已安装 Node.js 18+)。 打开 Settings > Developer > Edit Config,写入:
{
"mcpServers": {
"tianyan": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://tianyanx.com/mcp?token=your-api-key"
]
}
}
}保存后完全退出并重启 Claude Desktop。
?token=)即可。数据概览
get_data_overview获取系统数据概览,包括推文、RSS 文章、日报、投资洞察、学习摘要、深度研究报告等各类数据的总量统计。适合在开始使用时调用。
无参数
推文
search_tweets搜索推文。可按关键词、用户名、日期范围过滤。
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| keyword | string | 否 | "" | 搜索关键词(在推文内容中模糊匹配) |
| username | string | 否 | "" | 按用户名过滤 |
| start_date | string | 否 | "" | 开始日期(YYYY-MM-DD) |
| end_date | string | 否 | "" | 结束日期(YYYY-MM-DD) |
| limit | int | 否 | 20 | 返回数量,最大 100 |
get_recent_tweets获取最新推文。
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| limit | int | 否 | 20 | 返回数量,最大 100 |
get_tweet_by_url传入一条推特链接(或纯 tweet_id),实时抓取并返回该推文原文。支持 x.com / twitter.com 的 status 链接和纯数字 ID。实时抓取代价较高,限速每用户 30 次/分钟且相邻调用至少间隔 2 秒。
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| url | string | 是 | - | 推特链接或推文数字 ID |
RSS 文章
search_rss_articles搜索 RSS 文章,支持按关键词、分类、来源、时间范围过滤。
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| keyword | string | 否 | "" | 搜索关键词(匹配标题和摘要) |
| category | string | 否 | "" | 按分类过滤(如:科技、AI、金融) |
| source_name | string | 否 | "" | 按来源名称过滤 |
| days | int | 否 | 7 | 最近几天内的文章 |
| limit | int | 否 | 20 | 返回数量,最大 100 |
get_rss_article_content获取单篇 RSS 文章的完整内容。
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| article_id | int | 是 | - | 文章 ID(通过 search_rss_articles 获取) |
get_rss_sources列出 RSS 订阅源,支持按分类过滤。
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| category | string | 否 | "" | 按分类过滤,为空返回全部 |
| enabled_only | bool | 否 | true | 是否只返回启用的源 |
get_rss_categories获取所有 RSS 订阅源的分类列表及每个分类下的源数量。
无参数
日报
get_daily_reports获取日报列表。每天早 8 点、晚 8 点各一份,由 AI 汇总推文和文章生成。
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| topic | string | 否 | "" | 按主题过滤 |
| start_date | string | 否 | "" | 开始日期(YYYY-MM-DD) |
| end_date | string | 否 | "" | 结束日期(YYYY-MM-DD) |
| limit | int | 否 | 10 | 返回数量,最大 50 |
get_daily_report_content获取单篇日报正文(Markdown)。较长时分页返回,next_offset 不为空时用它作为 offset 取下一页。
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| report_id | int | 是 | - | 日报 ID(通过 get_daily_reports 获取) |
| offset | int | 否 | 0 | 从正文第几个字开始 |
| max_chars | int | 否 | 20000 | 本次最多返回字数,最大 30000 |
投资信号
get_investment_insights获取投资信号日报列表(每天早晚各一份):整体情绪、利好 / 风险信号数量和简评。
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| topic | string | 否 | "" | 按主题过滤 |
| start_date | string | 否 | "" | 开始日期(YYYY-MM-DD) |
| end_date | string | 否 | "" | 结束日期(YYYY-MM-DD) |
| period | string | 否 | "" | 报告时段:morning 早间 / evening 晚间 |
| limit | int | 否 | 10 | 返回数量,最大 30 |
get_investment_insight_content获取一份投资信号日报的正文:利好 / 风险信号表、重大事件、投资建议。较长时分页返回。
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| insight_id | int | 是 | - | 报告 ID(通过 get_investment_insights 获取) |
| offset | int | 否 | 0 | 从正文第几个字开始 |
| max_chars | int | 否 | 8000 | 本次最多返回字数,最大 20000 |
get_investment_signals筛选一份投资信号日报里的具体信号(每份几百到上千条),按重要度从高到低排序。
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| insight_id | int | 否 | 0 | 报告 ID,0 表示最新一份 |
| signal_type | string | 否 | "" | bullish 利好 / bearish 风险 / neutral 中性 |
| ticker | string | 否 | "" | 相关标的,如 NVDA、宁德时代(模糊匹配) |
| keyword | string | 否 | "" | 在信号内容和相关实体中模糊匹配 |
| min_importance | int | 否 | 0 | 最低重要度(1-3) |
| limit | int | 否 | 30 | 返回数量,最大 100 |
| offset | int | 否 | 0 | 跳过前多少条,用于翻页 |
研究报告
get_deep_research_reports获取研究报告列表(每小时更新):热点事件的来龙去脉分析、日报条目溯源、专题研究等。
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| kind | string | 否 | "" | event 事件分析 / report_trace 日报溯源 / topic 专题 / market 市场研究 |
| keyword | string | 否 | "" | 在标题中模糊匹配 |
| start_date | string | 否 | "" | 开始日期(YYYY-MM-DD) |
| end_date | string | 否 | "" | 结束日期(YYYY-MM-DD) |
| limit | int | 否 | 10 | 返回数量,最大 30 |
| offset | int | 否 | 0 | 跳过前多少条,用于翻页 |
get_deep_research_report_content获取单篇研究报告:摘要、正文(较长时分页)、结构化分析(事件链、影响、多方观点)和前 15 条来源。
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| report_id | int | 是 | - | 报告 ID(通过 get_deep_research_reports 获取) |
| offset | int | 否 | 0 | 从正文第几个字开始 |
| max_chars | int | 否 | 12000 | 本次最多返回正文字数,最大 20000 |
实验性
semantic_search按语义在已建向量索引的内容中搜索(目前主要覆盖部分文章和突发新闻,推文尚未建索引)。查推文请用 search_tweets。
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| query | string | 是 | - | 自然语言描述 |
| source_types | string | 否 | "all" | 逗号分隔:tweet,rss,breaking_news,event 或 all |
| limit | int | 否 | 20 | 返回数量 |
| use_ai_filter | bool | 否 | false | AI 精排(更准但更慢) |
get_vector_stats查看各类内容的向量索引数量。
无参数
使用示例
连接 MCP Server 后,可以在客户端中这样提问:
get_data_overviewsearch_tweetsget_investment_insightsget_deep_research_reportsX-Crawler MCP Server · 端口 443