Fetch US Bureau of Labor Statistics data — CPI, unemployment, wages, JOLTS, and more via MCP.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · streamable-http · http counts 7 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
bls_dataframe_describe
-
bls_dataframe_drop
-
bls_dataframe_query
-
bls_get_latest
-
bls_get_series
-
bls_list_surveys
-
bls_search_series
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit a4578c9 · analyzer v33 · 1w ago
skills & prompt files 34
- agent-rules cyanheads-bls-labor-mcp-server-a4578c9/AGENTS.md
- agent-rules cyanheads-bls-labor-mcp-server-a4578c9/CLAUDE.md
- skill cyanheads-bls-labor-mcp-server-a4578c9/skills/add-app-tool/SKILL.md
- skill cyanheads-bls-labor-mcp-server-a4578c9/skills/add-prompt/SKILL.md
- skill cyanheads-bls-labor-mcp-server-a4578c9/skills/add-resource/SKILL.md
- skill cyanheads-bls-labor-mcp-server-a4578c9/skills/add-service/SKILL.md
- skill cyanheads-bls-labor-mcp-server-a4578c9/skills/add-test/SKILL.md
- skill cyanheads-bls-labor-mcp-server-a4578c9/skills/add-tool/SKILL.md
- skill cyanheads-bls-labor-mcp-server-a4578c9/skills/api-auth/SKILL.md
- skill cyanheads-bls-labor-mcp-server-a4578c9/skills/api-canvas/SKILL.md
- skill cyanheads-bls-labor-mcp-server-a4578c9/skills/api-config/SKILL.md
- skill cyanheads-bls-labor-mcp-server-a4578c9/skills/api-context/SKILL.md
- skill cyanheads-bls-labor-mcp-server-a4578c9/skills/api-errors/SKILL.md
- skill cyanheads-bls-labor-mcp-server-a4578c9/skills/api-linter/SKILL.md
- skill cyanheads-bls-labor-mcp-server-a4578c9/skills/api-mirror/SKILL.md
- skill cyanheads-bls-labor-mcp-server-a4578c9/skills/api-services/SKILL.md
- skill cyanheads-bls-labor-mcp-server-a4578c9/skills/api-telemetry/SKILL.md
- skill cyanheads-bls-labor-mcp-server-a4578c9/skills/api-testing/SKILL.md
- skill cyanheads-bls-labor-mcp-server-a4578c9/skills/api-utils/SKILL.md
- skill cyanheads-bls-labor-mcp-server-a4578c9/skills/api-workers/SKILL.md
- skill cyanheads-bls-labor-mcp-server-a4578c9/skills/code-simplifier/SKILL.md
- skill cyanheads-bls-labor-mcp-server-a4578c9/skills/design-mcp-server/SKILL.md
- skill cyanheads-bls-labor-mcp-server-a4578c9/skills/field-test/SKILL.md
- skill cyanheads-bls-labor-mcp-server-a4578c9/skills/git-wrapup/SKILL.md
- skill cyanheads-bls-labor-mcp-server-a4578c9/skills/maintenance/SKILL.md
- skill cyanheads-bls-labor-mcp-server-a4578c9/skills/orchestrations/SKILL.md
- skill cyanheads-bls-labor-mcp-server-a4578c9/skills/polish-docs-meta/SKILL.md
- skill cyanheads-bls-labor-mcp-server-a4578c9/skills/release-and-publish/SKILL.md
- skill cyanheads-bls-labor-mcp-server-a4578c9/skills/report-issue-framework/SKILL.md
- skill cyanheads-bls-labor-mcp-server-a4578c9/skills/report-issue-local/SKILL.md
- skill cyanheads-bls-labor-mcp-server-a4578c9/skills/security-pass/SKILL.md
- skill cyanheads-bls-labor-mcp-server-a4578c9/skills/setup/SKILL.md
- skill cyanheads-bls-labor-mcp-server-a4578c9/skills/techniques/SKILL.md
- skill cyanheads-bls-labor-mcp-server-a4578c9/skills/tool-defs-analysis/SKILL.md
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 54
filesystem 18
- fs (weak) cyanheads-bls-labor-mcp-server-a4578c9/scripts/build-changelog.ts :32
import { existsSync, readdirSync, readFileSync, writeFileSync } from 'node:fs'; - fs (weak) cyanheads-bls-labor-mcp-server-a4578c9/scripts/build.ts :17
import { readFileSync } from 'node:fs'; - fs (weak) cyanheads-bls-labor-mcp-server-a4578c9/scripts/check-dependency-specifiers.ts :38
import { existsSync, readFileSync } from 'node:fs'; - fs (weak) cyanheads-bls-labor-mcp-server-a4578c9/scripts/check-docs-sync.ts :22
import { existsSync, readFileSync } from 'node:fs'; - fs (weak) cyanheads-bls-labor-mcp-server-a4578c9/scripts/check-framework-antipatterns.ts :39
import { existsSync } from 'node:fs'; - fs (weak) cyanheads-bls-labor-mcp-server-a4578c9/scripts/check-skill-versions.ts :33
import { existsSync, readFileSync } from 'node:fs'; - fs (weak) cyanheads-bls-labor-mcp-server-a4578c9/scripts/check-skills-sync.ts :37
import { existsSync, readdirSync, readFileSync } from 'node:fs'; - fs (weak) cyanheads-bls-labor-mcp-server-a4578c9/scripts/clean-mcpb.ts :29
import { existsSync, statSync } from 'node:fs'; - fs (weak) cyanheads-bls-labor-mcp-server-a4578c9/scripts/clean.ts :15
import { readdir, rm } from 'node:fs/promises'; - fs (weak) cyanheads-bls-labor-mcp-server-a4578c9/scripts/devcheck.ts :3
import { existsSync, readFileSync } from 'node:fs'; - fs (weak) cyanheads-bls-labor-mcp-server-a4578c9/scripts/lint-mcp.ts :19
import { existsSync, readdirSync, readFileSync } from 'node:fs'; - fs (weak) cyanheads-bls-labor-mcp-server-a4578c9/scripts/lint-packaging.ts :52
import { existsSync, readdirSync, readFileSync } from 'node:fs';
show 6 more
- fs (weak) cyanheads-bls-labor-mcp-server-a4578c9/scripts/list-skills.ts :21
import { existsSync } from 'node:fs'; - fs (weak) cyanheads-bls-labor-mcp-server-a4578c9/scripts/release-github.ts :33
import { existsSync, readFileSync } from 'node:fs'; - fs (weak) cyanheads-bls-labor-mcp-server-a4578c9/scripts/split-changelog.ts :24
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs'; - fs (weak) cyanheads-bls-labor-mcp-server-a4578c9/scripts/tree.ts :24
import type { Dirent } from 'node:fs'; - fs (weak) cyanheads-bls-labor-mcp-server-a4578c9/tests/server-registration.test.ts :7
import { mkdtemp, rm } from 'node:fs/promises'; - fs (weak) cyanheads-bls-labor-mcp-server-a4578c9/tests/services/bls-catalog/bls-catalog-service.test.ts :9
import { mkdtemp, rm } from 'node:fs/promises';
shell / exec 10
- shell (weak) cyanheads-bls-labor-mcp-server-a4578c9/scripts/build.ts :16
import { execFile } from 'node:child_process'; - shell (weak) cyanheads-bls-labor-mcp-server-a4578c9/scripts/check-framework-antipatterns.ts :38
import { spawnSync } from 'node:child_process'; - shell (weak) cyanheads-bls-labor-mcp-server-a4578c9/scripts/check-skill-versions.ts :32
import { spawnSync } from 'node:child_process'; - shell (weak) cyanheads-bls-labor-mcp-server-a4578c9/scripts/clean-mcpb.ts :28
import { execFileSync } from 'node:child_process'; - shell (weak) cyanheads-bls-labor-mcp-server-a4578c9/scripts/devcheck.ts :2
import { type ChildProcess, spawn, spawnSync } from 'node:child_process'; - shell (weak) cyanheads-bls-labor-mcp-server-a4578c9/scripts/lint-packaging.ts :51
import { execFileSync } from 'node:child_process'; - shell (weak) cyanheads-bls-labor-mcp-server-a4578c9/scripts/release-github.ts :32
import { spawnSync } from 'node:child_process'; - shell cyanheads-bls-labor-mcp-server-a4578c9/src/services/bls-observations/subprocess.ts :20
import { type ChildProcess, spawn } from 'node:child_process'; - shell (weak) cyanheads-bls-labor-mcp-server-a4578c9/tests/server-registration.test.ts :6
import { execFile } from 'node:child_process'; - shell (weak) cyanheads-bls-labor-mcp-server-a4578c9/tests/services/bls-observations/subprocess.test.ts :3
* parent-side spawn supervision. `node:child_process.spawn` is mocked (via
network 3
- net cyanheads-bls-labor-mcp-server-a4578c9/src/services/bls-api/bls-api-service.ts :270
const response = await fetch(`${this.baseUrl}/timeseries/data`, { - net cyanheads-bls-labor-mcp-server-a4578c9/src/services/bls-catalog/bls-catalog-service.ts :381
fetch(`${baseUrl}/${abbr}/${abbr}.series`, { headers, signal: AbortSignal.timeout(30_000) }), - net cyanheads-bls-labor-mcp-server-a4578c9/src/services/bls-observations/ingester.ts :25
/** Retry budget for a single HTTP fetch (3 attempts, linear backoff). */
secrets 1
- secrets (weak) cyanheads-bls-labor-mcp-server-a4578c9/tests/tools/bls-get-series.tool.test.ts :768
// process.env.BLS_API_KEY is typically empty/undefined in tests — confirm no secret leakage pattern
tool registrations 7
- bls_dataframe_describe cyanheads-bls-labor-mcp-server-a4578c9/src/mcp-server/tools/definitions/bls-dataframe-describe.tool.ts :12
- bls_dataframe_drop cyanheads-bls-labor-mcp-server-a4578c9/src/mcp-server/tools/definitions/bls-dataframe-drop.tool.ts :12
- bls_dataframe_query cyanheads-bls-labor-mcp-server-a4578c9/src/mcp-server/tools/definitions/bls-dataframe-query.tool.ts :13
- bls_get_latest cyanheads-bls-labor-mcp-server-a4578c9/src/mcp-server/tools/definitions/bls-get-latest.tool.ts :36
- bls_get_series cyanheads-bls-labor-mcp-server-a4578c9/src/mcp-server/tools/definitions/bls-get-series.tool.ts :78
- bls_list_surveys cyanheads-bls-labor-mcp-server-a4578c9/src/mcp-server/tools/definitions/bls-list-surveys.tool.ts :43
- bls_search_series cyanheads-bls-labor-mcp-server-a4578c9/src/mcp-server/tools/definitions/bls-search-series.tool.ts :12
declared dependencies 13
- @cyanheads/mcp-ts-core@^0.12.3
- @duckdb/node-api@^1.5.5-r.4
- better-sqlite3@^13.0.3
- pino-pretty@^13.1.3
- zod@^4.4.3
- @biomejs/biome@^2.5.11
- @socketsecurity/bun-security-scanner@^1.1.2
- @types/node@^26.4.0
- depcheck@^1.4.7
- ignore@^7.0.6
- tsc-alias@^1.9.2
- typescript@^7.0.2
show 1 more
- vitest@^4.1.11