{"_id":"@cyanheads/libofcongress-mcp-server","_rev":"19-8437fe11b2adde1258c555d2a999f183","name":"@cyanheads/libofcongress-mcp-server","dist-tags":{"latest":"0.3.0"},"versions":{"0.2.1":{"name":"@cyanheads/libofcongress-mcp-server","version":"0.2.1","keywords":["mcp","mcp-server","model-context-protocol","library-of-congress","loc","chronicling-america","newspapers","lcsh","subject-headings","digital-collections","historical-research","typescript","bun","stdio","streamable-http"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/libofcongress-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/libofcongress-mcp-server@0.2.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/libofcongress-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/libofcongress-mcp-server/issues"},"bin":{"libofcongress-mcp-server":"dist/index.js"},"dist":{"shasum":"6dbad0fe5943936070696e65ff50121f771315b4","tarball":"https://registry.npmjs.org/@cyanheads/libofcongress-mcp-server/-/libofcongress-mcp-server-0.2.1.tgz","fileCount":64,"integrity":"sha512-45cOYlkhe6DbZRhkakJBitUAmWPoEcOGJ7Gk6temk8JEaGcykmFf8/40nN0ru4TTkIMolIJMD1qvXeoqp/fyKQ==","signatures":[{"sig":"MEYCIQDeIqlFTkb+bVZZ3i6XhyBXKy0Td7Y3Yu/dF7pXbDNwgwIhAOwzFXy51f0NUlhzXuNj7Uu6ilhG3dwLLBsDZbxIRmlj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":228025},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"6dbad0fe5943936070696e65ff50121f771315b4","engines":{"bun":">=1.3.0","node":">=24.0.0"},"mcpName":"io.github.cyanheads/libofcongress-mcp-server","scripts":{"test":"vitest run","tree":"tsx scripts/tree.ts","build":"tsx scripts/build.ts","clean":"tsx scripts/clean.ts","start":"node dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/libofcongress-mcp-server.mcpb","format":"biome check --write --unsafe .","rebuild":"tsx scripts/clean.ts && tsx scripts/build.ts","devcheck":"tsx scripts/devcheck.ts","lint:mcp":"tsx scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"tsx scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","lint:packaging":"tsx scripts/lint-packaging.ts","changelog:build":"tsx scripts/build-changelog.ts","changelog:check":"tsx scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-45cOYlkhe6DbZRhkakJBitUAmWPoEcOGJ7Gk6temk8JEaGcykmFf8/40nN0ru4TTkIMolIJMD1qvXeoqp/fyKQ==","repository":{"url":"git+https://github.com/cyanheads/libofcongress-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search LOC digital collections, browse Chronicling America newspapers with full OCR text, and look up LC Subject Headings via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"tsx":"^4.19.0","ignore":"^7.0.5","vitest":"^4.1.0","depcheck":"^1.4.7","tsc-alias":"^1.8.16","typescript":"^5.9.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.7"},"_npmOperationalInternal":{"tmp":"tmp/libofcongress-mcp-server_0.2.1_1779664906044_0.4939829986900801","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@cyanheads/libofcongress-mcp-server","version":"0.2.2","keywords":["mcp","mcp-server","model-context-protocol","library-of-congress","loc","chronicling-america","newspapers","lcsh","subject-headings","digital-collections","historical-research","typescript","bun","stdio","streamable-http"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/libofcongress-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/libofcongress-mcp-server@0.2.2","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/libofcongress-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/libofcongress-mcp-server/issues"},"bin":{"libofcongress-mcp-server":"dist/index.js"},"dist":{"shasum":"e0dcd5c4bbc2d502c3dad1dc68b3e0573c189c7a","tarball":"https://registry.npmjs.org/@cyanheads/libofcongress-mcp-server/-/libofcongress-mcp-server-0.2.2.tgz","fileCount":65,"integrity":"sha512-DdrMTUFlmHo3Oy+JStN1xzsixMBwDKh9f7YTebBEbfWO0qCs+Fbpx4S9pdP9Y3EVr7jooRfeEvE3t+KndPoyVw==","signatures":[{"sig":"MEYCIQDNdzSVvfzkIN4A3+tMgcXJAh6PF+CK5USluHVyUYQNgQIhAOVSWZtkyaf+TOoouusLlEGHjwxbzH8WcFBafGltqyDj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":235238},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"e0dcd5c4bbc2d502c3dad1dc68b3e0573c189c7a","engines":{"bun":">=1.3.0","node":">=24.0.0"},"mcpName":"io.github.cyanheads/libofcongress-mcp-server","scripts":{"test":"vitest run","tree":"tsx scripts/tree.ts","build":"tsx scripts/build.ts","clean":"tsx scripts/clean.ts","start":"node dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/libofcongress-mcp-server.mcpb","format":"biome check --write --unsafe .","rebuild":"tsx scripts/clean.ts && tsx scripts/build.ts","devcheck":"tsx scripts/devcheck.ts","lint:mcp":"tsx scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"tsx scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","lint:packaging":"tsx scripts/lint-packaging.ts","changelog:build":"tsx scripts/build-changelog.ts","changelog:check":"tsx scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-DdrMTUFlmHo3Oy+JStN1xzsixMBwDKh9f7YTebBEbfWO0qCs+Fbpx4S9pdP9Y3EVr7jooRfeEvE3t+KndPoyVw==","repository":{"url":"git+https://github.com/cyanheads/libofcongress-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search LOC digital collections, browse Chronicling America newspapers with full OCR text, and look up LC Subject Headings via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"tsx":"^4.19.0","ignore":"^7.0.5","vitest":"^4.1.0","depcheck":"^1.4.7","tsc-alias":"^1.8.16","typescript":"^5.9.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.7"},"_npmOperationalInternal":{"tmp":"tmp/libofcongress-mcp-server_0.2.2_1779673536144_0.6789382566254041","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@cyanheads/libofcongress-mcp-server","version":"0.2.3","keywords":["mcp","mcp-server","model-context-protocol","library-of-congress","loc","chronicling-america","newspapers","lcsh","subject-headings","digital-collections","historical-research","typescript","bun","stdio","streamable-http"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/libofcongress-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/libofcongress-mcp-server@0.2.3","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/libofcongress-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/libofcongress-mcp-server/issues"},"bin":{"libofcongress-mcp-server":"dist/index.js"},"dist":{"shasum":"505677b3b76570db1074100190b742b5b0b0135d","tarball":"https://registry.npmjs.org/@cyanheads/libofcongress-mcp-server/-/libofcongress-mcp-server-0.2.3.tgz","fileCount":66,"integrity":"sha512-CymkTdckUAAfzlgmmvrP72mhau852f09b3VnJqKC+83KtpqXyEcFS3JpBLiUkdxjl9BKDONw8zQv1DigPyT5hw==","signatures":[{"sig":"MEUCIChxu0cexMbC8i7rHU+JCXnQT1gs/begKhZnVjjEok18AiEA6cudd6Gs8XzinUBJwkYSbOvMzJO3/86FeTf0+M8Cd28=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":236650},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"505677b3b76570db1074100190b742b5b0b0135d","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/libofcongress-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/libofcongress-mcp-server.mcpb","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","lint:packaging":"bun run scripts/lint-packaging.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-CymkTdckUAAfzlgmmvrP72mhau852f09b3VnJqKC+83KtpqXyEcFS3JpBLiUkdxjl9BKDONw8zQv1DigPyT5hw==","repository":{"url":"git+https://github.com/cyanheads/libofcongress-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search LOC digital collections, browse Chronicling America newspapers with full OCR text, and look up LC Subject Headings via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.0","depcheck":"^1.4.7","tsc-alias":"^1.8.16","typescript":"^5.9.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.7"},"_npmOperationalInternal":{"tmp":"tmp/libofcongress-mcp-server_0.2.3_1779674665422_0.3349666285393944","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@cyanheads/libofcongress-mcp-server","version":"0.2.4","keywords":["mcp","mcp-server","model-context-protocol","library-of-congress","loc","chronicling-america","newspapers","lcsh","subject-headings","digital-collections","historical-research","typescript","bun","stdio","streamable-http"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/libofcongress-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/libofcongress-mcp-server@0.2.4","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/libofcongress-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/libofcongress-mcp-server/issues"},"bin":{"libofcongress-mcp-server":"dist/index.js"},"dist":{"shasum":"3845914593e833a4ad3405e6c27e57f95f45b0b0","tarball":"https://registry.npmjs.org/@cyanheads/libofcongress-mcp-server/-/libofcongress-mcp-server-0.2.4.tgz","fileCount":59,"integrity":"sha512-82gzmIpI9G5zcO/V3g4SfE5Dy1jp9qJ2h4FyMONjQAsNt7nFDzT9JPPKFWZ/AZkuisLMv31j3AB4LdHcLOiw2Q==","signatures":[{"sig":"MEQCIBGWbF+a5Z445YKD2onrgswyqSI2uf7RSSJmtQWjzMrOAiBCe5ZSegctHOgYPvwdkczNpNSKut3rt9Aq8tZOG6ebzQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49008572},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"3845914593e833a4ad3405e6c27e57f95f45b0b0","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/libofcongress-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/libofcongress-mcp-server.mcpb","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","lint:packaging":"bun run scripts/lint-packaging.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-82gzmIpI9G5zcO/V3g4SfE5Dy1jp9qJ2h4FyMONjQAsNt7nFDzT9JPPKFWZ/AZkuisLMv31j3AB4LdHcLOiw2Q==","repository":{"url":"git+https://github.com/cyanheads/libofcongress-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search LOC digital collections, browse Chronicling America newspapers with full OCR text, and look up LC Subject Headings via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.0","depcheck":"^1.4.7","tsc-alias":"^1.8.16","typescript":"^5.9.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.7"},"_npmOperationalInternal":{"tmp":"tmp/libofcongress-mcp-server_0.2.4_1779781584203_0.0814064509934247","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@cyanheads/libofcongress-mcp-server","version":"0.2.5","keywords":["mcp","mcp-server","model-context-protocol","library-of-congress","loc","chronicling-america","newspapers","lcsh","subject-headings","digital-collections","historical-research","typescript","bun","stdio","streamable-http"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/libofcongress-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/libofcongress-mcp-server@0.2.5","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/libofcongress-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/libofcongress-mcp-server/issues"},"bin":{"libofcongress-mcp-server":"dist/index.js"},"dist":{"shasum":"fdb85531534f0699f99d406bdebad1370732bacc","tarball":"https://registry.npmjs.org/@cyanheads/libofcongress-mcp-server/-/libofcongress-mcp-server-0.2.5.tgz","fileCount":58,"integrity":"sha512-ZXksW0Zkv2Xbdh/84M9dDJh98EtaLMLs9WVvXtG+Stqow7mbh5tBqPdv+TnpWXoZs+1xq/rGvhfC03C/TEz26w==","signatures":[{"sig":"MEYCIQDZQL6JNXOyw8nJjeY5x2hflP7QqUH/SG3up8TkfN1klQIhAJ4FTL7KpbAk7V+TdshPka+N6ezHC2UGmByjiKNFOWah","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198290},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"fdb85531534f0699f99d406bdebad1370732bacc","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/libofcongress-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/libofcongress-mcp-server.mcpb","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","lint:packaging":"bun run scripts/lint-packaging.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-ZXksW0Zkv2Xbdh/84M9dDJh98EtaLMLs9WVvXtG+Stqow7mbh5tBqPdv+TnpWXoZs+1xq/rGvhfC03C/TEz26w==","repository":{"url":"git+https://github.com/cyanheads/libofcongress-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search LOC digital collections, browse Chronicling America newspapers with full OCR text, and look up LC Subject Headings via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.7","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.16"},"_npmOperationalInternal":{"tmp":"tmp/libofcongress-mcp-server_0.2.5_1780031701696_0.38607683984513086","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@cyanheads/libofcongress-mcp-server","version":"0.2.6","keywords":["mcp","mcp-server","model-context-protocol","library-of-congress","loc","chronicling-america","newspapers","lcsh","subject-headings","digital-collections","historical-research","typescript","bun","stdio","streamable-http"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/libofcongress-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/libofcongress-mcp-server@0.2.6","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/libofcongress-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/libofcongress-mcp-server/issues"},"bin":{"libofcongress-mcp-server":"dist/index.js"},"dist":{"shasum":"0d1d30c2c3bc653944ac3758d031b137cb3cc6e7","tarball":"https://registry.npmjs.org/@cyanheads/libofcongress-mcp-server/-/libofcongress-mcp-server-0.2.6.tgz","fileCount":58,"integrity":"sha512-1oHbGocTIu0uUInIkgdDgwqRmzl8sEphUtiEm37jX+AIDe1+wqTWNkEH1o61FPyrbo1+3huqMSF6WIU8W7kyEQ==","signatures":[{"sig":"MEQCIAPPwO+eWLkM4dYqCduAtWnx5QefzKVCfXay57tnaG8nAiAuxeW/faoyEkRyJSpRM4Av9FFAPqZapl6sGeXb+5YZmg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":197319},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"0d1d30c2c3bc653944ac3758d031b137cb3cc6e7","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/libofcongress-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/libofcongress-mcp-server.mcpb","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","lint:packaging":"bun run scripts/lint-packaging.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-1oHbGocTIu0uUInIkgdDgwqRmzl8sEphUtiEm37jX+AIDe1+wqTWNkEH1o61FPyrbo1+3huqMSF6WIU8W7kyEQ==","repository":{"url":"git+https://github.com/cyanheads/libofcongress-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search LOC digital collections, browse Chronicling America newspapers with full OCR text, and look up LC Subject Headings via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.16"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.7","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.16"},"_npmOperationalInternal":{"tmp":"tmp/libofcongress-mcp-server_0.2.6_1780133294818_0.8066819488814676","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"@cyanheads/libofcongress-mcp-server","version":"0.2.7","keywords":["mcp","mcp-server","model-context-protocol","library-of-congress","loc","chronicling-america","newspapers","lcsh","subject-headings","digital-collections","historical-research","typescript","bun","stdio","streamable-http"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/libofcongress-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/libofcongress-mcp-server@0.2.7","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/libofcongress-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/libofcongress-mcp-server/issues"},"bin":{"libofcongress-mcp-server":"dist/index.js"},"dist":{"shasum":"eebbc2112bbfda3c46e31d1e63e519768d7e7e68","tarball":"https://registry.npmjs.org/@cyanheads/libofcongress-mcp-server/-/libofcongress-mcp-server-0.2.7.tgz","fileCount":58,"integrity":"sha512-qaE5L1nGhUvci1jCZJcz+GAli4+RAap7dImFkNuFvSRBilZUr8WVU96A20GgVgmD89VgRyD4Fr9P+nx8GSOcIg==","signatures":[{"sig":"MEUCIHefNhXMwk1raa3Oat3aAKJWjFC5wka8f1/ypR3iKllQAiEAua9LNQDh0O39Cx/rK06RmXjnWimGrteQr14L8IQiN28=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198146},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"eebbc2112bbfda3c46e31d1e63e519768d7e7e68","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/libofcongress-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/libofcongress-mcp-server.mcpb","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-qaE5L1nGhUvci1jCZJcz+GAli4+RAap7dImFkNuFvSRBilZUr8WVU96A20GgVgmD89VgRyD4Fr9P+nx8GSOcIg==","repository":{"url":"git+https://github.com/cyanheads/libofcongress-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search LOC digital collections, browse Chronicling America newspapers with full OCR text, and look up LC Subject Headings via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.8","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.16"},"_npmOperationalInternal":{"tmp":"tmp/libofcongress-mcp-server_0.2.7_1780410646518_0.016406600335006738","host":"s3://npm-registry-packages-npm-production"}},"0.2.8":{"name":"@cyanheads/libofcongress-mcp-server","version":"0.2.8","keywords":["mcp","mcp-server","model-context-protocol","library-of-congress","loc","chronicling-america","newspapers","lcsh","subject-headings","digital-collections","historical-research","typescript","bun","stdio","streamable-http"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/libofcongress-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/libofcongress-mcp-server@0.2.8","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/libofcongress-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/libofcongress-mcp-server/issues"},"bin":{"libofcongress-mcp-server":"dist/index.js"},"dist":{"shasum":"ee8af5384bd04ceee7dd193de93014a89bf450eb","tarball":"https://registry.npmjs.org/@cyanheads/libofcongress-mcp-server/-/libofcongress-mcp-server-0.2.8.tgz","fileCount":58,"integrity":"sha512-mNyPgjwWm+xI/mzRlCEoJ0at2l9UTgLrqHIVO+S/WK+v3BM9NSiiDQv9k8zgSUldcwL/j26ewPIfB0Tc2t7MHg==","signatures":[{"sig":"MEYCIQCcpRyMES9jPfA8CP3hvbFYzHHMB6MFp3XteK6AurDSwQIhAMYqvYZ5+OqzcBkb4EfPcrKYTb7dYMZ/i7hbFZ3RUfh6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":200860},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"ee8af5384bd04ceee7dd193de93014a89bf450eb","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/libofcongress-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/libofcongress-mcp-server.mcpb","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-mNyPgjwWm+xI/mzRlCEoJ0at2l9UTgLrqHIVO+S/WK+v3BM9NSiiDQv9k8zgSUldcwL/j26ewPIfB0Tc2t7MHg==","repository":{"url":"git+https://github.com/cyanheads/libofcongress-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search LOC digital collections, browse Chronicling America newspapers with full OCR text, and look up LC Subject Headings via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.8","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.16"},"_npmOperationalInternal":{"tmp":"tmp/libofcongress-mcp-server_0.2.8_1780563386324_0.6011146873620508","host":"s3://npm-registry-packages-npm-production"}},"0.2.9":{"name":"@cyanheads/libofcongress-mcp-server","version":"0.2.9","keywords":["mcp","mcp-server","model-context-protocol","library-of-congress","loc","chronicling-america","newspapers","lcsh","subject-headings","digital-collections","historical-research","typescript","bun","stdio","streamable-http"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/libofcongress-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/libofcongress-mcp-server@0.2.9","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/libofcongress-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/libofcongress-mcp-server/issues"},"bin":{"libofcongress-mcp-server":"dist/index.js"},"dist":{"shasum":"71d7716ccd7bd7801de717877192ccd91cff857e","tarball":"https://registry.npmjs.org/@cyanheads/libofcongress-mcp-server/-/libofcongress-mcp-server-0.2.9.tgz","fileCount":58,"integrity":"sha512-NJnrxlm3Uo2Bxj9yM3WFn14YH2isYkMP5f13F/A4jt5MvTtUZDnKmApGn1nsvdx2R+AUbe5m5eMlh44L6HAyMg==","signatures":[{"sig":"MEUCIQCScBDa6r0ADjocBfA8FiR1J+skhScvx9VZ1km590KX0AIgTSF4z+fsM2UibSrOYDzyEvBQcze/A4kKh3HC27dYVoE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":202717},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"71d7716ccd7bd7801de717877192ccd91cff857e","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/libofcongress-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/libofcongress-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/libofcongress-mcp-server.mcpb","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-NJnrxlm3Uo2Bxj9yM3WFn14YH2isYkMP5f13F/A4jt5MvTtUZDnKmApGn1nsvdx2R+AUbe5m5eMlh44L6HAyMg==","repository":{"url":"git+https://github.com/cyanheads/libofcongress-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search LOC digital collections, browse Chronicling America newspapers with full OCR text, and look up LC Subject Headings via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.10.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.8","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.3","@biomejs/biome":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/libofcongress-mcp-server_0.2.9_1781322352412_0.6643551388731741","host":"s3://npm-registry-packages-npm-production"}},"0.2.10":{"name":"@cyanheads/libofcongress-mcp-server","version":"0.2.10","keywords":["mcp","mcp-server","model-context-protocol","library-of-congress","loc","chronicling-america","newspapers","lcsh","subject-headings","digital-collections","historical-research","typescript","bun","stdio","streamable-http"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/libofcongress-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/libofcongress-mcp-server@0.2.10","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/libofcongress-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/libofcongress-mcp-server/issues"},"bin":{"libofcongress-mcp-server":"dist/index.js"},"dist":{"shasum":"32d2a64b366e960abf17f88bf919fac1c4581c72","tarball":"https://registry.npmjs.org/@cyanheads/libofcongress-mcp-server/-/libofcongress-mcp-server-0.2.10.tgz","fileCount":58,"integrity":"sha512-PDkYV8IiNB9IluZL6YwBMwtdD1zxLUWCw4XINupov+dtpBO3+mHq+gzByYthW3MMb605ylC+NRBFO9N8Vghjcg==","signatures":[{"sig":"MEYCIQDJ998W863+9+ltwXkMXJdi1BJ3h6LvTA6LgW2Zm2RBzgIhAIH0p5yUi4Y2RWIfsobU+FE/sO9QgkSsS3tVtek0lr1e","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":202727},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"32d2a64b366e960abf17f88bf919fac1c4581c72","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/libofcongress-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/libofcongress-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/libofcongress-mcp-server.mcpb","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-PDkYV8IiNB9IluZL6YwBMwtdD1zxLUWCw4XINupov+dtpBO3+mHq+gzByYthW3MMb605ylC+NRBFO9N8Vghjcg==","repository":{"url":"git+https://github.com/cyanheads/libofcongress-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search LOC digital collections, browse Chronicling America newspapers with full OCR text, and look up LC Subject Headings via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.10.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.9","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^26.0.0","@biomejs/biome":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/libofcongress-mcp-server_0.2.10_1781956317105_0.4571161659694034","host":"s3://npm-registry-packages-npm-production"}},"0.2.11":{"name":"@cyanheads/libofcongress-mcp-server","version":"0.2.11","keywords":["mcp","mcp-server","model-context-protocol","library-of-congress","loc","chronicling-america","newspapers","lcsh","subject-headings","digital-collections","historical-research","typescript","bun","stdio","streamable-http"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/libofcongress-mcp-server@0.2.11","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/libofcongress-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/libofcongress-mcp-server/issues"},"bin":{"libofcongress-mcp-server":"dist/index.js"},"dist":{"shasum":"8a7eddd597142c371737e2387f32e0ffb2e45802","tarball":"https://registry.npmjs.org/@cyanheads/libofcongress-mcp-server/-/libofcongress-mcp-server-0.2.11.tgz","fileCount":58,"integrity":"sha512-0L8zLPevLO0R2M5UDUa2h6g4/vjXN3f/0igZjUDaC3sIFzATcw5MAVrG3EP3nOgR8u9yVFhW6H9gdNwh6fen7A==","signatures":[{"sig":"MEUCIAnmvI75svfn/0OYHFJrKXcrR8Y+Jiqgh9gVz2jv654iAiEAp+CPaIXYXjStBHPPHc5yUgWV7LOxrOej67KQUu/8aG4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":206487},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"8a7eddd597142c371737e2387f32e0ffb2e45802","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/libofcongress-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/libofcongress-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/libofcongress-mcp-server.mcpb","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-0L8zLPevLO0R2M5UDUa2h6g4/vjXN3f/0igZjUDaC3sIFzATcw5MAVrG3EP3nOgR8u9yVFhW6H9gdNwh6fen7A==","repository":{"url":"git+https://github.com/cyanheads/libofcongress-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search LOC digital collections, browse Chronicling America newspapers with full OCR text, and look up LC Subject Headings via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.10.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.9.0","typescript":"^6.0.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.3","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/libofcongress-mcp-server_0.2.11_1783964127286_0.3320763769077033","host":"s3://npm-registry-packages-npm-production"}},"0.2.12":{"name":"@cyanheads/libofcongress-mcp-server","version":"0.2.12","keywords":["mcp","mcp-server","model-context-protocol","library-of-congress","loc","chronicling-america","newspapers","lcsh","subject-headings","digital-collections","historical-research","typescript","bun","stdio","streamable-http"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/libofcongress-mcp-server@0.2.12","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/libofcongress-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/libofcongress-mcp-server/issues"},"bin":{"libofcongress-mcp-server":"dist/index.js"},"dist":{"shasum":"d654e2ec71b5a869eefd95da0677187bd06c2d3a","tarball":"https://registry.npmjs.org/@cyanheads/libofcongress-mcp-server/-/libofcongress-mcp-server-0.2.12.tgz","fileCount":58,"integrity":"sha512-uAgpxBXlqiUFwK/kZofZIWWq05vque62bxn/yg+p246u6IfaZqUl+1/Cjp5+NOhkCgsooTWsZHi5YB+jzzXB+w==","signatures":[{"sig":"MEQCIBc6s8DBSUB0HLkL88DmP0T5ZmzSHMhkm0NsZf+/Cs6hAiBzLoVZAEaONyFeLudy3DWzSmMig6OetTmj03kdirwxlA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":209984},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"d654e2ec71b5a869eefd95da0677187bd06c2d3a","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/libofcongress-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/libofcongress-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/libofcongress-mcp-server.mcpb","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-uAgpxBXlqiUFwK/kZofZIWWq05vque62bxn/yg+p246u6IfaZqUl+1/Cjp5+NOhkCgsooTWsZHi5YB+jzzXB+w==","repository":{"url":"git+https://github.com/cyanheads/libofcongress-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search LOC digital collections, browse Chronicling America newspapers with full OCR text, and look up LC Subject Headings via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.10.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.9.0","typescript":"^6.0.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.3","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/libofcongress-mcp-server_0.2.12_1783968909767_0.8457775687617777","host":"s3://npm-registry-packages-npm-production"}},"0.2.13":{"name":"@cyanheads/libofcongress-mcp-server","version":"0.2.13","keywords":["mcp","mcp-server","model-context-protocol","library-of-congress","loc","chronicling-america","newspapers","lcsh","subject-headings","digital-collections","historical-research","typescript","bun","stdio","streamable-http"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/libofcongress-mcp-server@0.2.13","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/libofcongress-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/libofcongress-mcp-server/issues"},"bin":{"libofcongress-mcp-server":"dist/index.js"},"dist":{"shasum":"8d43d330fe90fdb0c8bbfb4df06df10e1531124c","tarball":"https://registry.npmjs.org/@cyanheads/libofcongress-mcp-server/-/libofcongress-mcp-server-0.2.13.tgz","fileCount":58,"integrity":"sha512-VwqA6qDbt1GqYQOgzUASpcTW+Di4YCY09d3dtDvJzxxET35uwr4uFSsedhrD8Fp41TGuXIWeWD7cCc/qZBlAgw==","signatures":[{"sig":"MEUCIGGiFXpDq9t6QnQoDdZfiIOHZUPFHxNf+QeEKZhYySdPAiEA6dnp6KTHvN04NdqFqRW8/HY9iFCEQ9HgBwJ3ZVyVCAA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219027},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"8d43d330fe90fdb0c8bbfb4df06df10e1531124c","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/libofcongress-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/libofcongress-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/libofcongress-mcp-server.mcpb","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-VwqA6qDbt1GqYQOgzUASpcTW+Di4YCY09d3dtDvJzxxET35uwr4uFSsedhrD8Fp41TGuXIWeWD7cCc/qZBlAgw==","repository":{"url":"git+https://github.com/cyanheads/libofcongress-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search LOC digital collections, browse Chronicling America newspapers with full OCR text, and look up LC Subject Headings via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.10.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.9.0","typescript":"^6.0.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.3","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/libofcongress-mcp-server_0.2.13_1784179680458_0.1301196845893975","host":"s3://npm-registry-packages-npm-production"}},"0.2.14":{"name":"@cyanheads/libofcongress-mcp-server","version":"0.2.14","keywords":["mcp","mcp-server","model-context-protocol","library-of-congress","loc","chronicling-america","newspapers","lcsh","subject-headings","digital-collections","historical-research","typescript","bun","stdio","streamable-http"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/libofcongress-mcp-server@0.2.14","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/libofcongress-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/libofcongress-mcp-server/issues"},"bin":{"libofcongress-mcp-server":"dist/index.js"},"dist":{"shasum":"e7a6b76109f887ebdbc89aee0803bb5adec52bc4","tarball":"https://registry.npmjs.org/@cyanheads/libofcongress-mcp-server/-/libofcongress-mcp-server-0.2.14.tgz","fileCount":58,"integrity":"sha512-1qJkpkU5o3bGc4T56sB4G0aIRNwkYsRR3dllm1fWpV1qRmhu/t2i0X9sC6Ubk8Llz3RpAMYSeRIWdGkJK0EMTA==","signatures":[{"sig":"MEUCIGqL+zfaVXfqPHUX8XnVRyTk2cQ4qKHviB4hqX2Y+MTcAiEAusGeWEcrXD4MDSWVEu3oQiKz93a1l/SKciI6eWe1JvE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":231602},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"e7a6b76109f887ebdbc89aee0803bb5adec52bc4","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/libofcongress-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/libofcongress-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/libofcongress-mcp-server.mcpb","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-1qJkpkU5o3bGc4T56sB4G0aIRNwkYsRR3dllm1fWpV1qRmhu/t2i0X9sC6Ubk8Llz3RpAMYSeRIWdGkJK0EMTA==","repository":{"url":"git+https://github.com/cyanheads/libofcongress-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search LOC digital collections, browse Chronicling America newspapers with full OCR text, and look up LC Subject Headings via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.10.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.9.0","typescript":"^6.0.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.3","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/libofcongress-mcp-server_0.2.14_1784193251062_0.3433245368402522","host":"s3://npm-registry-packages-npm-production"}},"0.2.15":{"name":"@cyanheads/libofcongress-mcp-server","version":"0.2.15","keywords":["mcp","mcp-server","model-context-protocol","library-of-congress","loc","chronicling-america","newspapers","lcsh","subject-headings","digital-collections","historical-research","typescript","bun","stdio","streamable-http"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/libofcongress-mcp-server@0.2.15","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/libofcongress-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/libofcongress-mcp-server/issues"},"bin":{"libofcongress-mcp-server":"dist/index.js"},"dist":{"shasum":"b0a1f27d38ca84cc625ca067d2087336db8e1079","tarball":"https://registry.npmjs.org/@cyanheads/libofcongress-mcp-server/-/libofcongress-mcp-server-0.2.15.tgz","fileCount":62,"integrity":"sha512-ohoNBtgGYWoy34kBM+nNd/Ik0NutM41Pfq/LJ9RwRHabk7m0Y/aK8BbDfHKxtgoX4t3dhAPt1kX+WBfM1KrlgA==","signatures":[{"sig":"MEQCICmdtVZe5xRzHAIfgtPA4C4nuPgz1Di6qRN0mTxAoX8dAiB0SthAUpEy6L+BvH3nDp8hcoEyEOnTVH19J9zcgNXigg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":245619},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"b0a1f27d38ca84cc625ca067d2087336db8e1079","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/libofcongress-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/libofcongress-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/libofcongress-mcp-server.mcpb","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-ohoNBtgGYWoy34kBM+nNd/Ik0NutM41Pfq/LJ9RwRHabk7m0Y/aK8BbDfHKxtgoX4t3dhAPt1kX+WBfM1KrlgA==","repository":{"url":"git+https://github.com/cyanheads/libofcongress-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search LOC digital collections, browse Chronicling America newspapers with full OCR text, and look up LC Subject Headings via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.10.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.9.0","typescript":"^6.0.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.3","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/libofcongress-mcp-server_0.2.15_1784199370749_0.4932599149247392","host":"s3://npm-registry-packages-npm-production"}},"0.2.16":{"name":"@cyanheads/libofcongress-mcp-server","version":"0.2.16","keywords":["mcp","mcp-server","model-context-protocol","library-of-congress","loc","chronicling-america","newspapers","lcsh","subject-headings","digital-collections","historical-research","typescript","bun","stdio","streamable-http"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/libofcongress-mcp-server@0.2.16","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/libofcongress-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/libofcongress-mcp-server/issues"},"bin":{"libofcongress-mcp-server":"dist/index.js"},"dist":{"shasum":"5c661b8545db3216d579cf1de1666e65b7ade607","tarball":"https://registry.npmjs.org/@cyanheads/libofcongress-mcp-server/-/libofcongress-mcp-server-0.2.16.tgz","fileCount":62,"integrity":"sha512-qbZ3LamA1l3nwYyZl5FPmvfUFaUgwA0utAMvdropVlNDMt2a881dv7ewNl3+w5Bgm5ZcSOAipzO6cgS9ojbCpg==","signatures":[{"sig":"MEUCIET23xuQJINkqTfqC4OUfha+B+6wx/s9WAA+OTwzsne5AiEAqT0du9Su1kwp9qUIgl/HCU9KfQMNUBKHlu6fONQD86A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":254705},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"5c661b8545db3216d579cf1de1666e65b7ade607","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/libofcongress-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/libofcongress-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/libofcongress-mcp-server.mcpb","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-qbZ3LamA1l3nwYyZl5FPmvfUFaUgwA0utAMvdropVlNDMt2a881dv7ewNl3+w5Bgm5ZcSOAipzO6cgS9ojbCpg==","repository":{"url":"git+https://github.com/cyanheads/libofcongress-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search LOC digital collections, browse Chronicling America newspapers with full OCR text, and look up LC Subject Headings via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.10.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.9.1","typescript":"^6.0.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.3","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/libofcongress-mcp-server_0.2.16_1784231086029_0.7141425769481204","host":"s3://npm-registry-packages-npm-production"}},"0.2.17":{"name":"@cyanheads/libofcongress-mcp-server","version":"0.2.17","keywords":["mcp","mcp-server","model-context-protocol","library-of-congress","loc","chronicling-america","newspapers","lcsh","subject-headings","digital-collections","historical-research","typescript","bun","stdio","streamable-http"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/libofcongress-mcp-server@0.2.17","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/libofcongress-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/libofcongress-mcp-server/issues"},"bin":{"libofcongress-mcp-server":"dist/index.js"},"dist":{"shasum":"d2c6fe5c58030ed5830e59be834acb9555c36269","tarball":"https://registry.npmjs.org/@cyanheads/libofcongress-mcp-server/-/libofcongress-mcp-server-0.2.17.tgz","fileCount":84,"integrity":"sha512-orDkLQN8GnWx8II66wAEb2GbkBiNdpuFNnktUeHZXeTjb5HmXA+2xZp98qN+ReG+u/FCCY7UUZHMCALqQhQKWw==","signatures":[{"sig":"MEUCIB2Ra6UPQKZPbIFodiCQCiSEB5dsuSnoJUPUK/HO46mcAiEArbJis2+F3tlQpouNg51P3RD+GtsfB4W0LuQNLDcsRjU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":325230},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"d2c6fe5c58030ed5830e59be834acb9555c36269","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/libofcongress-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"node dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/libofcongress-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/libofcongress-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","test:coverage":"vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-orDkLQN8GnWx8II66wAEb2GbkBiNdpuFNnktUeHZXeTjb5HmXA+2xZp98qN+ReG+u/FCCY7UUZHMCALqQhQKWw==","repository":{"url":"git+https://github.com/cyanheads/libofcongress-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search LOC digital collections, browse Chronicling America newspapers with full OCR text, and look up LC Subject Headings via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.12.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.11","depcheck":"^1.4.7","tsc-alias":"^1.9.2","typescript":"^7.0.2","@types/node":"^26.2.0","@biomejs/biome":"^2.5.9","@modelcontextprotocol/server":"^2.0.0","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/libofcongress-mcp-server_0.2.17_1787435158856_0.8467279833508177","host":"s3://npm-registry-packages-npm-production"}},"0.2.18":{"name":"@cyanheads/libofcongress-mcp-server","version":"0.2.18","keywords":["mcp","mcp-server","model-context-protocol","library-of-congress","loc","chronicling-america","newspapers","lcsh","subject-headings","digital-collections","historical-research","typescript","bun","stdio","streamable-http"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/libofcongress-mcp-server@0.2.18","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/libofcongress-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/libofcongress-mcp-server/issues"},"bin":{"libofcongress-mcp-server":"dist/index.js"},"dist":{"shasum":"4b11f3bebfc91fbd418cd58f0b2ba6be2f71baa5","tarball":"https://registry.npmjs.org/@cyanheads/libofcongress-mcp-server/-/libofcongress-mcp-server-0.2.18.tgz","fileCount":85,"integrity":"sha512-JYjiX3F3nSJvZpmGAYk/dWWS/U+30exVG71pJJT/4YexP457ZuddxMDRpqv8DY7U35d7XcpaLIIBCX11DpVYNQ==","signatures":[{"sig":"MEUCICh/MMh0i4b51NTz0yhkUCL7xcp5dVhWy84vkAYQszk3AiEA7vUtVHbQiXki6rVeoobxEtZ8tp51UFkKO9gFSdEjqJc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDts0T8vcqHz1mDHUDowK2jL4RSDGzQcxYbUEtBA7AYOwIgW5clzqY/uPkcaX9ffwvSGmnsneIu8VMX9i0IpsFbcz4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":336782},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"4b11f3bebfc91fbd418cd58f0b2ba6be2f71baa5","engines":{"bun":">=1.4.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/libofcongress-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"node dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/libofcongress-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/libofcongress-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","audit:fix":"bun audit fix","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","test:coverage":"vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-JYjiX3F3nSJvZpmGAYk/dWWS/U+30exVG71pJJT/4YexP457ZuddxMDRpqv8DY7U35d7XcpaLIIBCX11DpVYNQ==","repository":{"url":"git+https://github.com/cyanheads/libofcongress-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search LOC digital collections, browse Chronicling America newspapers with full OCR text, and look up LC Subject Headings via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.6.5","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.13.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"ignore":"^7.0.9","vitest":"^5.0.1","depcheck":"^1.4.7","tsc-alias":"^1.9.5","typescript":"^7.0.2","@types/node":"^26.6.1","@biomejs/biome":"^2.5.14","@vitest/coverage-istanbul":"^5.0.1","@modelcontextprotocol/server":"^2.0.0","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/libofcongress-mcp-server_0.2.18_1789820523736_0.2065895923957004","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"_id":"@cyanheads/libofcongress-mcp-server@0.3.0","bin":{"libofcongress-mcp-server":"dist/index.js"},"bugs":{"url":"https://github.com/cyanheads/libofcongress-mcp-server/issues"},"dist":{"shasum":"f11d361ba729b0c5d31d99d7264a5a865c553534","tarball":"https://registry.npmjs.org/@cyanheads/libofcongress-mcp-server/-/libofcongress-mcp-server-0.3.0.tgz","fileCount":86,"integrity":"sha512-MYNcT1FFWeNWFdRFrFVOefuslku8II71TWIzvXuz4u73dbo6YUL2EyFZsbjq5EKKKtA7Ayaw6QkRu6EofNq3Kw==","signatures":[{"sig":"MEYCIQCRNzjf4CfuiDmlQQzTXtywbOw2f7aeb4aZnMvD2MaGvgIhAPX8sQFu2T/J8XkBoayy7D7bM9Wf2ot0rC0jioU6WAhG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCID8u8EHT1tu//gah2iQjX1CeOFBb3GBWxbTEuWueRQeVAiBEia3RyTztB0iuyHkGNd9gFnOPUjAc0xWycIfRRo3GHg=="}],"unpackedSize":352296},"main":"dist/index.js","name":"@cyanheads/libofcongress-mcp-server","type":"module","types":"dist/index.d.ts","author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","shasum":"f11d361ba729b0c5d31d99d7264a5a865c553534","engines":{"bun":">=1.4.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"license":"Apache-2.0","mcpName":"io.github.cyanheads/libofcongress-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"node dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/libofcongress-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/libofcongress-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","audit:fix":"bun audit fix","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","test:coverage":"vitest run --coverage","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"version":"0.3.0","_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"homepage":"https://github.com/cyanheads/libofcongress-mcp-server#readme","keywords":["mcp","mcp-server","model-context-protocol","library-of-congress","loc","chronicling-america","newspapers","lcsh","subject-headings","digital-collections","historical-research","typescript","bun","stdio","streamable-http"],"_integrity":"sha512-MYNcT1FFWeNWFdRFrFVOefuslku8II71TWIzvXuz4u73dbo6YUL2EyFZsbjq5EKKKtA7Ayaw6QkRu6EofNq3Kw==","repository":{"url":"git+https://github.com/cyanheads/libofcongress-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search LOC digital collections, browse Chronicling America newspapers with full OCR text, and look up LC Subject Headings via MCP. STDIO or Streamable HTTP.","directories":{},"maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.6.5","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.13.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"ignore":"^7.0.9","vitest":"^5.0.1","depcheck":"^1.4.7","tsc-alias":"^1.9.5","typescript":"^7.0.2","@types/node":"^26.6.2","@biomejs/biome":"^2.5.14","@vitest/coverage-istanbul":"^5.0.1","@modelcontextprotocol/server":"^2.0.0","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/libofcongress-mcp-server_0.3.0_1790117879604_0.7100351096151725"}}},"time":{"created":"2026-05-24T23:21:45.853Z","modified":"2026-09-22T22:58:00.015Z","0.2.1":"2026-05-24T23:21:46.227Z","0.2.2":"2026-05-25T01:45:36.323Z","0.2.3":"2026-05-25T02:04:25.570Z","0.2.4":"2026-05-26T07:46:24.929Z","0.2.5":"2026-05-29T05:15:01.856Z","0.2.6":"2026-05-30T09:28:14.952Z","0.2.7":"2026-06-02T14:30:46.649Z","0.2.8":"2026-06-04T08:56:26.464Z","0.2.9":"2026-06-13T03:45:52.550Z","0.2.10":"2026-06-20T11:51:57.278Z","0.2.11":"2026-07-13T17:35:27.445Z","0.2.12":"2026-07-13T18:55:09.943Z","0.2.13":"2026-07-16T05:28:00.601Z","0.2.14":"2026-07-16T09:14:11.205Z","0.2.15":"2026-07-16T10:56:10.894Z","0.2.16":"2026-07-16T19:44:46.171Z","0.2.17":"2026-08-22T21:45:59.004Z","0.2.18":"2026-09-19T12:22:03.838Z","0.3.0":"2026-09-22T22:57:59.849Z"},"bugs":{"url":"https://github.com/cyanheads/libofcongress-mcp-server/issues"},"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","homepage":"https://github.com/cyanheads/libofcongress-mcp-server#readme","keywords":["mcp","mcp-server","model-context-protocol","library-of-congress","loc","chronicling-america","newspapers","lcsh","subject-headings","digital-collections","historical-research","typescript","bun","stdio","streamable-http"],"repository":{"url":"git+https://github.com/cyanheads/libofcongress-mcp-server.git","type":"git"},"description":"Search LOC digital collections, browse Chronicling America newspapers with full OCR text, and look up LC Subject Headings via MCP. STDIO or Streamable HTTP.","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"readme":"<div align=\"center\">\n  <h1>@cyanheads/libofcongress-mcp-server</h1>\n  <p><b>Search LOC digital collections, browse Chronicling America newspapers with full OCR text, and look up LC Subject Headings via MCP. STDIO or Streamable HTTP.</b>\n  <div>6 Tools • 1 Resource</div>\n  </p>\n</div>\n\n<div align=\"center\">\n\n[![Version](https://img.shields.io/badge/Version-0.3.0-blue.svg?style=flat-square)](./CHANGELOG.md) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![Docker](https://img.shields.io/badge/Docker-ghcr.io-2496ED?style=flat-square&logo=docker&logoColor=white)](https://github.com/users/cyanheads/packages/container/package/libofcongress-mcp-server) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^2.0.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![npm](https://img.shields.io/npm/v/%40cyanheads%2Flibofcongress-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/libofcongress-mcp-server) [![TypeScript](https://img.shields.io/badge/TypeScript-^7.0.2-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.4.0%2B-blueviolet.svg?style=flat-square)](https://bun.sh/)\n\n</div>\n\n<div align=\"center\">\n\n[![Install in Claude Desktop](https://img.shields.io/badge/Install_in-Claude_Desktop-D97757?style=for-the-badge&logo=anthropic&logoColor=white)](https://github.com/cyanheads/libofcongress-mcp-server/releases/latest/download/libofcongress-mcp-server.mcpb) [![Install in Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en/install-mcp?name=libofcongress-mcp-server&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBjeWFuaGVhZHMvbGlib2Zjb25ncmVzcy1tY3Atc2VydmVyIl19) [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install_Server-0098FF?style=for-the-badge&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode:mcp/install?%7B%22name%22%3A%22libofcongress-mcp-server%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40cyanheads%2Flibofcongress-mcp-server%22%5D%7D)\n\n[![Framework](https://img.shields.io/badge/Built%20on-@cyanheads/mcp--ts--core-67E8F9?style=flat-square)](https://www.npmjs.com/package/@cyanheads/mcp-ts-core)\n\n</div>\n\n<div align=\"center\">\n\n**Public Hosted Server:** [https://libofcongress.caseyjhand.com/mcp](https://libofcongress.caseyjhand.com/mcp)\n\n</div>\n\n---\n\n## Overview\n\nLibrary of Congress digital collections, Chronicling America newspaper archives, and LC Subject Headings (LCSH) authority data. Search items and newspaper pages, retrieve full item metadata and OCR text, resolve LCSH subject terms, and browse curated collections from any MCP client. Runs as a stdio process, a local Streamable HTTP server, or the public hosted endpoint above.\n\n### Tools\n\n| Tool | Description |\n|:-----|:------------|\n| `libofcongress_search` | Search LOC digital collections by keyword with format, date range, subject, location, and collection filters. |\n| `libofcongress_get_item` | Retrieve full metadata for a specific LOC digital item — contributors, subjects, rights, formats, and resource links. |\n| `libofcongress_search_newspapers` | Search historical newspaper pages in the Chronicling America corpus with OCR excerpts. |\n| `libofcongress_get_newspaper_page` | Retrieve the full OCR text and metadata for a specific newspaper page. |\n| `libofcongress_search_subjects` | Search Library of Congress Subject Headings (LCSH) by keyword. |\n| `libofcongress_browse_collections` | List and browse LOC curated digital collections, optionally filtered by keyword. |\n\n### Resources\n\n| Resource | Description |\n|:-----|:------------|\n| `libofcongress://item/{+item_id}` | LOC digital item metadata by ID — stable URI for injecting item context into agent conversations. |\n\nAll resource data is also reachable via `libofcongress_get_item`. Use `libofcongress_search` to discover item IDs first.\n\n## Capability reference\n\n### `libofcongress_search` <sub>tool</sub>\n\n- Filters: eight material formats (`photo`, `map`, `newspaper`, `manuscript`, `audio`, `film`, `book`, `notated-music`), inclusive year range (`date_start`/`date_end`), subject heading (use `libofcongress_search_subjects` for the exact LCSH spelling), and geographic location\n- `collection_slug` scopes the search to one curated collection (slug from `libofcongress_browse_collections`) — mutually exclusive with `format`; an unrecognized slug returns `collection_not_found` on page 1\n- Up to 100 results per page, capped at LOC's ~100,000-item retrieval ceiling — a notice discloses how to partition by date, subject, or location to reach the rest; real results on a page beyond the reported total are always returned, never discarded\n- Empty results carry a `notice` field with recovery hints, echoing the applied filters\n- Each result carries `is_item` — `true` for catalog items whose `id` resolves via `libofcongress_get_item`, `false` for non-item results (collections, exhibit/guide pages, newspaper pages), whose `url` should be opened instead\n\n---\n\n### `libofcongress_get_item` <sub>tool</sub>\n\n- Returns full metadata in one call: contributors (with their roles, e.g. `Washington, George, 1732-1799 (Author)`), LCSH subject headings, cataloger notes, summary, languages, locations, rights information, physical description, call number, former IDs, original/online formats, and `access_restricted`\n- `resource_links` (deduplicated from nested upstream `files[]` arrays) carries downloadable digital file URLs (TIFF/JPEG/PDF); `related_items` lists related LOC record IDs or URLs, normalized to strings whichever form LOC sends — both render in full on `structuredContent` and `content[]`, never truncated\n- Accepts multi-segment item IDs verbatim (e.g. newspaper pages `sn95047246/1935-09-05/ed-1`); the returned `url` is always an absolute `https://` URL\n- Fields absent upstream are omitted rather than filled — a sparse record stays sparse\n\n---\n\n### `libofcongress_search_newspapers` <sub>tool</sub>\n\n- OCR text excerpts (~500 chars) returned inline for relevance assessment without a second hop\n- Filters: keyword, inclusive date range, US state (full name), and newspaper title (partial match)\n- Each result carries `states` — every state LOC indexes the title under, in LOC order; a title indexed against its circulation area lists several\n- Up to 100 results per page, capped at LOC's ~100,000-page retrieval ceiling — a notice discloses how to partition by date or state to reach the rest\n- Returns the `url` field needed by `libofcongress_get_newspaper_page` — do not construct these URLs manually\n- OCR quality varies by digitization batch and era; 19th-century and degraded materials may contain garbled text\n- Empty results carry a `notice` with recovery suggestions (broaden the date range, drop the state filter, historical-OCR caveat)\n\n---\n\n### `libofcongress_get_newspaper_page` <sub>tool</sub>\n\n- Accepts the `url` field from a `libofcongress_search_newspapers` result — validates the URL prefix before any outbound request and rejects anything else as `invalid_page_url`\n- Returns the issue's publication metadata alongside the text — `newspaper_title`, `date`, `place_of_publication`, `states`, `edition`, the page's `sequence`, and the issue's page count (`segment_count`) — from the same single request; fields LOC doesn't send are omitted\n- Fetches JSON from the LOC text-services endpoint (`tile.loc.gov`) and reads plain text from the `full_text` field\n- `ocr_available: false` when the page has no digitized text (image-only batch) — a data property, not an error\n- When `ocr_available` is `true` but the text service returns nothing, a `notice` discloses the retrieval miss, distinct from a genuinely image-only page\n- Strips echoed `q=` params from fulltext URLs to avoid `tile.loc.gov` 404s (a known LOC API quirk)\n\n---\n\n### `libofcongress_search_subjects` <sub>tool</sub>\n\n- Returns standardized LCSH labels and stable LOC URIs; use the returned `label` verbatim in `libofcongress_search`'s `subject` filter — LCSH uses inverted forms (\"Photography, Aerial\", \"World War, 1939-1945\") that differ from natural language\n- Up to 50 results per call (default 10); for how many LOC items carry a heading, run `libofcongress_search` with it as the `subject` filter and read `total`\n- Draws from the id.loc.gov suggest endpoint's full 50-candidate pool (not scaled to `limit`) and filters to true LCSH headings, so a heading ranked below name-authority records isn't reported as a false empty\n- When the ranked pool — rather than a lack of coverage — yields an empty or short result, the response discloses it with a recovery hint\n\n---\n\n### `libofcongress_browse_collections` <sub>tool</sub>\n\n- Returns collection `slug` — pass it to `libofcongress_search` as `collection_slug` to search inside that collection\n- Slugs come from the collection's loc.gov route, not its title — not guessable from the display name\n- Optional keyword filter by collection name/description; up to 100 collections per page\n- Item counts are approximate and omitted when the API doesn't provide them\n\n---\n\n### `libofcongress://item/{+item_id}` <sub>resource</sub>\n\n- Returns the same full record as `libofcongress_get_item`, as `application/json`\n- `item_id` comes from a `libofcongress_search` result's `id` field, or from `libofcongress_get_item`\n- Multi-segment newspaper IDs keep their slashes intact (e.g. `libofcongress://item/sn95047246/1935-09-05/ed-1`); percent-encoded slashes (`%2F`) also resolve\n\n## Features\n\nBuilt on [`@cyanheads/mcp-ts-core`](https://github.com/cyanheads/mcp-ts-core): stdio and Streamable HTTP transports, pluggable auth (`none` / `jwt` / `oauth`), swappable storage (`in-memory`, `filesystem`, `Supabase`, `Cloudflare KV/R2/D1`), structured logging with optional OpenTelemetry tracing.\n\nLibrary of Congress-specific:\n\n- Module-level rate-limit enforcement: 20 req/min limit; 429 responses trigger a 1-hour block, and the error's recovery hint counts down the minutes left and names the time it lifts\n- Configurable pacing delay (default 3100ms, ~19 req/min) applied before every outbound LOC API request\n- HTML-response detection guards against silent rate-limit proxy pages that return 200 with HTML\n- Out-of-range page handling: a page past the end of the results (HTTP 404 on any page after the first) or past the retrieval ceiling (HTTP 400) returns an empty result with a notice, not an error — both point back to page 1 for the real page count, and the ceiling notice also explains how to partition a search that matches more than LOC will page through\n- Transient-fault resilience: network drops and timeouts retry with backoff behind a 30s per-request timeout ceiling; the 429 rate-limit path is never retried, since a retry would deepen LOC's 1-hour block\n\nAgent-friendly output:\n\n- Empty results always include a `notice` field with recovery hints — echoes the applied filters and suggests how to broaden\n- Pagination status on every search response (`total`, `page`, `pages`, `has_next`), capped at LOC's ~100,000-item retrieval ceiling, with a notice disclosing how to page past it\n- `ocr_available` and `is_item` discriminator fields let callers branch on data availability without parsing text\n- Recovery hints on every typed error contract — actionable next steps for the agent on every failure mode\n\n## Getting started\n\n### Public Hosted Instance\n\nA public instance is available at `https://libofcongress.caseyjhand.com/mcp` — no installation required. Point any MCP client at it via Streamable HTTP:\n\n```json\n{\n  \"mcpServers\": {\n    \"libofcongress-mcp-server\": {\n      \"type\": \"streamable-http\",\n      \"url\": \"https://libofcongress.caseyjhand.com/mcp\"\n    }\n  }\n}\n```\n\n### Self-Hosted / Local\n\nAdd the following to your MCP client configuration file.\n\n```json\n{\n  \"mcpServers\": {\n    \"libofcongress-mcp-server\": {\n      \"type\": \"stdio\",\n      \"command\": \"bunx\",\n      \"args\": [\"@cyanheads/libofcongress-mcp-server@latest\"],\n      \"env\": {\n        \"MCP_TRANSPORT_TYPE\": \"stdio\",\n        \"MCP_SESSION_MODE\": \"stateless\",\n        \"MCP_LOG_LEVEL\": \"info\"\n      }\n    }\n  }\n}\n```\n\nOr with npx (no Bun required):\n\n```json\n{\n  \"mcpServers\": {\n    \"libofcongress-mcp-server\": {\n      \"type\": \"stdio\",\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@cyanheads/libofcongress-mcp-server@latest\"],\n      \"env\": {\n        \"MCP_TRANSPORT_TYPE\": \"stdio\",\n        \"MCP_SESSION_MODE\": \"stateless\",\n        \"MCP_LOG_LEVEL\": \"info\"\n      }\n    }\n  }\n}\n```\n\nOr with Docker:\n\n```json\n{\n  \"mcpServers\": {\n    \"libofcongress-mcp-server\": {\n      \"type\": \"stdio\",\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\", \"-i\", \"--rm\",\n        \"-e\", \"MCP_TRANSPORT_TYPE=stdio\",\n        \"-e\", \"MCP_SESSION_MODE=stateless\",\n        \"ghcr.io/cyanheads/libofcongress-mcp-server:latest\"\n      ]\n    }\n  }\n}\n```\n\nFor Streamable HTTP, set the transport and start the server:\n\n```sh\nMCP_TRANSPORT_TYPE=http MCP_HTTP_PORT=3010 bun run start:http\n# Server listens at http://localhost:3010/mcp\n```\n\n### Prerequisites\n\n- [Bun v1.4.0](https://bun.sh/) or higher (or Node.js v24+).\n- No API key required — the LOC JSON API and LC Linked Data endpoints are open. LOC recommends a descriptive `LOC_USER_AGENT` for polite access.\n\n### Installation\n\n1. **Clone the repository:**\n\n```sh\ngit clone https://github.com/cyanheads/libofcongress-mcp-server.git\n```\n\n2. **Navigate into the directory:**\n\n```sh\ncd libofcongress-mcp-server\n```\n\n3. **Install dependencies:**\n\n```sh\nbun install\n```\n\n4. **Configure environment:**\n\n```sh\ncp .env.example .env\n# edit .env if you want to set LOC_USER_AGENT or LOC_REQUEST_DELAY_MS\n```\n\n## Configuration\n\nAll configuration is validated at startup via Zod schemas in `src/config/server-config.ts`.\n\n| Variable | Description | Default |\n|:---------|:------------|:--------|\n| `LOC_USER_AGENT` | User-Agent header sent with LOC API requests. LOC recommends a descriptive value for polite access. | `libofcongress-mcp-server/0.3.0` |\n| `LOC_REQUEST_DELAY_MS` | Delay in milliseconds between LOC API requests to stay under the 20 req/min rate limit. | `3100` |\n| `MCP_TRANSPORT_TYPE` | Transport: `stdio` or `http`. | `stdio` |\n| `MCP_HTTP_PORT` | Port for HTTP server. | `3010` |\n| `MCP_AUTH_MODE` | Auth mode: `none`, `jwt`, or `oauth`. | `none` |\n| `MCP_SESSION_MODE` | HTTP session mode. This server is explicitly stateless. | `stateless` |\n| `MCP_LOG_LEVEL` | Log level (RFC 5424). | `info` |\n| `LOGS_DIR` | Directory for log files (Node.js only). | `<project-root>/logs` |\n| `STORAGE_PROVIDER_TYPE` | Storage backend. | `in-memory` |\n| `OTEL_ENABLED` | Enable [OpenTelemetry instrumentation](https://github.com/cyanheads/mcp-ts-core/tree/main/docs/telemetry) (spans, metrics, completion logs). | `false` |\n\nSee [`.env.example`](./.env.example) for the full list of optional overrides.\n\n## Running the server\n\n### Local development\n\n- **Build and run:**\n\n  ```sh\n  # One-time build\n  bun run rebuild\n\n  # Run the built server\n  bun run start:stdio\n  # or\n  bun run start:http\n  ```\n\n- **Run checks and tests:**\n\n  ```sh\n  bun run devcheck   # Lint, format, typecheck, security\n  bun run test       # Vitest test suite\n  bun run lint:mcp   # Validate MCP definitions against spec\n  ```\n\n### Docker\n\n```sh\ndocker build -t libofcongress-mcp-server .\ndocker run --rm -p 3010:3010 libofcongress-mcp-server\n```\n\nThe Dockerfile defaults to HTTP transport, stateless session mode, and logs to `/var/log/libofcongress-mcp-server`. OpenTelemetry peer dependencies are installed by default — build with `--build-arg OTEL_ENABLED=false` to omit them.\n\n## Project structure\n\n| Directory | Purpose |\n|:----------|:--------|\n| `src/index.ts` | `createApp()` entry point — registers tools, resource, and initializes services. |\n| `src/config` | Server-specific environment variable parsing (`LOC_USER_AGENT`, `LOC_REQUEST_DELAY_MS`). |\n| `src/mcp-server/tools` | Tool definitions (`*.tool.ts`) — six LOC tools. |\n| `src/mcp-server/resources` | Resource definitions — `libofcongress://item/{+item_id}`. |\n| `src/services/loc-api` | `LocApiService` wrapping `www.loc.gov` — search, item fetch, newspaper page, collection browser. |\n| `src/services/lc-linked-data` | `LcLinkedDataService` wrapping `id.loc.gov` — LCSH subject heading suggest. |\n| `tests/` | Unit and integration tests mirroring `src/`. |\n\n## Development guide\n\nSee [`CLAUDE.md`](./CLAUDE.md) for development guidelines and architectural rules. The short version:\n\n- Handlers throw, framework catches — no `try/catch` in tool logic\n- Use `ctx.log` for request-scoped logging, `ctx.state` for tenant-scoped storage\n- Register new tools and resources via the arrays in `src/index.ts`\n- Wrap external API calls: validate raw → normalize to domain type → return output schema; never fabricate missing fields\n\n## Contributing\n\nIssues are welcome. Run checks and tests before submitting:\n\n```sh\nbun run devcheck\nbun run test\n```\n\n## License\n\nApache-2.0 — see [LICENSE](LICENSE) for details.\n","readmeFilename":"README.md"}