关于 Bls
Bls 是面向美国劳工统计局数据的 MCP 服务,适用于研究劳动力市场、工资、物价和就业预测的分析者。除全国与州级数据外,还支持地方失业率按地点名称查询,并提供系列检索与最新值。
主要功能
- 01检索并读取 BLS 数据系列
- 02获取系列最新观测值
- 03浏览常用数据系列
- 04按职业查询或排序就业预测
- 05按地点名称查询地方失业率
- 06支持全国、州和都会区数据
适用场景
- 01查询特定都会区的失业率
- 02跟踪 CPI、PPI、工资或就业数据
- 03研究职业就业增长、年职位空缺和工资
MCP 相关
该 MCP 服务向客户端提供 BLS 系列检索、数据读取、最新值、热门系列、职业预测和地方失业率查询工具。可通过 Pipeworx 网关连接或作为本地 stdio 服务运行;BLS API 需要免费密钥。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://gateway.pipeworx.io/bls/mcpclaude mcp add --transport http pipeworx-io-bls https://gateway.pipeworx.io/bls/mcp{"mcpServers":{"pipeworx-io-bls":{"type":"http","url":"https://gateway.pipeworx.io/bls/mcp"}}}在 Cursor 中打开{"servers":{"pipeworx-io-bls":{"type":"http","url":"https://gateway.pipeworx.io/bls/mcp"}}}在 VS Code 中打开{"mcpServers":{"pipeworx-io-bls":{"type":"http","url":"https://gateway.pipeworx.io/bls/mcp"}}}{"mcpServers":{"pipeworx-io-bls":{"serverUrl":"https://gateway.pipeworx.io/bls/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
46| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| q | string | 否 | question 的别名。 |
| ask | string | 否 | question 的别名。 |
| text | string | 否 | question 的别名。 |
| input | string | 否 | question 的别名。 |
| packs | array | 否 | 可选。将路由限制为这些包的 slug(例如 ["sec-form-d","sec-13f"]),路由器随后只会从这些包中的工具进行选择。省略则使用默认的完整目录路由。Slug 可从 list_packs / search_packs / https://pipeworx.io/directory 获取;未列出或未知的 slug 会被忽略,并在 _meta.pack_scope.ignored 中列出。如果没有任何 slug 能匹配问题,则会在整个目录中路由,并设置 _meta.pack_scope.full_catalog:true(绝不会返回空答案)。 |
| query | string | 否 | question 的别名。 |
| prompt | string | 否 | question 的别名。 |
| message | string | 否 | question 的别名。 |
| question | string | 是 | 用自然语言表达的问题或请求。支持 query、q、prompt、text、input、ask、message 作为别名。 |
详细介绍
BLS — 劳工统计局
美国劳工统计局的数据仓库。就业、失业、工资、价格(CPI/PPI)、生产率、职业预测——美国官方劳动力和价格数据。涵盖全国、州和都市区级别。注册 API 密钥后可免费使用。
这是 Pipeworx 的一部分——一个将 AI Agent 连接到 1882+ 个实时数据源的 MCP 网关。这是独立的非官方集成,与上游提供方无关联、未获其认可,也非由其发布。
这对 AI Agent 为何重要
任何有关官方劳动力市场或通胀的数据,都可以查 BLS。FRED 提供主要指标序列,而 BLS 提供底层细节(职业、行业和 MSA 级别)。研究当地经济状况、行业工资或特定 CPI 分项的 Agent 可以直接查询 BLS。
三种核心工作流:
1. 查找序列。“丹佛都市区的失业率是多少?”→ bls_search({query: "Denver unemployment"}) → 获取序列 ID。然后调用 bls_get_series({series_id}) 获取数值。
2. 获取最新值。“目前全国失业率是多少?”→ bls_latest({series_id: "LNS14000000"}) → 获取最新观测值。
3. 浏览热门序列。“BLS 发布哪些数据?”→ bls_popular_series → 获取精选的高访问量 ID 列表。
就业预测。“软件开发人员的预计增长和年度职位空缺数是多少?”→ bls_occupation_projections({ soc_code: "15-1252" }),或 ({ query: "nurse" }),也可以用 ({ rank_by: "growth_percent", min_employment_thousands: 50 }) 对职业进行排名。该工具提供最新一期发布中的全国就业矩阵(就业人数、10 年变化、年度职位空缺数、工资中位数、典型入门教育要求);就业人数和职位空缺数以千为单位,响应中包含预测期和 data_as_of。不提供更早期的数据版本。
4. 按地名查询当地失业率。“北卡罗来纳州韦克县的失业率是多少?”或“北卡罗来纳州卡里市”或“法戈-穆尔黑德 MSA”→ bls_local_unemployment({place, state?})。该工具可按县、都市区或城市查询 LAUS(地方失业统计);bls_search 的精选目录不包含当地数据项,而手动构造 LAUS 序列 ID 需要查询地点到 BLS 区域代码的对照表(涵盖约 8,000 个美国县、都市区和城市),不能靠猜测得出。bls_local_unemployment 会根据该对照表自行解析名称(数据随工具一并提供,源自 BLS 的 la.area 参考文件);如果名称有歧义,则返回候选项;如果城市未达到 LAUS 城市报告门槛,则会明确说明并回退到县级数据。
读取响应
bls_get_series 返回的每个序列都按从最新到最早排序——响应中的
observation_order 会说明这一点,因此无需根据日期推断顺序。
count 表示该序列的数据点数量;BLS 会返回指定年份范围内的全部数据点,
因此它绝不会是在较短列表旁边显示的总数。
身份验证
BLS API 需要从 https://www.bls.gov/developers/ 获取免费密钥。不提供密钥时,每个 IP 地址每天的调用次数会被限制在约 25 次。提供密钥后,每天可调用 500 次。每次调用都通过 _apiKey 传入。
序列 ID 结构
BLS 序列 ID 编码了调查、区域、行业和数据类型。示例:
| 序列 ID | 内容 |
|---|---|
LNS14000000 | 全国失业率(经季节性调整) |
CES0000000001 | 非农就业总人数(全国) |
CUUR0000SA0 | CPI 全部项目,美国城市平均值,未经季节性调整 |
LAUMT080000000000003 | 丹佛 MSA 失业率 |
WPSFD49207 | 制成品 PPI |
不要尝试从头构造全国、州或行业序列 ID——请使用 bls_search 或
bls_popular_series。对于 LAUS 当地区域 ID(特别是县/MSA/城市),请使用
bls_local_unemployment({place, state?})——它会为你将地点名称解析为正确的
区域代码。
更新频率
| 数据 | 发布时间 |
|---|---|
| 就业情况(全国 + 州) | 每月第一个星期五 |
| CPI | 月中(约 10 日至 15 日) |
| PPI | 月中,在 CPI 发布后的第二天 |
| 都会区失业率(LAUS) | 参考月份结束后约 3 周 |
| 生产率 | 每季度一次,季度结束后约 5 周 |
Pipeworx 会根据发布时间安排缓存 BLS 响应的 TTL。
常见问题
- 季节性调整。 同一数据系列有经季节性调整(SA)和未经季节性调整(NSA)两种形式。请检查系列 ID 前缀(
LNS= SA,LNU= NSA)。混用这两种数据是分析人员最常见的错误。 - 年度平均值与月度数据。 有些 ID 仅返回年度数据,其他 ID 则返回月度数据。绘制趋势图之前,请先阅读元数据。
- 州和都会区覆盖范围。 并非每个地理区域都有所有系列。较小的都会区数据延迟更长,插补值也更多。
- 通胀与 CPI。 “通胀”通常指 CPI 同比变化。要计算同比变化,请请求 13 个月的数据后自行计算,或者使用 FRED 的
CPIAUCSL并应用pc1单位转换(该转换会自动完成计算)。
快速开始
添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf 等):
{
"mcpServers": {
"bls": {
"url": "https://gateway.pipeworx.io/bls/mcp"
}
}
}
此端点实际提供的内容
https://gateway.pipeworx.io/bls/mcp 上的 tools/list 会返回上表中的工具,以及 Pipeworx 共享元工具——ask_pipeworx、
discover_tools、search_within、remember/recall 和整个网关范围内的其他工具。因此,你看到的工具数量会多于表格中的数量:单个工具包端点目前会列出约 30 个共享工具,以及该工具包自身的工具。连接的 initialize 响应会说明其确切范围,是当天情况的权威说明。
这是有意为之,并非意外多路复用。元工具可以让限定范围的连接回答本工具包未涵盖的问题——通过 ask_pipeworx 跨整个目录进行路由——而无需添加第二个 MCP 服务。目前无法挂载不含这些元工具的工具包端点;如果额外的架构所占用的上下文超出了路由带来的价值,请连接一次完整网关,而不是连接多个工具包端点。
也可以连接完整的 Pipeworx 网关,直接列出所有工具包的工具,而不只是当前工具包的工具:
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
两个 URL 都连接到同一个网关和相同的 1882+ 个数据源。唯一的区别是直接列出哪个工具包的工具;无论连接哪一个,ask_pipeworx 都可以访问所有工具。
没有 MCP 客户端?通过 HTTP 调用
curl -X POST https://gateway.pipeworx.io/v1/tools/bls_get_series \
-H 'Content-Type: application/json' \
-d '{"series_id":"LNS14000000"}'
首次调用无需账号。查看任意工具:GET https://gateway.pipeworx.io/v1/tools/bls_get_series。查找工具:使用 {"query":"..."} 向 https://gateway.pipeworx.io/v1/tools/search_packs 发送 POST 请求。
独立运行(无需网关账号)
此软件包也可以作为本地 stdio MCP 服务运行——无需 Pipeworx 账号,也无需经过网关往返:
{
"mcpServers": {
"bls": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-bls"]
}
}
}
或者直接运行,确认服务能够启动:
npx -y @pipeworx/mcp-bls
它通过 stdin/stdout 使用 MCP,并响应 initialize/tools/list/tools/call,但仅提供此工具包的工具——不包含上述网关连接额外提供的任何共享元工具。数据源相同,工具相同,但没有 ask_pipeworx 路由。
使用 ask_pipeworx
除了直接调用工具,你也可以用通俗英语提问——此功能既适用于上面的工具包端点,也适用于完整网关:
ask_pipeworx({ question: "your question about Bls data" })
网关会选择合适的工具并自动填充参数。
更多信息
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。