Borsdata MCP服务器
MCP(模型上下文协议)服务器,公开 波兹达 财务数据API作为克劳德的工具和资源。涵盖北欧和全球股票、财务报告、关键绩效指标、股价、持股和日历。
快速开始
先决条件
- Node.js 18+
- Borsdata API密钥(需要专业会员资格-通过申请 Borsdata MyPage)
添加到克劳德代码
从项目目录运行以下命令:
claude mcp add borsdata -- npx borsdata-mcp-server然后将API键设置为环境变量。您可以:
- 添加到您的shell配置文件 (
.bashrc,.zshrc等等):
export BORSDATA_API_KEY=your-api-key-here- 或者在中配置它
.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": ["
/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或者从 直接。这为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个月)vsquarter,最大计数,货币标志 - 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
