Labor Market Intelligence
Labor Market Intelligence — Remote MCP Server
米国労働統計局(U.S. Bureau of Labor Statistics、BLS)と FRED(Federal Reserve Bank of St. Louis)のデータを、Claudeのカスタム・コネクタとして公開す読み取り専用のリモートMCPサーバで。キャリアと労働市場の調査(雇用動向、失業、求人、採用、離職、賃金、職業別見通し、産業間比較)に利できます。
Cloudflare Workers 上で動作します。コスと: は、Cloudflare のアリー・プランなら月額$0です。
完全に検証された実装計画に沿って段階的に構築されています。このコードベースで言及するすべてのブラス・エんドポインド、系列ID、データ形状上の仕様は、実装前に実APIで確されました(ドキュメントも伸だけでの想定ではありまん)。
状.
State
10件の実装チェックポンドがすべて完了し、実働中の Cloudflare Worker に対してラ・イブ検証済みです。単体テスト89件、型チェックのクリーン通過、全16ツールが実実の BLS/FRED データで動作ことを確認しました。
Claude認証に接続
Claude上で 設定 → ネクタ → カスタム・ネクタを追加 を開きます。
Remote MCP サーバー URL:
https://<your-worker>.<your-subdomain>.workers.dev/mcp/<MCP_PATH_TOKEN>このURLを資格情報として扱ってください。トークンのみがアクセスを認可する唯一のものです。
OAuth Client ID / Secret: 両方とも空にします。せ…このサーバーは認証なしです。秘密のパス*というものが資格情です。Claudeは認証情報なしのリモートMCPサーをサーバ側に対応しています。
変換: Streamable HTTP(SSEはレガシーのフォールバック)。
ツール(16)
低レベルソースツール — BLS/FRED へのそのままの忠実なパススルー
ツール | 役割 |
| FRED 系列の全文検索 |
| 既知の FRED 系列 ID の観測値を取得 |
| FRED の最新観測値のみを取得 |
| 最大20年分・最大50系列の BLS 系列を取得。 |
| BLS の70 インジケータ・プログラム略記号を全列列挙 |
| BLS の「最も要求が多い」系列を一覧表示(全カテゴリではなく、BLS「EP/JOLTS/OR」には何も返されません) |
| 約13個の厳選されたヘッドライン・インデックス(失業率、JOLTS 指標、雇用者数など)を検索し、それらの BLS/FRED ID に対応させます |
| 約1,113 の SOC 職業名を検索し、BLS Employment Projections の系列 ID に対応させます |
Research tools — conposed, higher-level analysis
Tool | Function |
| 指定した期間の 1 系列の BLS/FRED 系列の変化量と CAGR |
| 2〜10個の BLS/FRED 系列(両ソースの混合も可)を横並びで比較 |
| スナップショット:失業率、雇用者数、求人、非採用、自発的退職、離職 — 各々1ヶ月/12ヶ月の変化付き |
| ある産業全体の長期の BLS Employment Projections 見通し |
| ある職業の BLS Employment Projections の完全な見通し(雇用・求人数・賃金中央値) |
| 2〜20個の職業の見通しを 1回のバッチ化された BLS 呼び出しで比較 |
| 集計賃金指標(デフォルト:平均合計時間給)の傾向/CAGR |
| 接続性チェック。BLS/ FRED の割り当ては使用しない |
すべてのツールには readOnlyHint: true が付与され、自動テスト(test/unit-server.test.ts)によって環境されています。つまり、状態を変更するツールはなく、呼び出し元が指定した URL を取得するものもありません。
それぞれのソースが実際に提供するもの
ライブ API に対しても確認済みの事実を掲載します(ドキュメントから推定したものではありません)。
FRED は、幅広いマクロ経済の背景(GDP、率、景気循環の指標)、単位変換、本当の全文系列検索 API を提供します。また、BLS の多様な系列(UNRATE、PAYEMS、JOLTS 指標)を、美くしく一定したピッチで再配信しています。
BLS は、職業に関して権威武的です。Employment Projections(
EP、見通し・求人数・賃)と OEWS(OE、現行)はBLS側にしかなく、FRED には National Employment Matrix がありません。OEWS は API としてタイムシリーズを提供していません — すべての系列が必ず課一つの参照年を返します。これは10年分をリクエストしても「No Data Available」が9件、データが1件しか返らないことによる確認済みです。賃金のトレンドはこの APIからは取得できません。当期年の中位賃金を知りたい場合は、
get_occupation_outlookを使ってください。Employment Projections は時系列ではありません — 基準年+予測年(現在は約10年先)がそれぞれ1つずつのみで、せいぜい年2回の更新です。
年間の求人者数は、純増の雇用成長のほかに「置き換え需要」(退職・転職する労働者)を含みます — しばしば誤読されるポイントです。
BLS 公式の系列検索 API は存在しません。
search_indicatorsとsearch_occupationsは、BLS 自身のフラットファイルから導出され、ビルド時に交差検査(scripts/build-catalog.tsを参照)されたカタログを宣としており、手書きや推測ではありません。
帰属表示
BLS 由来のすべてのレスポンスには、取得日時と、BLS 利用条件が必需する文面を正確に含んでいます。「BLS.gov cannot vouch for the data or analyses derived from these data after the data have been retrieved from BLS.gov」 FRED 由来のレスポンスには、各自のソース帰属が付けられます。
このサーバーが算出するもの(パーセント変化、CAGR、月間比較)は、別々の computedByServer フィールドで返し、サーバー計算であることを明示——公式の BLS や FRED の統計として提示することはありません。ツールの指示により、Claude はそのいずれかを回答時に保存するよう指示されます。
安全モデル
読み取り専用。 状態を変更するツールはなく、呼び出し側が与えた URL を取得するツールもありません。
シークレットパス認証。 エンドポイントは
/mcp/<256-bit token>です。Claude のコネクタ UI は URL を受け入れますが、カスタムヘッダーは受け付けられないため、資格情報はパスに置かれます。比較は SHA-256 ダイジェストの上で定数時間で行います。失敗時(トークンが正しくない、トークンなし、経路不明)はどんな場合も同じ 404 を返し、推測に応えるすべがありません。インバウンドのレート制限。 各 IP(
cf-connecting-ip、Cloudflare が設定しクライアントからは偽装できない)あたり約 60 リクエスト/分(認証の前に実施)。フラッド時に認証計算に CPU を使わせません。Workers KV を利用し、KV が接続されていない場合はフェイルオープン(許可)します。外部向け BLS の予算ガード。 BLS の公式500リクエスト/日の登録キー割り当てのうち、デフォルトで450件までを許可するサーキットブレーカーです。使い切った場合はネットワークリクエストの前に呼び出しを失敗させ、実際の予算を暴走ルーチーから守ります。
秘密はサーバーの外に出ません。
BLS_API_KEY・FRED_API_KEY・MCP_PATH_TOKENは Workers の秘密データとしてのみ存在し、ツールレスポンスで返すこともログへ出しません。src/lib/logging.tsは既知の秘密やapi_key=/registrationkey=のパターンを全ログレコードから一括除去し、これは単体テストで実際に保証されています。既知の制限: Cloudflare 自身のプラットフォームアクセスログ(
wrangler tailも含む)にはパス トークンを含む完全なURLが記録されます。これはアプリコードの制御外です。生のログ出力を取り扱わないでください。万一さらした場合はトークンを回転し(wrangler secret put MCP_PATH_TOKENの後、新しい URL を Claude へ再設定)、その都度新しい URL を Claude に入れ直してください。
キャッシュ
Workers KV による2構成のキャッシュです。下のTTL表に従う「フレッシュ」項目に加えて、成功のたびに35日の「スタレッジ・バックアップ」(呼び出しの実体)を書き同一に保存します。ライブ呼び出しが失敗した場合、または BLS の予算を使い切ったときは、そのままフェイルするのでなく、スタレッジー・バックアップを返します。その際は limitations フィールドに明示され、Claude が失効したデータを現行でいるとはっきりと示すことなく提示することはありません。
データ | TTL | 理由 |
Employment Projections / OEWS | 30 日 | 上手くても年2回の更新 |
BLS 調査 / 人気シリーズリスト | 7 日 | ほぼ固定 |
FRED 検索 | 24 時間 | 安定したデータ |
月次シリーズ(CES/CPS/JOLTS) | 6 時間 | 月次の公開 |
| 1 時間 | 新鮮さが最も重要 |
キャッシュキーはツール名とその引数からのみ導出し、環境や秘密からは求めません。したがって鍵マテリアルがキーに漏れ出すことがありません。
プロジェクト構造
src/
index.ts Worker entry: routing, auth, rate limiting
server.ts MCP server construction + tool registration
env.ts Env typing + secret names
errors.ts Typed error hierarchy (network/timeout/429/5xx/BLS-200-with-error-body)
sources/
http.ts Shared fetch: timeout, retry/backoff
bls.ts BLS v2 client
fred.ts FRED client
catalog/
occupations.json 1,113 SOC occupations -> EP series ID (build-generated, validated)
industries.json 423 EP industries -> series ID (build-generated, validated)
indicators.ts ~13 curated headline indicators (individually live-verified)
search.ts Shared token-matching + relevance-ranking search
tools/
source/ Thin passthrough tools
research/ Composed analysis tools
lib/
cache.ts Workers KV two-tier cache
ratelimit.ts BLS daily budget guard + inbound per-IP limiter
envelope.ts Response envelope: citations, timestamps, disclaimers
stats.ts Deterministic trend math
logging.ts Structured logs with secret redaction
scripts/
build-catalog.ts Regenerates + validates the occupation/industry catalog
test/
unit/ Mocked, run on every `npm test`
live/ Real API calls, opt-in via `npm run test:live`ローカル開発
npm install
cp .dev.vars.example .dev.vars # fill in real keys for local testing
npx wrangler dev --port 8787
npm test # unit suite (mocked, no network)
npm run typecheck
npm run build:catalog # regenerate the occupation/industry catalog from BLS's own flat files実際の BLS/FRED データでローカルに検証るには(キーをコミットまたはログに出しません):
BLS_API_KEY=your_key FRED_API_KEY=your_key npm run test:liveデプロイ
npx wrangler login
npx wrangler kv namespace create CACHE # one-time; paste the resulting id into wrangler.toml
npx wrangler secret put BLS_API_KEY
npx wrangler secret put FRED_API_KEY
npx wrangler secret put MCP_PATH_TOKEN # generate with: openssl rand -hex 32
npx wrangler deploy
curl https://<your-worker>.<your-subdomain>.workers.dev/healthシークレットと KV バインディングは wrangler deploy でも有効で、一度セットすると再度デプロイのたびには必要ありません。
既知の制約
Employment Projections・OEWS は単一の参照年のみのスナップショットであり、時系列ではありません。そのため「ある研究」ツールはすべて、それを明示検出して報告します(
trend: nullおよび説明付きの制約)。この1点からトレンドを作成したりはしません。BLS Employment Projections の産業コードと、BLS の月次 CES 産業雇用系列の間には、検証された相互参照は存在しません(分類系が異なる)。
analyze_industry_employmentは長期見通しのみをカバーし、現在の月別の雇用にはfred_search_seriesとanalyze_labor_market_trend組み合わせてください。SOC 職業コードは Employment Projections の何十年かの版で変わります。2018年版と23年版のカタログで、版をまたいだ職業比較は信頼できません。
受信するレート制限はおおよその固定ウィンドウのカウンタ程度のもので、集中時に読み取りしてからの書き込みの競合で1〜2リクエストですすぎ少えることがあります。少量の個人用コネクタでは許容されるトレードオフであり、精度保証ではありません。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Fetch US Bureau of Labor Statistics data — CPI, unemployment, wages, JOLTS, and more via MCP.
Macro data for AI agents: GDP, inflation, unemployment and more (World Bank, US BLS). No keys.
SEC EDGAR, CFPB complaints, and BLS employment data. 4 tools.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/harperbrian/labor-market-intelligence-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server