金融数据API服务器

Borsdata MCP Server是一个将Borsdata金融数据API暴露为Claude工具和资源的模型上下文协议服务器,涵盖北欧和全球股票、财务报告、关键绩效指标、股票价格、持仓和日历。

  • by carlwestman
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 carlwestman/borsdata-mcp-server

使用说明

Borsdata MCP服务器

MCP(模型上下文协议)服务器,公开 波兹达 财务数据API作为克劳德的工具和资源。涵盖北欧和全球股票、财务报告、关键绩效指标、股价、持股和日历。

快速开始

先决条件

  • Node.js 18+
  • Borsdata API密钥(需要专业会员资格-通过申请 Borsdata MyPage)

添加到克劳德代码

从项目目录运行以下命令:

claude mcp add borsdata -- npx borsdata-mcp-server

然后将API键设置为环境变量。您可以:

  1. 添加到您的shell配置文件 (.bashrc, .zshrc等等):

    export BORSDATA_API_KEY=your-api-key-here
    
  2. 或者在中配置它 .mcp.json (项目级)手动:

    {
      "mcpServers": {
        "borsdata": {
          "command": "npx",
          "args": ["borsdata-mcp-server"],
          "env": {
            "BORSDATA_API_KEY": "your-api-key-here"
          }
        }
      }
    }
    

添加到克劳德桌面

添加到您的Claude桌面配置(claude_desktop_config.json):

{
  "mcpServers": {
    "borsdata": {
      "command": "npx",
      "args": ["borsdata-mcp-server"],
      "env": {
        "BORSDATA_API_KEY": "your-api-key-here"
      }
    }
  }
}

替代方案:全局安装

npm install -g borsdata-mcp-server

然后使用 "command": "borsdata-mcp-server" 而不是 npx borsdata-mcp-server 在您的配置中。

替代方案:从源代码安装

git clone https://github.com/carlwestman/borsdata-mcp-server.git
cd borsdata-mcp-server
npm install
npm run build

然后将配置指向构建的输出(使用克隆它的完整路径):

{
  "mcpServers": {
    "borsdata": {
      "command": "node",
      "args": ["<path-to-cloned-repo>/dist/index.js"],
      "env": {
        "BORSDATA_API_KEY": "your-api-key-here"
      }
    }
  }
}

例如,如果您克隆到 ~/projects/borsdata-mcp-server,参数为 ["~/projects/borsdata-mcp-server/dist/index.js"].


与Claude一起使用--Claude.md代码段

为了获得最佳效果,请将Borsdata上下文添加到项目的 CLAUDE.md 所以克劳德知道如何有效地使用这些工具。复制以下内容 CLAUDE_MD_SNIPPET.md 进入你的项目 CLAUDE.md:

cat node_modules/borsdata-mcp-server/CLAUDE_MD_SNIPPET.md >> CLAUDE.md

或者从 GitHub 仓库 直接。这为Claude提供了高效使用服务器所需的工作流程、工具参考、参数指南和常见KPI ID。


工具(共22个)

仪器

工具 说明
search_instruments 按名称或股票代码搜索北欧乐器。 从这里开始 --你需要 insId 对于大多数其他工具。
list_instruments 列出所有北欧乐器。可选过滤器:仪器类型、市场、行业、国家。
list_global_instruments 列出所有全球文书。需要Pro+。
get_instrument_descriptions 获取多达50种仪器的瑞典语/英语公司描述。

股价

工具 说明
get_stock_prices 一种工具的历史收盘价。长达20年。支持日期范围和最大计数。
get_stock_prices_batch 一次通话最多50种乐器的历史价格。
get_latest_prices 所有北欧乐器的最新价格。
get_prices_by_date 特定日期的所有北欧价格。

财务报告

工具 说明
get_reports 一种工具的损益表、资产负债表和现金流量表。选择报告类型: year, r12,或 quarter.
get_all_reports 一种工具的所有报告类型(年份+r12+季度)。
get_reports_batch 最多50种仪器的所有报告类型。

KPI筛选器(最新值)

工具 说明
get_kpi 一个仪器对应一个KPI值(例如,爱立信的市盈率)。
get_kpi_all 所有北欧仪器的一个KPI值(可用于筛选)。
get_kpi_updated 上次重新计算KPI的时间。

KPI历史记录

工具 说明
get_kpi_history 一个仪器随时间变化的历史KPI值。
get_kpi_history_batch 多达50种仪器的历史KPI值。
get_kpi_summary 一种仪器的所有可用KPI摘要。

控股公司(仅限Pro+)

工具 说明
get_insider_holdings 多达50种工具的内幕交易活动(过去10年)。
get_short_positions 所有北欧金融工具的卖空头寸。
get_buybacks 多达50种工具的股票回购数据。

日历

工具 说明
get_report_calendar 即将发布的报告最多可发布50种仪器。
get_dividend_calendar 最多50种工具的股息日期和金额。

参考数据

工具 说明
list_branches 所有行业分支(行业子类别)。
list_countries 所有北欧国家。
list_markets 所有证券交易所/市场。
list_sectors 所有部门。

其他

工具 说明
get_stock_splits 去年北欧金融工具的股票拆分。

MCP资源(知识库)

服务器公开3个MCP资源,代理可以读取这些资源以了解API的不透明ID和参数。这些是使工具可用的关键——没有它们,代理就不会知道“市盈率”映射到 kpiId=2.

1. borsdata://guide/api-overview -API指南

代理人首先阅读的全面参考文件。包含:

  • 典型工作流程:按名称搜索仪器→ 投保→ 将insId与其他工具一起使用
  • 数据层:北欧专业版和全球专业版有什么可供选择+
  • 费率限制:100个电话/10秒,建议每天最多10000个
  • 仪器类型:完整的ID到名称映射(0=股票,1=优先股,2=北欧指数等)
  • 报告类型: year 对比 r12 (滚动12个月)vs quarter,最大计数,货币标志
  • KPI参数:
    • calcGroup: 1year, 3year, 5year, 7year, 10year, 15year, last
    • calc: high, low, mean, cagr, latest
    • reportType: year, r12, quarter
    • priceType: low, mean, high
  • 常见KPI ID:市盈率=2,市盈率=3,市盈率=4,股息收益率=1,每股收益=6,净资产收益率=34,净资产回报率=35
  • 报告期:1=Q1,2=Q2,3=Q3,4=Q4,5=全年

2. borsdata://reference/kpi-metadata --KPI查询表

动态资源 -第一次访问时从Borsdata API获取,然后缓存。返回所有可用KPI ID的标记表:

| kpiId | English Name | Swedish Name | Format | IsString |
|-------|-------------|-------------|--------|----------|
| 1     | Dividend Yield | Direktavkastning | percentage | false |
| 2     | P/E          | P/E          | number | false    |
| 3     | P/S          | P/S          | number | false    |
| 4     | P/B          | P/B          | number | false    |
| 5     | Revenue Per Share | Omsättning/aktie | number | false |
| 6     | Earnings Per Share | Vinst/aktie | number | false |
| ...   | ...          | ...          | ...    | ...      |

这是唯一最重要的资源。它允许代理将人类可读的KPI名称(如“股本回报率”)转换为数字 kpiId 所需 get_kpi, get_kpi_all,以及 get_kpi_history.

3. borsdata://reference/report-fields --报表字段元数据

动态资源 -第一次访问时从Borsdata API获取,然后缓存。返回一个markdown表,解释财务报告中每个字段的含义:

| Field Name              | English Name              | Swedish Name           | Format  |
|------------------------|--------------------------|----------------------|---------|
| revenues               | Revenues                 | Omsättning           | number  |
| gross_Income           | Gross Income             | Bruttoresultat       | number  |
| operating_Income       | Operating Income         | Rörelseresultat      | number  |
| profit_Before_Tax      | Profit Before Tax        | Resultat före skatt  | number  |
| earnings_Per_Share     | Earnings Per Share       | Vinst per aktie      | number  |
| total_Assets           | Total Assets             | Totala tillgångar    | number  |
| free_Cash_Flow         | Free Cash Flow           | Fritt kassaflöde     | number  |
| ...                    | ...                      | ...                  | ...     |

代理使用它来理解由返回的40多个字段 get_reports, get_all_reports,以及 get_reports_batch.


API 参考

此服务器包装 Borsdata API v1.附加文件:

速率限制

  • 每10秒100个呼叫 (由服务器内置的速率限制器强制执行)
  • 建议每天最多拨打10000个电话
  • UTC时间20:00后每天更新数据(仅限当天结束,不包括当天)

数据层

功能 北欧专业版 全球专业版+
北欧乐器 是 是
全球文书 否 是
股票价格(20年) 是 是
财务报告 是 是
KPI 是 是
日历 是 是
内幕持股 否 是
空头头寸 否 是
回购 否 是

发展(来源)

git clone https://github.com/carlwestman/borsdata-mcp-server.git
cd borsdata-mcp-server
npm install
npm run dev           # Run with tsx (auto-compiles TypeScript)
npm run build         # Compile to dist/
npm start             # Run compiled output
npm test              # Run tests (vitest)
npm run lint          # Lint with eslint

项目结构

src/
  index.ts              # Entry point — McpServer + StdioServerTransport
  api/
    client.ts           # BorsdataClient HTTP wrapper
    rate-limiter.ts     # Sliding window rate limiter
    types.ts            # TypeScript interfaces for API responses
  tools/                # Tool registration (one file per domain)
  resources/            # MCP Resources (knowledge base)
  utils/
    errors.ts           # Structured error handling

许可证

ISC