mcpField
F
fintel-data

fintel-data

github.com/himself65数据与数据库3.5k286 次安装3 天前更新
代码仓库

关于 fintel-data

Fintel Data Skill 帮助命令行 Agent 从 Fintel 获取只读市场与公司数据,包括卖空兴趣和机构持仓信息。它支持 REST 调用和 MCP 服务,两者都需要 Fintel API 密钥。

主要功能

  1. 01卖空兴趣与借券利率
  2. 02卖空成交量与未交割数据
  3. 03机构持仓与内部人交易
  4. 04分析师预测与目标价
  5. 05REST 与 MCP 访问

适用场景

  1. 01查看卖空兴趣和借券数据
  2. 02检查机构持有人及内部人申报
  3. 03获取财报日期和分析师预测

MCP 相关

Fintel 在 https://mcp.fintel.io/mcp 提供 MCP 服务,其工具对应 REST 数据端点。客户端通过 X-API-KEY 请求头验证身份,并受相同账户权限限制。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/himself65/finance-skills --skill fintel-data

安装后在 Claude Code 中输入/fintel-data确认已加载。

附带文件README.mdreferences/api-reference.md

详细介绍

Fintel Data 技能

如果宿主尚未执行下方的 Shell 探测(例如,在 Codex 中),请在选择设置路径前,使用其 Shell 工具运行 ! 包裹的命令。使用实际输出;如果无法访问 Shell,请说明这一限制。

Fintel(fintel.io)是一个机构级市场情报平台。 其最具优势的数据集是大多数其他提供商都缺少的数据:卖空兴趣、借券利率、卖空成交量、未交割证券、13F 机构持仓和内部人员交易。

Fintel 提供两个基于相同数据契约的接口:

接口端点身份验证最适合
RESThttps://api.fintel.io/v1/*X-API-KEY 请求头默认选择 — 从任意命令行 Agent 使用 curl
MCPhttps://mcp.fintel.io/mcpX-API-KEY 请求头原生支持 MCP 的客户端、工具自动发现

两者都需要 Fintel API 密钥。此技能为只读——只能调用 GET 端点。该 API 也提供写入端点(创建/删除股票列表、警报订阅、团队);请勿调用这些端点。


步骤 1:解析 FINTEL_API_KEY

此技能按以下顺序解析 FINTEL_API_KEY:

  1. FINTEL_API_KEY 环境变量
  2. 当前目录下 .env 中的 FINTEL_API_KEY
  3. Git 仓库根目录下 .env 中的 FINTEL_API_KEY(这样,工作树就能继承主检出目录中的密钥)
!`if [ -n "$FINTEL_API_KEY" ]; then echo "KEY_FROM_ENV_VAR"; elif [ -f .env ] && grep -qE "^FINTEL_API_KEY=" .env; then echo "KEY_FROM_LOCAL_DOTENV:$(pwd)/.env"; else GIT_COMMON=$(git rev-parse --path-format=absolute --git-common-dir 2>/dev/null); if [ -n "$GIT_COMMON" ]; then ROOT=$(dirname "$GIT_COMMON"); if [ -f "$ROOT/.env" ] && grep -qE "^FINTEL_API_KEY=" "$ROOT/.env"; then echo "KEY_FROM_ROOT_DOTENV:$ROOT/.env"; else echo "KEY_NOT_SET"; fi; else echo "KEY_NOT_SET"; fi; fi`

然后根据结果执行操作:

  • KEY_FROM_ENV_VAR — 在 curl 调用中直接使用 $FINTEL_API_KEY。
  • KEY_FROM_LOCAL_DOTENV:<path> / KEY_FROM_ROOT_DOTENV:<path> — 调用前加载一次:
    export FINTEL_API_KEY=$(grep -E "^FINTEL_API_KEY=" <path> | head -1 | cut -d= -f2- | sed 's/^["'\'']//;s/["'\'']$//')
    
  • KEY_NOT_SET — 向用户索要密钥。密钥包含在 Fintel API 套餐中(fintel.io,文档见 api.fintel.io/docs)。用户可以执行 export FINTEL_API_KEY="...",也可以将 FINTEL_API_KEY=... 添加到仓库根目录的 .env 中(工作树场景推荐此方式)。

步骤 2:解析证券

大多数端点使用 {country}/{symbol} 的格式定位证券——由 ISO 国家代码和股票代码组成,例如 us/AAPL。如果用户只提供股票代码,默认使用 us。

如果股票代码不明确,或者用户提供的是公司名称、CUSIP、ISIN 或 FIGI,请先解析:

# name / ticker / CUSIP / ISIN / FIGI search
curl -s -H "X-API-KEY: $FINTEL_API_KEY" "https://api.fintel.io/v1/securities?query=apple&country=us"
# exact identifier lookup (type: cusip, isin, ticker, id)
curl -s -H "X-API-KEY: $FINTEL_API_KEY" "https://api.fintel.io/v1/identifiers/isin/US0378331005"

步骤 3:将请求匹配到端点

用户需求端点备注
空头权益、回补天数/v1/securities/{country}/{symbol}/short-interest过去一年数据,由 NYSE/NASDAQ 报告。可用性有限——必须为每个账户启用;403 表示无权访问
借券利率、借券成本、可借股数/v1/securities/{country}/{symbol}/borrow-rate最新的证券借贷费率、返利率和可借股数
每日卖空成交量/v1/securities/{country}/{symbol}/short-volume过去一年:卖空、豁免卖空、总成交量
未交割交易 / FTD/v1/securities/{country}/{symbol}/fails-to-deliver过去一年的 SEC FTD 记录(仅限美国)
机构所有者 / 13F 持有人/v1/securities/{country}/{symbol}/owners当前基于 SEC 13F 数据的持有人
内部人交易 / Form 4/v1/securities/{country}/{symbol}/insiders基于 SEC Form 3/4/5 数据;使用 count 参数
分析师目标价/v1/securities/{country}/{symbol}/price-targets最高价、最低价、均值、中位数
分析师买入/持有/卖出评级/v1/securities/{country}/{symbol}/analyst-ratings汇总后的建议
营收 / EPS 预测/v1/securities/{country}/{symbol}/forecast汇总后的分析师预估
EOD 价格历史/v1/securities/{country}/{symbol}/eodperiod:1m、3m、6m、1y(默认)、2y、3y、5y、all
最新价格 + 衍生统计数据/v1/securities/{country}/{symbol}/last-price52 周高点/低点、WTD/MTD/YTD 涨跌;若无实时行情,则回退到 EOD 收盘价,并返回 meta.warnings=["quote_stale"]
股息历史/v1/securities/{country}/{symbol}/dividends
财报历史及业绩超预期情况/v1/securities/{country}/{symbol}/earnings
即将发布的财报(一只股票 / 全市场)/v1/securities/{country}/{symbol}/calendar/earnings 或 /v1/calendar/earningsfrom/to 为 ISO 日期,默认从今天起 7 天,最长 90 天
即将发放的股息(一只股票 / 全市场)/v1/securities/{country}/{symbol}/calendar/dividends 或 /v1/calendar/dividends窗口规则相同
特定基本面指标/v1/securities/{country}/{symbol}/data-points/{key}通过 /v1/data-definitions?query=... 查找键名
排名靠前/靠后的股票/v1/leaderboards,然后调用 /v1/leaderboards/{key}/entries503 not_available 表示暂不可用,请稍后重试;meta.status="beta" 表示为占位数据
证券概况、上市信息、标识符历史/v1/securities/{country}/{symbol}
用户的关注列表/v1/stock-lists、/v1/stock-lists/{id}/items每个列表还支持 /insiders、/owners、/filings
用户的提醒/v1/alerts、/v1/alert-messages
账户 / 权限/v1/account

完整的参数详情、国家/交易所发现端点以及更多 curl 示例,请参阅 references/api-reference.md。


步骤 4:调用 API

curl -s -H "X-API-KEY: $FINTEL_API_KEY" \
  "https://api.fintel.io/v1/securities/us/AAPL/short-volume" | python3 -m json.tool
  • 成功响应为 JSON;部分响应包含 meta 对象(警告、 数据新鲜度、状态)。如果存在 meta.warnings,请将其告知用户。
  • 错误响应格式为 {"error": {"code": "...", "message": "..."}}——例如 unauthorized(密钥错误或缺失)、403(未为账户启用数据集, 卖空权益数据常见此情况)、503 not_available(排名 服务不可用——请稍后重试,不要将其视为空数据)。
  • 使用量按账户计费——合理地批量请求;不要轮询。

步骤 5:MCP 替代方案(可选)

对于原生支持 MCP 的配置,可从官方服务发现相同的工具 (工具名称如 fintel.get_short_interest、 fintel.get_security_owners——与 REST 功能一致,权限要求相同):

claude mcp add --transport http fintel https://mcp.fintel.io/mcp --header "X-API-KEY: your_key_here"

如果可以访问 shell,优先通过 curl 使用 REST——除密钥外无需其他设置。 仅当用户明确提出要求或 shell 访问受限时才使用 MCP(注意:两种方式 在 Claude.ai 的沙盒中都无法使用)。


步骤 6:回复用户

  • 清晰地格式化数字:价格保留 2 位小数,百分比保留 1–2 位小数,股数使用逗号分隔或缩写(2.3M、1.1B)。
  • 对于简短的数据:添加背景信息——空头头寸占流通股的比例、回补天数、借股费率的变化趋势。借股费率高且可借股数下降,是典型的轧空情形;呈现数据,不做预测。
  • 对于所有权和内部人士信息:使用表格(持有人、股数、变动、日期)。区分 Form 4 数据中的买入、卖出和期权行权。
  • 注明数据来源:“Fintel”,并在相关时注明数据集来源(SEC 13F、Form 3/4/5、NYSE/NASDAQ 空头报告)。
  • 绝不要将数据转化为交易建议、目标价或轧空判断——只呈现事实,让用户自行得出结论。

参考文件

  • references/api-reference.md — 完整的 REST 端点参考:所有 GET 端点及其参数、默认值、限制、错误语义、MCP 工具名称映射和 curl 示例。

评论

支持 Markdown