MCEIndex.Mcp 4.0.1

dotnet tool install --global MCEIndex.Mcp --version 4.0.1
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local MCEIndex.Mcp --version 4.0.1
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=MCEIndex.Mcp&version=4.0.1
                    
nuke :add-package MCEIndex.Mcp --version 4.0.1
                    

MCEIndex MCP

面向 有意义中国经济指数(mceindex.com) 的本地索引 MCP 服务。它将公开页面中的指标卡、统计期、解释文本和 Plotly 图表写入 SQLite,并通过 stdio 提供结构化查询。

MCEIndex MCP 是独立项目,抓取范围限于公开页面并遵守站点访问控制。查询结果包含 sourceUrl 和 fetchedAt,便于核对来源与抓取时间。

功能

  • 主动展示可查询主题、当前读数、指标意义和典型问题
  • 读取月度总览和单项经济指标
  • 按栏目读取正文、表格和图表
  • 使用 SQLite FTS5 trigram 搜索中文内容与指标代码
  • 将抓取结果保存在本地,支持离线查询
  • 通过 MCP JSON Schema 返回结构化数据

快速开始

1. 准备运行环境

依赖 要求
.NET 10 SDK 运行 dnx 或安装 .NET Tool
Node.js 24 LTS 安装和运行 Camofox
SQLite 3 提供系统 SQLite 动态库
Camofox 渲染 Streamlit 页面并处理 Cloudflare

Windows 10+ 提供 winsqlite3.dll,macOS 提供 libsqlite3.dylib。Debian 和 Ubuntu 先安装 SQLite 与 Camofox 所需原生库,再安装 Camofox:

sudo apt-get update
sudo apt-get install -y libsqlite3-0 libasound2
npm install --global @askjo/camofox-browser@1.13.1

检查运行环境:

dotnet --version
node --version
camofox-browser --help

2. 一次性运行

.NET 10 的 dnx 会从 NuGet 下载、缓存并启动工具:

dnx MCEIndex.Mcp@4.0.1

3. 全局安装

dotnet tool install --global MCEIndex.Mcp --version 4.0.1
dotnet tool list --global

更新或卸载:

dotnet tool update --global MCEIndex.Mcp --version 4.0.1
dotnet tool uninstall --global MCEIndex.Mcp

全局工具的默认路径:

平台 command
Windows %USERPROFILE%\.dotnet\tools\mceindex-mcp.exe
Linux $HOME/.dotnet/tools/mceindex-mcp
macOS $HOME/.dotnet/tools/mceindex-mcp

配置 MCP 客户端

MCP 客户端可以通过 dnx 直接启动:

{
  "mcpServers": {
    "mceindex": {
      "command": "dnx",
      "args": ["MCEIndex.Mcp@4.0.1"]
    }
  }
}

Codex 使用相同的启动方式:

[mcp_servers.mceindex]
command = "dnx"
args = ["MCEIndex.Mcp@4.0.1"]
startup_timeout_sec = 60
tool_timeout_sec = 180

全局安装时,command 使用上表中的绝对路径,并删除 args。

服务默认连接 http://127.0.0.1:9377/。如果该地址没有服务,它会从 PATH 查找并按需启动 camofox-browser,刷新结束后停止自己启动的浏览器。也可以连接预先运行的 Camofox:

MCEINDEX_CAMOFOX_URL=http://127.0.0.1:9377/
MCEINDEX_CAMOFOX_EXECUTABLE=/absolute/path/to/camofox-browser

非回环服务必须使用 HTTPS,并设置与 Camofox CAMOFOX_ACCESS_KEY 相同的 MCEINDEX_CAMOFOX_ACCESS_KEY。

工具

工具 用途 主要参数
discover_data 发现可查询主题、当前读数、历史趋势及改善或恶化判断 无
get_latest 返回六组最新读数及最近 13 个月趋势 无
get_indicator 按代码或中文名称读取指标及历史序列 indicator、months=24
list_pages 列出已索引栏目和刷新状态 无
get_page 读取栏目摘要、正文、表格或图表 page、view、offset、limit
search_index 搜索中文内容或指标代码 query、page、kind、mode、offset、limit
refresh_index 刷新全部栏目 force=false

get_latest 的每组 trend 包含历史序列、环比变化、同比变化、最近 3 个月均值相对前 3 个月的动量、direction、assessment、判断依据和口径解释。direction 描述数值走势;assessment 才表示经济含义。产业规模、就业、净财政贡献和消费按指标方向返回 improving、deteriorating、stable 或 mixed。CPI 和社融不能仅凭升降判断经济好坏,因此返回 indeterminate,避免制造虚假结论。历史不足时返回 insufficientData。

get_indicator 的 months 控制返回窗口,范围 2–120,默认 24。例如 indicator=LEI-GDP, months=36。环比和同比变化使用原序列单位;百分比指标表示百分点变化,不计算跨零时容易误导的相对百分比。读数同时保留网站值、统计期、来源和完整核验信息。数据期晚于审计期时保留上次审计的可信度、来源、算法和复现记录,并标注 auditedPeriod、appliesToCurrentPeriod=false 和 dataUpdated=true。get_page 与 search_index 使用 offset 和 limit 分页。

get_page(view=charts) 仅返回当前栏目的图表,不附带全局指标卡。图表标题和 HTML 标签会被清洗;月度日期统一为 YYYY-MM,其他日期使用 ISO 8601;每个数据点同时包含清洗后的数值 value 和面向展示的 displayValue。

discover_data 汇总六个主题、当前读数、趋势判断、指标意义、典型问题、页面目录和后续查询建议,适合在指标名称未知或问题范围较宽时使用。

数据更新

  • 当前 MCP 进程的首个查询会刷新索引,并在刷新完成后读取 SQLite。
  • 后续查询直接读取本地索引。
  • 首次刷新失败且本地已有数据时,查询返回最近一次成功结果;空库返回 INDEX_EMPTY。
  • refresh_index(force=false) 遵守 24 小时刷新间隔。
  • refresh_index(force=true) 忽略 24 小时间隔,仍执行 60 秒硬冷却。
  • 单页抓取失败时保留该页最近一次成功内容。

refresh_index 返回 completed、partial 或 skipped。

环境变量

环境变量 默认值 用途
MCEINDEX_BASE_URL https://mceindex.com/ 数据源地址;HTTP 仅用于本机测试
MCEINDEX_DB_PATH 平台缓存目录下的 mceindex_mcp/mceindex.db SQLite 索引路径
MCEINDEX_CAMOFOX_URL http://127.0.0.1:9377/ Camofox HTTP 服务地址
MCEINDEX_CAMOFOX_EXECUTABLE 从 PATH 探测 无预运行服务时启动的 camofox-browser 路径
MCEINDEX_CAMOFOX_ACCESS_KEY 空 远程 Camofox 的 Bearer access key;非回环地址必填
MCEINDEX_CAMOFOX_PROFILE 平台缓存目录下的 mceindex_mcp/camofox Camofox 持久化 profile 目录
MCEINDEX_TIMEOUT_MS 45000 单页超时
MCEINDEX_SETTLE_MS 1200 DOM 稳定等待时间
MCEINDEX_REFRESH_INTERVAL_MS 86400000 普通刷新间隔
MCEINDEX_CRAWL_DELAY_MS 3000 页面请求间隔
MCEINDEX_CRAWL_CONCURRENCY 1 抓取并发,范围 1–4
MCEINDEX_MAX_PAGES 20 单次刷新页面上限,范围 5–100

Cloudflare 验证失败返回 ACCESS_CHALLENGE。其他错误码包括 BROWSER_NOT_FOUND、LOAD_TIMEOUT、PAGE_NOT_FOUND、INDICATOR_NOT_FOUND、INDEX_EMPTY、INVALID_CONFIGURATION、EXTRACTION_FAILED、DATABASE_ERROR 和 INTERNAL_ERROR。

开发

直接运行:

dotnet run --project src/MceIndex.Mcp/MceIndex.Mcp.csproj

构建与测试:

dotnet restore
dotnet build MceIndex.slnx --no-restore
dotnet test MceIndex.slnx --no-restore
dotnet pack src/MceIndex.Mcp/MceIndex.Mcp.csproj -c Release --no-restore -o artifacts

进程通过 stdio 传输 MCP JSON-RPC。stdout 专用于协议,stderr 输出运行日志。启动测试用 Camofox 后设置 MCEINDEX_TEST_CAMOFOX_URL 可运行浏览器集成测试。

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
4.0.1 116 8/12/2026
4.0.0 104 8/12/2026
3.9.0 106 8/11/2026
3.8.1 101 8/11/2026