mcpField
A
Apiverket

Apiverket

本地服务
github.com/vinvuk法律与政务218 周前更新

关于 Apiverket

Apiverket MCP Server 将 Apiverket API 中的瑞典公共数据提供给 AI 助手,适用于需要查询公共数据的 MCP 客户端。它通过端点发现、结构化查询和错误恢复指引,覆盖公司、统计、天气、交通等数据。

主要功能

  1. 01搜索并浏览支持的 API 端点
  2. 02调用发现的端点并返回结构化数据
  3. 03查看密钥模式、额度和使用情况
  4. 04提供结构化错误恢复指引
  5. 05大型响应附带分页提示

适用场景

  1. 01查询瑞典公司的注册与详情信息
  2. 02查找天气、交通或地理数据接口
  3. 03在检索数据前确认 API 额度
  4. 04遇到请求错误时按指引恢复

MCP 相关

本地通过 stdio 运行 MCP 服务,向客户端提供端点发现、Apiverket 数据查询和账户额度查询工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"vinvuk-apiverket": {
"command": "npx",
"args": [
"-y",
"apiverket-mcp-server"
],
"env": {
"GOVDATA_API_URL": "<GOVDATA_API_URL>",
"GOVDATA_API_KEY": "<GOVDATA_API_KEY>"
}
}
}
}
启动命令npx -y apiverket-mcp-server
需要配置的环境变量
GOVDATA_API_URLApiverket API base URL
GOVDATA_API_KEY密钥Apiverket API key. Use sk_test_demo for sandbox data or create a key at https://apiverket.se/login.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmapiverket-mcp-server1.0.0

工具

2

收录的工具列表 · 更新于 2 周前

参数类型必填说明
querystring否用于查找相关端点的搜索关键词(例如“weather”“train”“population”“pension”)。留空可列出所有类别。
categorystring否按类别名称筛选(例如“Weather & Climate”“Economy & Finance”)。不填写 query 时可用于浏览某个类别。

详细介绍

Apiverket MCP 服务

一个 MCP(Model Context Protocol)服务,通过 Apiverket API 为 AI 助手提供瑞典公共数据访问能力。它适用于 Claude Code、Claude Desktop、Cursor、VS Code、Gemini CLI 风格的 MCP 客户端,以及其他兼容 MCP 的工具。

功能

工具用途
govdata_discover在选择路径前搜索和浏览 Apiverket 支持的端点
govdata_query调用已发现的端点,并返回结构化 JSON 或恢复指导
govdata_account查看已脱敏的密钥模式、套餐、每日用量、公司搜索/公司查询配额,以及与升级相关的限制

Agent 应先调用 govdata_discover,再调用 govdata_query,而不是猜测 /v1 路径。遇到 429 响应或用户询问限额时,Agent 应调用 govdata_account。

Agent 应如何使用 Apiverket

  1. 发现:使用用户的主题调用 govdata_discover,不要猜测路径。
  2. 检查上下文:对于配额、套餐和生产就绪情况相关的问题,调用 govdata_account。
  3. 查询:仅使用发现功能返回的受支持端点调用 govdata_query。
  4. 恢复:如果请求失败,请先根据结构化恢复指导处理,再重试。

发现功能包含交通、天气、地理、市镇、就业、政府、文化、教育、旅游、环境和公司数据的分类工作流。这些工作流会说明搜索/列表/详情模式、必需代码、坐标、日期格式、分页和常见恢复步骤。

快速开始

Claude Code / Claude Desktop
{
  "mcpServers": {
    "apiverket": {
      "command": "npx",
      "args": ["-y", "apiverket-mcp-server"],
      "env": {
        "GOVDATA_API_URL": "https://apiverket.se",
        "GOVDATA_API_KEY": "sk_test_demo"
      }
    }
  }
}
Cursor / VS Code
{
  "servers": {
    "apiverket": {
      "command": "npx",
      "args": ["-y", "apiverket-mcp-server"],
      "env": {
        "GOVDATA_API_URL": "https://apiverket.se",
        "GOVDATA_API_KEY": "sk_test_demo"
      }
    }
  }
}
Gemini CLI 风格的 MCP 配置
{
  "mcpServers": {
    "apiverket": {
      "command": "npx",
      "args": ["-y", "apiverket-mcp-server"],
      "env": {
        "GOVDATA_API_URL": "https://apiverket.se",
        "GOVDATA_API_KEY": "sk_test_demo"
      }
    }
  }
}

密钥和限额

变量默认值说明
GOVDATA_API_URLhttps://apiverket.seApiverket API 基础 URL
GOVDATA_API_KEYsk_test_demo默认使用沙箱密钥。要访问真实生产数据,请使用 Apiverket 提供的 sk_live_* 密钥。

sk_test_demo 用于设置和安全的沙箱响应。它适合用于检查 MCP 客户端是否已正确连接,但生产工作流应使用正式密钥。免费正式密钥适合探索;如果每日 API 或公司搜索限额妨碍实际工作流,请升级。

使用 Agent 处理公司数据

公司搜索和公司查询的用途不同:

  1. 使用 govdata_discover(query: "company") 查找受支持的公司端点。
  2. 如果用户只有公司名称或不确定的组织编号,请使用 /v1/companies/search。
  3. 缓存返回的 org_number。
  4. 对于重复的数据补充和自动化,请使用 /v1/companies/{orgNumber}。
  5. 如果公司搜索返回 429,请停止重试,直到 reset_at 指定的时间;如果已知组织编号,则使用查询端点。

公司搜索和实时公司查询按套餐分别计算每日配额。govdata_account 会显示已配置的密钥套餐、剩余公司搜索配额、剩余公司查询配额、重置时间和可选的升级套餐。Apiverket 不会通过公司 API 提供公司董事会成员、高管、所有者或 UBO 子资源路径。

常见主题工作流

主题推荐的首个查询Agent 工作流
交通govdata_discover(query: "train departures")对 /v1/transport/trains/{station} 使用车站代码;对 /v1/transit/departures 使用站点 ID;查询交通统计数据前先列出数据集。
天气govdata_discover(query: "weather forecast")简单天气查询使用城市端点;国家级警报使用预警接口;空气质量或观测数据查询使用站点/纬度/经度流程。
地理与市政govdata_discover(query: "municipality population")先查找官方市镇/县/地点代码;调用市镇 KPI 详情接口前先搜索 KPI;仅在需要时请求几何数据。
工作govdata_discover(query: "jobs taxonomy")常规搜索使用 /v1/jobs/search;受控筛选条件使用分类体系类型/概念/自动补全。
政府与安全govdata_discover(query: "parliament documents")根据问题选择日历、文档、成员、委员会、SFS、SOU、警务事件或警察局。
文化、教育与环境govdata_discover(query: "school search")先搜索,再将返回的 ID/代码用于详情端点;确保提供 q、市镇、类型或坐标。

工具示例

# Discover endpoints
govdata_discover(query: "electricity prices")
govdata_discover(category: "Weather & Climate")
govdata_discover(query: "train departures")
govdata_discover(query: "municipality KPI")
govdata_discover(query: "jobs taxonomy")

# Query data after discovery
govdata_query(endpoint: "/v1/weather/{city}", path_params: {city: "stockholm"})
govdata_query(endpoint: "/v1/transport/trains/{station}", path_params: {station: "Cst"})
govdata_query(endpoint: "/v1/jobs/search", query_params: {q: "developer", limit: 5})
govdata_query(endpoint: "/v1/taxonomy/types")
govdata_query(endpoint: "/v1/companies/search", query_params: {q: "volvo", limit: 10})
govdata_query(endpoint: "/v1/companies/{orgNumber}", path_params: {orgNumber: "5560125790"})

# Inspect tier and quota state
govdata_account()

从源代码构建

git clone https://github.com/vinvuk/apiverket-mcp.git
cd apiverket-mcp
npm install
npm run build

工作原理

  1. MCP 服务通过 stdio 在本地运行。
  2. govdata_discover 无需调用 API,即可搜索内置端点目录。
  3. govdata_query 使用配置的 API 密钥调用 Apiverket。
  4. 结构化 API 错误会转换为提供给 Agent 的恢复指导。
  5. 大型响应会被截断,并附上分页指导。

要求

  • Node.js >= 18
  • Apiverket API 密钥,或用于沙盒配置的 sk_test_demo

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。