{"_id":"@cyanheads/openalex-mcp-server","_rev":"49-675088b508349f22b77b7ab51f7f4b93","name":"@cyanheads/openalex-mcp-server","dist-tags":{"latest":"0.8.0"},"versions":{"0.2.7":{"name":"@cyanheads/openalex-mcp-server","version":"0.2.7","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","citation-analysis","literature-search","scholarly-data","scholarly-research","typescript"],"author":"cyanheads (https://github.com/cyanheads)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.2.7","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"3033b2750ed7e7eb80892d0968d62221e5f73172","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.2.7.tgz","fileCount":42,"integrity":"sha512-IlISI5JGOVCRVa7xseRx8bqn6bbMIJRFCjRhr7l1Q0Sw5u4nc4HiCGJWE6bzKo0xvSdFd1vmuPwcjjsYU5OfXw==","signatures":[{"sig":"MEYCIQCr6bwrLMQs2yT30Th3E7xtimzKW+hBDMBJTwK6JEldNQIhANjo6oc53xHh7hkPKW4DfYuYvaPUHyys5S5sp4zO16Bw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":102596},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"3033b2750ed7e7eb80892d0968d62221e5f73172","engines":{"bun":">=1.3.0","node":">=22.0.0"},"mcpName":"io.github.cyanheads/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","format":"biome check --write --unsafe .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","dev:http":"MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","dev:stdio":"MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-IlISI5JGOVCRVa7xseRx8bqn6bbMIJRFCjRhr7l1Q0Sw5u4nc4HiCGJWE6bzKo0xvSdFd1vmuPwcjjsYU5OfXw==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.1.28"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"tsx":"^4.21.0","ignore":"^7.0.5","vitest":"^4.1.1","depcheck":"^1.4.7","tsc-alias":"^1.8.16","typescript":"^6.0.2","@types/node":"^25.5.0","@biomejs/biome":"^2.4.8"},"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.2.7_1774352637756_0.9969846705030843","host":"s3://npm-registry-packages-npm-production"}},"0.2.8":{"name":"@cyanheads/openalex-mcp-server","version":"0.2.8","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","citation-analysis","literature-search","scholarly-data","scholarly-research","typescript"],"author":"cyanheads (https://github.com/cyanheads)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.2.8","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"50f4029b34127c28b908b1b47257961ef6d90532","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.2.8.tgz","fileCount":42,"integrity":"sha512-CNCJNaRuBCqBSLWTzkttWx8LEXrxFthJ7AmZx0r1+mAQjARcpCscfl5t+kfD5siqTFGbZd5MwfZBoMA7Fr93Jg==","signatures":[{"sig":"MEYCIQCY8wDgUteSmwYzItLHIZK53I9N6rLIFfNaeheDuU5wLwIhAOPetf8OcTbpgdMAJNyUCic6vWQ86N3KpsngxHJgGHWN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":106266},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"50f4029b34127c28b908b1b47257961ef6d90532","engines":{"bun":">=1.3.0","node":">=22.0.0"},"mcpName":"io.github.cyanheads/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","format":"biome check --write --unsafe .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","dev:http":"MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","dev:stdio":"MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-CNCJNaRuBCqBSLWTzkttWx8LEXrxFthJ7AmZx0r1+mAQjARcpCscfl5t+kfD5siqTFGbZd5MwfZBoMA7Fr93Jg==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.1.28"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"tsx":"^4.21.0","ignore":"^7.0.5","vitest":"^4.1.1","depcheck":"^1.4.7","tsc-alias":"^1.8.16","typescript":"^6.0.2","@types/node":"^25.5.0","@biomejs/biome":"^2.4.8"},"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.2.8_1774356634490_0.5893463264780676","host":"s3://npm-registry-packages-npm-production"}},"0.2.9":{"name":"@cyanheads/openalex-mcp-server","version":"0.2.9","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","citation-analysis","literature-search","scholarly-data","scholarly-research","typescript"],"author":"cyanheads (https://github.com/cyanheads)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.2.9","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"ded94a511b5bd15e92c6663569b9e7026d880e0c","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.2.9.tgz","fileCount":42,"integrity":"sha512-zlCU18ET9hDLiQM06q8wvB3zwwbMGQsJAlkGiKpFOPfjIh7w/DF1Ned4EzNq/3ndZW2K17bsCK6bLCMO32g2Cw==","signatures":[{"sig":"MEUCIQCZuRBTCliNZ6PCQMTqmF/D2p4IXW7LTIShpep7dPC3CAIgW01WafK7Isy6P+vrkUBayjseFxbRshJ8coNECRGBw8I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":119662},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"ded94a511b5bd15e92c6663569b9e7026d880e0c","engines":{"bun":">=1.3.0","node":">=22.0.0"},"mcpName":"io.github.cyanheads/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","format":"biome check --write --unsafe .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","dev:http":"MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","dev:stdio":"MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-zlCU18ET9hDLiQM06q8wvB3zwwbMGQsJAlkGiKpFOPfjIh7w/DF1Ned4EzNq/3ndZW2K17bsCK6bLCMO32g2Cw==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"tsx":"^4.21.0","ignore":"^7.0.5","vitest":"^4.1.2","depcheck":"^1.4.7","tsc-alias":"^1.8.16","typescript":"^6.0.2","@types/node":"^25.5.0","@biomejs/biome":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.2.9_1774697938667_0.07669181480970644","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@cyanheads/openalex-mcp-server","version":"0.3.0","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","citation-analysis","literature-search","scholarly-data","scholarly-research","typescript"],"author":"cyanheads (https://github.com/cyanheads)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.3.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"3d9790b9477722e6d782d81e5fd81b29d46606ca","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.3.0.tgz","fileCount":42,"integrity":"sha512-/Viq4O0+1RziozZRYCF8ezcbdD6x7/kY26nfJA3pn1Dug8FiWflQcNN+a3ywgVWtOyd6WBHEs5mHxIWy+446BA==","signatures":[{"sig":"MEQCIAeqjzSVPzLoUz+gUxvLF7X0/PCXjvfisUNSbhpekz4hAiB5He/cD91ReQj8XT58z1hS0+Uz7WcRGv+SEHtgr/fWlA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":119662},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"3d9790b9477722e6d782d81e5fd81b29d46606ca","engines":{"bun":">=1.3.0","node":">=22.0.0"},"mcpName":"io.github.cyanheads/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","format":"biome check --write --unsafe .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","dev:http":"MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","dev:stdio":"MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-/Viq4O0+1RziozZRYCF8ezcbdD6x7/kY26nfJA3pn1Dug8FiWflQcNN+a3ywgVWtOyd6WBHEs5mHxIWy+446BA==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.2.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"tsx":"^4.21.0","ignore":"^7.0.5","vitest":"^4.1.2","depcheck":"^1.4.7","tsc-alias":"^1.8.16","typescript":"^6.0.2","@types/node":"^25.5.0","@biomejs/biome":"^2.4.9"},"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.3.0_1774713993757_0.38236025411859553","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@cyanheads/openalex-mcp-server","version":"0.3.1","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","citation-analysis","literature-search","scholarly-data","scholarly-research","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/openalex-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.3.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"3785a3f9456c9d683aa4f0f66d9dfb0b4228b0a3","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.3.1.tgz","fileCount":42,"integrity":"sha512-dH4MYQp2HAlibuwg2urR4OpBPOPmF6Pu0jQ+LTGv8qf9tJvCGLPzDzFHsjRDaYG0MnFmEiwtiD9FvQL72nsELw==","signatures":[{"sig":"MEQCIEwRVSvATj+nSr8NWmfN3q9RFGjfBRaF+xeqHsP7zY2yAiAwlRhicxfipZft8zwU+Z1+al7bb0IBvR/pIaOHtt9uXw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":120004},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"3785a3f9456c9d683aa4f0f66d9dfb0b4228b0a3","engines":{"bun":">=1.3.0","node":">=22.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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","format":"biome check --write --unsafe .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","dev:http":"MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","dev:stdio":"MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-dH4MYQp2HAlibuwg2urR4OpBPOPmF6Pu0jQ+LTGv8qf9tJvCGLPzDzFHsjRDaYG0MnFmEiwtiD9FvQL72nsELw==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.2.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"tsx":"^4.21.0","ignore":"^7.0.5","vitest":"^4.1.2","depcheck":"^1.4.7","tsc-alias":"^1.8.16","typescript":"^6.0.2","@types/node":"^25.5.0","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.3.1_1774893829676_0.7012284487265692","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@cyanheads/openalex-mcp-server","version":"0.3.2","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","citation-analysis","literature-search","scholarly-data","scholarly-research","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/openalex-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.3.2","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"85654ecd2ed8c92e579f7e76100eb4b09c682e61","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.3.2.tgz","fileCount":42,"integrity":"sha512-a1+wf6RGXQTFYV+vKVcmo+MCnn8FV5FBmEdX963t0pc+gGFfCV1ixVUQAg0SzRqVqpe8IWAq518RkuioSzOY4A==","signatures":[{"sig":"MEUCIGjJDwgI1h9kjc+DcG+8SNj3eo/bVocg+7oVqYsapRuhAiEAmTU+G/YIONP21uQK7AJGhGqifjv4Chdoq+klFM0b68k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127080},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"85654ecd2ed8c92e579f7e76100eb4b09c682e61","engines":{"bun":">=1.3.0","node":">=22.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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","format":"biome check --write --unsafe .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","dev:http":"MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","dev:stdio":"MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-a1+wf6RGXQTFYV+vKVcmo+MCnn8FV5FBmEdX963t0pc+gGFfCV1ixVUQAg0SzRqVqpe8IWAq518RkuioSzOY4A==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.3.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"tsx":"^4.21.0","ignore":"^7.0.5","vitest":"^4.1.4","depcheck":"^1.4.7","tsc-alias":"^1.8.16","typescript":"^6.0.2","@types/node":"^25.6.0","@biomejs/biome":"^2.4.12"},"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.3.2_1776224468969_0.29283702866012007","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@cyanheads/openalex-mcp-server","version":"0.3.3","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","citation-analysis","literature-search","scholarly-data","scholarly-research","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/openalex-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.3.3","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"300f745486dbcdc51cbb60d987bf379d347f10cc","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.3.3.tgz","fileCount":42,"integrity":"sha512-egUEWg9wFRLMnqg+BVuajT+Q1QVIMucX6OpjKjS1e5n2i3JK5yT2I7CSOMZFCCfSF/t+C27gUvIn5Jro5uQi5g==","signatures":[{"sig":"MEUCIAH//fXg2V0SoJeKLaGxsEhziHPZOn7wUNuWWuJfG0G9AiEAhyCcaCJLcMhJG4MYrN9g0o0bNQrE5gg5VArS0Au7HC4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116585},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"300f745486dbcdc51cbb60d987bf379d347f10cc","engines":{"bun":">=1.3.0","node":">=22.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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","format":"biome check --write --unsafe .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","dev:http":"MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","dev:stdio":"MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-egUEWg9wFRLMnqg+BVuajT+Q1QVIMucX6OpjKjS1e5n2i3JK5yT2I7CSOMZFCCfSF/t+C27gUvIn5Jro5uQi5g==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.3.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"tsx":"^4.21.0","ignore":"^7.0.5","vitest":"^4.1.4","depcheck":"^1.4.7","tsc-alias":"^1.8.16","typescript":"^6.0.2","@types/node":"^25.6.0","@biomejs/biome":"^2.4.12"},"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.3.3_1776256958333_0.12162966080868598","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@cyanheads/openalex-mcp-server","version":"0.4.0","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","citation-analysis","literature-search","scholarly-data","scholarly-research","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/openalex-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.4.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"10af38ee7262e0e2c0d0f33c13505a4d3e4c2460","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.4.0.tgz","fileCount":42,"integrity":"sha512-McGTb/G1tsrT8pPKKcvWna+nMRBAmQvTh/+mnlFIjf0GtcuuR3kXEvZGsIBH6HGlJd2OSOUi0REJkkBh8Ts4nQ==","signatures":[{"sig":"MEYCIQDeD5VWTB2cO7vZphvOln9Jc+wmkPC+tSWak99uKc6dZgIhAOlj8wbtSi3Q2QI2BJsc5xTp1KYcq6S2WgZQMBwGIfrV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117645},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"10af38ee7262e0e2c0d0f33c13505a4d3e4c2460","engines":{"bun":">=1.3.0","node":">=22.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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","format":"biome check --write --unsafe .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","dev:http":"MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","dev:stdio":"MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-McGTb/G1tsrT8pPKKcvWna+nMRBAmQvTh/+mnlFIjf0GtcuuR3kXEvZGsIBH6HGlJd2OSOUi0REJkkBh8Ts4nQ==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.5.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"tsx":"^4.21.0","ignore":"^7.0.5","vitest":"^4.1.4","depcheck":"^1.4.7","tsc-alias":"^1.8.16","typescript":"^6.0.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.12"},"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.4.0_1776738744329_0.12856063059957612","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@cyanheads/openalex-mcp-server","version":"0.5.0","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","citation-analysis","literature-search","scholarly-data","scholarly-research","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/openalex-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.5.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"2b85edddae259568249ede14b272fe2951847d04","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.5.0.tgz","fileCount":42,"integrity":"sha512-yF+dM8oK6mlrT/JHSOiArUFbNjHAy/M+wcvnW9otjeWON3bnOe1EaFAqAAnWWyVpXnI9u+zQ+mozBIHoZpfxXw==","signatures":[{"sig":"MEUCIQCmdCVkQIUmPeKAc85WdsLmy4N2mfKPDUaFULgqZWTkwQIgLYkARtie5UP6i9YSFhN1KKidmOYj2YF9Kmsiyl+bIw4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":119405},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"2b85edddae259568249ede14b272fe2951847d04","engines":{"bun":">=1.3.0","node":">=22.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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","format":"biome check --write --unsafe .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","dev:http":"MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","dev:stdio":"MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-yF+dM8oK6mlrT/JHSOiArUFbNjHAy/M+wcvnW9otjeWON3bnOe1EaFAqAAnWWyVpXnI9u+zQ+mozBIHoZpfxXw==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.6.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"tsx":"^4.21.0","ignore":"^7.0.5","vitest":"^4.1.5","depcheck":"^1.4.7","tsc-alias":"^1.8.16","typescript":"^6.0.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.13"},"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.5.0_1776964722656_0.17746953044405145","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@cyanheads/openalex-mcp-server","version":"0.6.0","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","citation-analysis","literature-search","scholarly-data","scholarly-research","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/openalex-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.6.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"55b0ea8c6399f53c601a03ba8c5bb88d4305d7c0","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.6.0.tgz","fileCount":42,"integrity":"sha512-CVtht8yRKqw+gB+uedVeEVgkW9p0REhsurHw4oW6uN2DspZCVexzOdB2y2AhKEVK5XHn9Ufi+56mjKP6iRweqw==","signatures":[{"sig":"MEYCIQChPDfMEtu6mMgQlwqJpjD7eVlJYpzTrfgTsGIqN+kNlAIhANqh5xpDAFCtwe01QiB5nLXX1HCG+NFpfY79+3lYs5VE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":120758},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"55b0ea8c6399f53c601a03ba8c5bb88d4305d7c0","engines":{"bun":">=1.3.0","node":">=22.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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","format":"biome check --write --unsafe .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","dev:http":"MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","dev:stdio":"MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","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","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-CVtht8yRKqw+gB+uedVeEVgkW9p0REhsurHw4oW6uN2DspZCVexzOdB2y2AhKEVK5XHn9Ufi+56mjKP6iRweqw==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.6.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"tsx":"^4.21.0","ignore":"^7.0.5","vitest":"^4.1.5","depcheck":"^1.4.7","tsc-alias":"^1.8.16","typescript":"^6.0.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.13"},"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.6.0_1777042998801_0.49949217677058755","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@cyanheads/openalex-mcp-server","version":"0.6.1","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","citation-analysis","literature-search","scholarly-data","scholarly-research","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/openalex-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.6.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"98c4b0b1d38490534417aedc6df6edd754958239","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.6.1.tgz","fileCount":42,"integrity":"sha512-cXxQp3rOTknKxWQL6jdzRaxW64UTRJOvilF8C8i+vKTMVkJkjn/uTy/1S/0rIyzE1xBy1VjaeGgO+ES6O9D83w==","signatures":[{"sig":"MEUCICb3ZIl6YPFubbdmqIjz8KqdUMqmUhfRlz4ZQioydE/3AiEA3fG91a8BirOYamZXYciu/0WNaE2aQeL2Wo6NprPLjJk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":120851},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"98c4b0b1d38490534417aedc6df6edd754958239","engines":{"bun":">=1.3.0","node":">=22.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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","format":"biome check --write --unsafe .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","dev:http":"MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","dev:stdio":"MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","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","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-cXxQp3rOTknKxWQL6jdzRaxW64UTRJOvilF8C8i+vKTMVkJkjn/uTy/1S/0rIyzE1xBy1VjaeGgO+ES6O9D83w==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"tsx":"^4.21.0","ignore":"^7.0.5","vitest":"^4.1.5","depcheck":"^1.4.7","tsc-alias":"^1.8.16","typescript":"^6.0.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.13"},"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.6.1_1777044853250_0.029726937719311675","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@cyanheads/openalex-mcp-server","version":"0.6.2","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","citation-analysis","literature-search","scholarly-data","scholarly-research","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/openalex-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.6.2","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"ad44cb0192a6de19c52c40039d7d6ee107e39b0f","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.6.2.tgz","fileCount":42,"integrity":"sha512-DSFw3BryHbmHbcmVn77OhibugxWn5kTpbLCg6NHu2CuthScj6pDEyaIAA//oyFl4an++rc87dIKTKCayNiHjsg==","signatures":[{"sig":"MEQCIDKVBVTpz4DoslNv3kAWuCATZquEUeIRoLqr6wOJQ2jGAiBHIBCOI+RC7UvXKezoGPedLmxnLFjvu0qaTlVn0nPGag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121184},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"ad44cb0192a6de19c52c40039d7d6ee107e39b0f","engines":{"bun":">=1.3.0","node":">=22.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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","format":"biome check --write --unsafe .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","dev:http":"MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","dev:stdio":"MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","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","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-DSFw3BryHbmHbcmVn77OhibugxWn5kTpbLCg6NHu2CuthScj6pDEyaIAA//oyFl4an++rc87dIKTKCayNiHjsg==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.7.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"tsx":"^4.21.0","ignore":"^7.0.5","vitest":"^4.1.5","depcheck":"^1.4.7","tsc-alias":"^1.8.16","typescript":"^6.0.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.13"},"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.6.2_1777168445114_0.5627917851034163","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"@cyanheads/openalex-mcp-server","version":"0.6.3","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","citation-analysis","literature-search","scholarly-data","scholarly-research","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/openalex-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.6.3","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"a3134eee2142908fab3697160c46a2b82df33674","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.6.3.tgz","fileCount":42,"integrity":"sha512-n+ZbdCa0nEc8JrWXAtvL70PCznS8Yu4xC5jjZuseSfzxvKsjEDYKStr1QFrdo+IBkZ5mQh71QUDLJRIiQotfFA==","signatures":[{"sig":"MEQCIGdfoTD+h+ZZRxEUIEzRPthranbp4F+XrBcHpunDCoMqAiA0VRSYhpX7eh9nxjj0535wHGB/7HrRFRXSnXM1LpvVCg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":135082},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"a3134eee2142908fab3697160c46a2b82df33674","engines":{"bun":">=1.3.0","node":">=22.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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","format":"biome check --write --unsafe .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","dev:http":"MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","dev:stdio":"MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","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","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-n+ZbdCa0nEc8JrWXAtvL70PCznS8Yu4xC5jjZuseSfzxvKsjEDYKStr1QFrdo+IBkZ5mQh71QUDLJRIiQotfFA==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.7.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"tsx":"^4.21.0","ignore":"^7.0.5","vitest":"^4.1.5","depcheck":"^1.4.7","tsc-alias":"^1.8.16","typescript":"^6.0.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.13"},"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.6.3_1777232126065_0.04299373758163516","host":"s3://npm-registry-packages-npm-production"}},"0.6.4":{"name":"@cyanheads/openalex-mcp-server","version":"0.6.4","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","citation-analysis","literature-search","scholarly-data","scholarly-research","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/openalex-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.6.4","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"7651e2ede3cb21b127ecab5737b59212a6e32683","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.6.4.tgz","fileCount":42,"integrity":"sha512-oGnIh7cRZLVL1R02om/8wcAuud1SlB4d+5+CkRMkRjxlQdbvXMGZI0Jmrlx383qdp36azh0PZx+uY8CCuNWkJQ==","signatures":[{"sig":"MEYCIQCeBYTzCsHygXeLVMgFmfNMV1zlK7aX1kCYA2yl8sVyegIhAO60QNR58EJBFApoWW3mWFlk1xxCfS/Y7LspNJTl1iKo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":135797},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"7651e2ede3cb21b127ecab5737b59212a6e32683","engines":{"bun":">=1.3.0","node":">=22.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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","format":"biome check --write --unsafe .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","dev:http":"MCP_TRANSPORT_TYPE=http bun --watch src/index.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","dev:stdio":"MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","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","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-oGnIh7cRZLVL1R02om/8wcAuud1SlB4d+5+CkRMkRjxlQdbvXMGZI0Jmrlx383qdp36azh0PZx+uY8CCuNWkJQ==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.7.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"tsx":"^4.21.0","ignore":"^7.0.5","vitest":"^4.1.5","depcheck":"^1.4.7","tsc-alias":"^1.8.16","typescript":"^6.0.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.13"},"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.6.4_1777312905672_0.3242241525609624","host":"s3://npm-registry-packages-npm-production"}},"0.6.5":{"name":"@cyanheads/openalex-mcp-server","version":"0.6.5","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","citation-analysis","literature-search","scholarly-data","scholarly-research","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/openalex-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.6.5","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"36585be86c50cb061e9c80922199885052ec5467","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.6.5.tgz","fileCount":42,"integrity":"sha512-f9enpdsMAJgRd7eWTR9i+7ksHj5o4Wnq289VEPfxlZOCSmkyk1JNEAT/WmOpUU9naJGrsfxLtK9DZSfa/SgPDA==","signatures":[{"sig":"MEUCIFusDD8pc8//wGuygATvghvjdEVlQOf3A8NnpRaOYgu4AiEA1mLz+7yqt/zPwsvByVVo2zuEzUIreL+0EVdNqn6Yg+Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":152242},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"36585be86c50cb061e9c80922199885052ec5467","engines":{"bun":">=1.3.0","node":">=22.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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","format":"biome check --write --unsafe .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","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","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-f9enpdsMAJgRd7eWTR9i+7ksHj5o4Wnq289VEPfxlZOCSmkyk1JNEAT/WmOpUU9naJGrsfxLtK9DZSfa/SgPDA==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.8.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"tsx":"^4.21.0","ignore":"^7.0.5","vitest":"^4.1.5","depcheck":"^1.4.7","tsc-alias":"^1.8.16","typescript":"^6.0.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.13"},"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.6.5_1777538718850_0.47764178105068034","host":"s3://npm-registry-packages-npm-production"}},"0.6.6":{"name":"@cyanheads/openalex-mcp-server","version":"0.6.6","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","citation-analysis","literature-search","scholarly-data","scholarly-research","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/openalex-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.6.6","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"fb219cbb89a086f636f8588f58bffa47ca0b9f1f","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.6.6.tgz","fileCount":42,"integrity":"sha512-fHUhnm6iri5eTNNfdPuidAdOd2Gg4RPbLeIlKsncR8f0UnWp9RdpUcEvutO6CIcTS1pVuPIzpPk3COnP2Oy5NA==","signatures":[{"sig":"MEYCIQDuPPzQVANjSVccyUyvDfdvJ7BDID6nqJQ5/2WiMnPWVwIhAMWcixnnTTm1CT3u2lNDDH7ymE1V6ZQrdTC1NLnEjlgg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":152508},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"fb219cbb89a086f636f8588f58bffa47ca0b9f1f","engines":{"bun":">=1.3.0","node":">=22.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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","format":"biome check --write --unsafe .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","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","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-fHUhnm6iri5eTNNfdPuidAdOd2Gg4RPbLeIlKsncR8f0UnWp9RdpUcEvutO6CIcTS1pVuPIzpPk3COnP2Oy5NA==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.8.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"tsx":"^4.21.0","ignore":"^7.0.5","vitest":"^4.1.5","depcheck":"^1.4.7","tsc-alias":"^1.8.16","typescript":"^6.0.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.13"},"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.6.6_1777696931413_0.4835574345777458","host":"s3://npm-registry-packages-npm-production"}},"0.6.7":{"name":"@cyanheads/openalex-mcp-server","version":"0.6.7","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","citation-analysis","literature-search","scholarly-data","scholarly-research","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/openalex-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.6.7","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"7f9ec36c9509eb0e3468c3a1b23b10634cc9c25c","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.6.7.tgz","fileCount":42,"integrity":"sha512-0BdlWZL118YPzjpuarZNqAiabACW9FFxqi+w0h8se4lXv/f5Ikufv2noE9MGX3/aJHmhZyZVqCQw2+qUxRxSbQ==","signatures":[{"sig":"MEQCIEF0YZ4OfYE+kFj0V98VCn1V+ZnE4H7PWq53tT01IIXqAiAvPYcFYMH08sLDhwabMbSucDa2ZICw4bMkG2QiYqTOqA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":152509},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"7f9ec36c9509eb0e3468c3a1b23b10634cc9c25c","engines":{"bun":">=1.3.0","node":">=22.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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","format":"biome check --write --unsafe .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","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","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-0BdlWZL118YPzjpuarZNqAiabACW9FFxqi+w0h8se4lXv/f5Ikufv2noE9MGX3/aJHmhZyZVqCQw2+qUxRxSbQ==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.8.12"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"tsx":"^4.21.0","ignore":"^7.0.5","vitest":"^4.1.5","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.14"},"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.6.7_1777793581065_0.23452068245694835","host":"s3://npm-registry-packages-npm-production"}},"0.6.8":{"name":"@cyanheads/openalex-mcp-server","version":"0.6.8","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","citation-analysis","literature-search","scholarly-data","scholarly-research","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/openalex-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.6.8","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"2cc0b0a44f28f633ba273486b81c36dbe044784a","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.6.8.tgz","fileCount":42,"integrity":"sha512-Mb3zg7lTh2hZd1B6qFSG9J9oh/ECyzhodd4sDg34cPybc1EHEoHV0m2obG9iKmlUeM7Ixf4LjKuxJUDAZ1/6yQ==","signatures":[{"sig":"MEYCIQD8lVyoeLqX6ww60WWwaLB/7TRQfIuUvLdPbUFn0xK0/gIhAPCE/Zz9ZuXajoAzvlO/HWuZhdvGD5ux7SaqX/Q7+d0c","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":161931},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"2cc0b0a44f28f633ba273486b81c36dbe044784a","engines":{"bun":">=1.3.0","node":">=22.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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","format":"biome check --write --unsafe .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","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","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-Mb3zg7lTh2hZd1B6qFSG9J9oh/ECyzhodd4sDg34cPybc1EHEoHV0m2obG9iKmlUeM7Ixf4LjKuxJUDAZ1/6yQ==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.8.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"tsx":"^4.21.0","ignore":"^7.0.5","vitest":"^4.1.5","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.6.0","@biomejs/biome":"^2.4.14"},"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.6.8_1778017997440_0.03486568864537953","host":"s3://npm-registry-packages-npm-production"}},"0.6.9":{"name":"@cyanheads/openalex-mcp-server","version":"0.6.9","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","citation-analysis","literature-search","scholarly-data","scholarly-research","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/openalex-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.6.9","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"a68f6034477443ea38324bcbff353a253bee45fc","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.6.9.tgz","fileCount":42,"integrity":"sha512-iQE7mw8WFtjC/iGecSP0F/5D0bk7ii7l1oiMO5lwWHmdPNfU2ItRFjuLRBKvig35jaUBLFjAS0JS5Jb+LF1e8Q==","signatures":[{"sig":"MEYCIQCbsGCPPUz9jO01IuFUTYOp1RMo6DkCpaq0EALie1eXZgIhAM6GfH9faQf5Pai0/YJJ2JZ+WsDsA0IjqLGaOEpvrujD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":162442},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"a68f6034477443ea38324bcbff353a253bee45fc","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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","format":"biome check --write --unsafe .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","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","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-iQE7mw8WFtjC/iGecSP0F/5D0bk7ii7l1oiMO5lwWHmdPNfU2ItRFjuLRBKvig35jaUBLFjAS0JS5Jb+LF1e8Q==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.8.19"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"tsx":"^4.21.0","ignore":"^7.0.5","vitest":"^4.1.5","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.6.2","@biomejs/biome":"^2.4.14"},"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.6.9_1778244768826_0.3275411776142465","host":"s3://npm-registry-packages-npm-production"}},"0.6.10":{"name":"@cyanheads/openalex-mcp-server","version":"0.6.10","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","citation-analysis","literature-search","scholarly-data","scholarly-research","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/openalex-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.6.10","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"3d736221aab21e0a737fd926ca21d81bd0ed972a","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.6.10.tgz","fileCount":42,"integrity":"sha512-YMz7Ex57NLrxXPwz4uPXKHrxkMyEeflzVkDZNYeHtHkK8XqEwLMKYNFfcfc33pYqYrXn+w58xBCaBNTkWTR8XA==","signatures":[{"sig":"MEYCIQDUfE4PCOIbjC4MvM6PErGFWMitfLGy9pyYY6Tsch3PvgIhAIR0mpTgFHPT0jS+lTFxV1GJ1i6rYxek1VSs3DCstgAX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":162932},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"3d736221aab21e0a737fd926ca21d81bd0ed972a","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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","format":"biome check --write --unsafe .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","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","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-YMz7Ex57NLrxXPwz4uPXKHrxkMyEeflzVkDZNYeHtHkK8XqEwLMKYNFfcfc33pYqYrXn+w58xBCaBNTkWTR8XA==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"tsx":"^4.22.0","ignore":"^7.0.5","vitest":"^4.1.6","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.8.0","@biomejs/biome":"^2.4.15"},"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.6.10_1778956790861_0.12360673882954831","host":"s3://npm-registry-packages-npm-production"}},"0.6.11":{"name":"@cyanheads/openalex-mcp-server","version":"0.6.11","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","citation-analysis","literature-search","scholarly-data","scholarly-research","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/openalex-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.6.11","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"22f7164a4be646a4c4738064d16fc8274fdc72e7","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.6.11.tgz","fileCount":54,"integrity":"sha512-p/XVygpVnE2TsHhMlx7Jmky26Tw2yF8yFyBxyt0iYFUXuoIPV1TaMX6FUSowbQoc29I9Z4liCegdDoMMSz1Evg==","signatures":[{"sig":"MEUCIQDFulaOKZO8LHlUzjPvKn7UoIdcVk2wsIVmcvoLkIaFBwIgQS/JcqCaOiXgWIJVTe5gO16NVH292gvviVAwpJvrWTQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193233},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"22f7164a4be646a4c4738064d16fc8274fdc72e7","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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","format":"biome check --write --unsafe .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","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","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-p/XVygpVnE2TsHhMlx7Jmky26Tw2yF8yFyBxyt0iYFUXuoIPV1TaMX6FUSowbQoc29I9Z4liCegdDoMMSz1Evg==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"tsx":"^4.22.3","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.15"},"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.6.11_1779339749606_0.6534780998396115","host":"s3://npm-registry-packages-npm-production"}},"0.6.12":{"name":"@cyanheads/openalex-mcp-server","version":"0.6.12","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","citation-analysis","literature-search","scholarly-data","scholarly-research","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/openalex-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.6.12","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"25f6fb93d7d114d1e7c35fe2dcdb996273a34167","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.6.12.tgz","fileCount":54,"integrity":"sha512-OUnwTzaz1uYlML+AkZlQ/HN3pARCdUEufXTUxr9Q45RT31fQVXAqNAs+GCG42NB8ypwNdt38oZNGDqKqxohQ1w==","signatures":[{"sig":"MEUCIQCZltCJAOl3ttsaBNJI9fBMvdFkTOOhCcDBrNAPYUjYIAIgIl+pJO04Z+OSPEFXarnnNbklH0tYlthPSb+mrBSrJ18=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198771},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"25f6fb93d7d114d1e7c35fe2dcdb996273a34167","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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","format":"biome check --write --unsafe .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","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","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-OUnwTzaz1uYlML+AkZlQ/HN3pARCdUEufXTUxr9Q45RT31fQVXAqNAs+GCG42NB8ypwNdt38oZNGDqKqxohQ1w==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"tsx":"^4.22.3","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.15"},"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.6.12_1779344567333_0.1342910361219687","host":"s3://npm-registry-packages-npm-production"}},"0.6.13":{"name":"@cyanheads/openalex-mcp-server","version":"0.6.13","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","citation-analysis","literature-search","scholarly-data","scholarly-research","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/openalex-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.6.13","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"56c7831d6413d269f487f211f0dc0e79d031829b","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.6.13.tgz","fileCount":54,"integrity":"sha512-+VtESJQse3kJUidavvqRw8eVd894TQz9LrxM9bu7956+4zoFJcXBwoXmOiTyk58ZOc+naXPgUoqvaM/3Ktut3Q==","signatures":[{"sig":"MEUCIAJaxOby6ptM0Te2SHKMpnDddS/+FSAr7c0S9H5hOFlyAiEArFIhE6kZT8R+lhOLYTrSMMuZ8whAugwLkN5NAaSg4k4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":203880},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"56c7831d6413d269f487f211f0dc0e79d031829b","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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/@cyanheads/openalex-mcp-server.mcpb","format":"biome check --write --unsafe .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun 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":"bun scripts/lint-packaging.ts","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-+VtESJQse3kJUidavvqRw8eVd894TQz9LrxM9bu7956+4zoFJcXBwoXmOiTyk58ZOc+naXPgUoqvaM/3Ktut3Q==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"tsx":"^4.22.3","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.15"},"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.6.13_1779539243490_0.8827570786840726","host":"s3://npm-registry-packages-npm-production"}},"0.6.14":{"name":"@cyanheads/openalex-mcp-server","version":"0.6.14","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","citation-analysis","literature-search","scholarly-data","scholarly-research","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/openalex-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.6.14","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"2493bf847153075f15139b1a21f96c64ffc52ba3","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.6.14.tgz","fileCount":54,"integrity":"sha512-hjcyfwRLKla+mRc+vlF+GFF7khQBegjdXP67/r9ZaOkNVztrdvGN2wJRviLmSDoQRVty4P8jbPWCTCcR+SqN/Q==","signatures":[{"sig":"MEQCIG2ySpKAEHwoWJy2VfrfBrOmdJYQc21GMOEDnzQqysXVAiAT7qUA/5/x0d0UqTHIsfBHbOCYmULdlM33MUWQZIRwCA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":205113},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"2493bf847153075f15139b1a21f96c64ffc52ba3","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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/openalex-mcp-server.mcpb","format":"biome check --write --unsafe .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun 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":"bun scripts/lint-packaging.ts","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-hjcyfwRLKla+mRc+vlF+GFF7khQBegjdXP67/r9ZaOkNVztrdvGN2wJRviLmSDoQRVty4P8jbPWCTCcR+SqN/Q==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.11","devDependencies":{"tsx":"^4.22.3","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.15"},"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.6.14_1779700111968_0.7445123518572916","host":"s3://npm-registry-packages-npm-production"}},"0.6.15":{"name":"@cyanheads/openalex-mcp-server","version":"0.6.15","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","bun","citation-analysis","literature-search","scholarly-data","scholarly-research","stdio","streamable-http","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/openalex-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.6.15","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"25c8776fd692b3b758bf3e1d1a494026f959bc26","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.6.15.tgz","fileCount":54,"integrity":"sha512-h8GDD8aT7j4InSOufgjzmdJI8J7eJDbxANJ8f0IQ5RwmSz+o5AXvoYMwFT1b37TCBO8auKl7j88Z9RNbc7On/A==","signatures":[{"sig":"MEYCIQDgATnKifHs40B4kGOh9K+gPj6s1E3giWOXacxb8ZPqngIhAPe0p923XARfdVObtrZlptVzxZ/CRJXTWvm+BPi89BeH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":206658},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"25c8776fd692b3b758bf3e1d1a494026f959bc26","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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/openalex-mcp-server.mcpb","format":"biome check --write --unsafe .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun 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":"bun scripts/lint-packaging.ts","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-h8GDD8aT7j4InSOufgjzmdJI8J7eJDbxANJ8f0IQ5RwmSz+o5AXvoYMwFT1b37TCBO8auKl7j88Z9RNbc7On/A==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & 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":{"tsx":"^4.22.3","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/openalex-mcp-server_0.6.15_1780032305601_0.12299639750337632","host":"s3://npm-registry-packages-npm-production"}},"0.6.16":{"name":"@cyanheads/openalex-mcp-server","version":"0.6.16","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","bun","citation-analysis","literature-search","scholarly-data","scholarly-research","stdio","streamable-http","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/openalex-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.6.16","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"8e986980bfafb67c96f44dc79e0d77145b0f5afe","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.6.16.tgz","fileCount":55,"integrity":"sha512-9tXvIuvTBxgXP3TqmyTuL+VuJeUINQx3ilUoO9RKBifqGKSE/+OBFhfS0FeJ6L2lTSznJSwRxNj/ynjw4hxcLg==","signatures":[{"sig":"MEUCIEgCIf26LKO0WxJ+tioTm1ZrbpaF4ccDuLsKMLFF8D7dAiEAjvnwj1usqN/Q/JRsM38oNNknxaLP/AqbI1N4qk79cGQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":232705},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"8e986980bfafb67c96f44dc79e0d77145b0f5afe","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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/openalex-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun 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 .","lint:packaging":"bun scripts/lint-packaging.ts","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-9tXvIuvTBxgXP3TqmyTuL+VuJeUINQx3ilUoO9RKBifqGKSE/+OBFhfS0FeJ6L2lTSznJSwRxNj/ynjw4hxcLg==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & 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":{"tsx":"^4.22.3","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/openalex-mcp-server_0.6.16_1780132353713_0.8559670876666798","host":"s3://npm-registry-packages-npm-production"}},"0.6.17":{"name":"@cyanheads/openalex-mcp-server","version":"0.6.17","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","bun","citation-analysis","literature-search","scholarly-data","scholarly-research","stdio","streamable-http","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/openalex-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.6.17","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"c67a3ec236c6b11af7dfd2e2489b9eff0e4e8605","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.6.17.tgz","fileCount":55,"integrity":"sha512-1z4pdNz0qu1syd9qZTh1wg2+pg/rzQd/M1UTXMok8PA1qu6KFMJ22YyCF1v09Bw/lENCnhI9j39gcpaInQPpNw==","signatures":[{"sig":"MEUCIF8iE0R3bW27WT5UB8oUX/xEg1NFE07wPq8329KqIKztAiEA8XdKQob2bGu3kiHfPxQGJlcyj8DgOAT6Y55RbhSZB5k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":239470},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"c67a3ec236c6b11af7dfd2e2489b9eff0e4e8605","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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/openalex-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun 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 .","lint:packaging":"bun scripts/lint-packaging.ts","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-1z4pdNz0qu1syd9qZTh1wg2+pg/rzQd/M1UTXMok8PA1qu6KFMJ22YyCF1v09Bw/lENCnhI9j39gcpaInQPpNw==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & 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/openalex-mcp-server_0.6.17_1780300208317_0.48258100932935766","host":"s3://npm-registry-packages-npm-production"}},"0.6.18":{"name":"@cyanheads/openalex-mcp-server","version":"0.6.18","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","bun","citation-analysis","literature-search","scholarly-data","scholarly-research","stdio","streamable-http","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/openalex-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.6.18","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"c94029ace1cdfd16ce08ff9f026c1b71ae5b923a","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.6.18.tgz","fileCount":55,"integrity":"sha512-Ajco2HOSlDiGEV9oaVSHFKznZfjlA3/dTFBDuZyQP7r6ELOjxYh5ZKzdd7R7KzTty5BeaJjnJRVpeYBpcWEqRQ==","signatures":[{"sig":"MEUCIQDuc/79WFhmR1m9ReU8FjqFggGACrRiBvzOmfkKDeml2wIgFAJw3TTx0/C71obCWmGnGkFlLo0f++LBdRWh1E79sJ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":240545},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"c94029ace1cdfd16ce08ff9f026c1b71ae5b923a","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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/openalex-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun 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 .","lint:packaging":"bun scripts/lint-packaging.ts","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-Ajco2HOSlDiGEV9oaVSHFKznZfjlA3/dTFBDuZyQP7r6ELOjxYh5ZKzdd7R7KzTty5BeaJjnJRVpeYBpcWEqRQ==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & 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.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/openalex-mcp-server_0.6.18_1780309232540_0.6145408493675426","host":"s3://npm-registry-packages-npm-production"}},"0.6.19":{"name":"@cyanheads/openalex-mcp-server","version":"0.6.19","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","bun","citation-analysis","literature-search","scholarly-data","scholarly-research","stdio","streamable-http","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/openalex-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.6.19","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"59f97f4894a22530916d910ac03be0ae31e0588a","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.6.19.tgz","fileCount":55,"integrity":"sha512-BPmkteV60okII1SMYEZrB9X8tni4wP5h97g8NhUYYqDjwRr8EePcoRPIV9LIw1N4DZT30HVUSgA3sWkOonDYMg==","signatures":[{"sig":"MEUCIQC3HwrQQniyu31/SIZT1IaHbc5TPkUCIqYNxXD7PNX04QIgJmYE9qcX3Gsxx8f3VcTk4YfcdIf1jYT7VoCK3xrDhpg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":242382},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"59f97f4894a22530916d910ac03be0ae31e0588a","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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/openalex-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun 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 .","lint:packaging":"bun scripts/lint-packaging.ts","release:github":"bun scripts/release-github.ts","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-BPmkteV60okII1SMYEZrB9X8tni4wP5h97g8NhUYYqDjwRr8EePcoRPIV9LIw1N4DZT30HVUSgA3sWkOonDYMg==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & 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/openalex-mcp-server_0.6.19_1780411298961_0.4062584830930567","host":"s3://npm-registry-packages-npm-production"}},"0.6.20":{"name":"@cyanheads/openalex-mcp-server","version":"0.6.20","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","bun","citation-analysis","literature-search","scholarly-data","scholarly-research","stdio","streamable-http","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/openalex-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.6.20","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"659f787701c852b50c07a7d89df734c55f71843c","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.6.20.tgz","fileCount":55,"integrity":"sha512-B0qpfNjiVHfPPRU3LCzbPxVcIWLwuxpFViI/+5iJUDr9Mw3Tkzjri4axOr0bvAvwMQY4oA32srwjTocI32/i4w==","signatures":[{"sig":"MEUCIB0BslgiEFgEaxdByw0WXkzCnesGeVewDR+O4LxY+j6cAiEAuevS2gStjU5D1QFv6mUYCP6w/La/m/ne39KGaP59y6k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":245245},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"659f787701c852b50c07a7d89df734c55f71843c","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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/openalex-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun 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 .","lint:packaging":"bun scripts/lint-packaging.ts","release:github":"bun scripts/release-github.ts","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-B0qpfNjiVHfPPRU3LCzbPxVcIWLwuxpFViI/+5iJUDr9Mw3Tkzjri4axOr0bvAvwMQY4oA32srwjTocI32/i4w==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & 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/openalex-mcp-server_0.6.20_1780560031610_0.8020549080346089","host":"s3://npm-registry-packages-npm-production"}},"0.6.21":{"name":"@cyanheads/openalex-mcp-server","version":"0.6.21","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","bun","citation-analysis","literature-search","scholarly-data","scholarly-research","stdio","streamable-http","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/openalex-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.6.21","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"97102dcde355123f902df4e2ed91fd4971ee3b13","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.6.21.tgz","fileCount":64,"integrity":"sha512-fI2hUuIQsdQY1JVP//H7wi+8pZOYlPR0N2MzKYDQHSNhfswz9Dkg4yYAdqgRYkYUOJXl8tNTO2rDo4+Wi4v81g==","signatures":[{"sig":"MEYCIQC6xDc5PwzdBEgWsQNO1ekycnfAsGgZ3QvVssvkKO+17gIhAKyFGCqVRm0bGWDwNjEWdCrCsFdPAJyvRefnCw8D+S3N","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":288495},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"97102dcde355123f902df4e2ed91fd4971ee3b13","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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/openalex-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun 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 .","lint:packaging":"bun scripts/lint-packaging.ts","release:github":"bun scripts/release-github.ts","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check","generate:field-catalog":"bun scripts/generate-field-catalog.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-fI2hUuIQsdQY1JVP//H7wi+8pZOYlPR0N2MzKYDQHSNhfswz9Dkg4yYAdqgRYkYUOJXl8tNTO2rDo4+Wi4v81g==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & 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.2","@biomejs/biome":"^2.4.16"},"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.6.21_1780903667958_0.06812074852950789","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@cyanheads/openalex-mcp-server","version":"0.7.0","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","bun","citation-analysis","literature-search","scholarly-data","scholarly-research","stdio","streamable-http","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/openalex-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.7.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"16465cd8b7c4c7725900bccf955b15fba38f6d6d","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.7.0.tgz","fileCount":64,"integrity":"sha512-8C62j3Ie51XTe/CSBeVnmuKLpnim/GeAEhyGUVHcpJmvHkIoakZ4ujy0EBhsOcMfyJ1gVkuEfST5zqnwCyU7Nw==","signatures":[{"sig":"MEYCIQCBNfHxTYNMO5fhMQH/VJanpx8AE8Q5GmRgXS7YlfRy9AIhAJYH+C0LwYa0wfp1KEb8uR7k/cLoVPUPaeC5kNzFPEBo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":289339},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"16465cd8b7c4c7725900bccf955b15fba38f6d6d","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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/openalex-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun 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 .","lint:packaging":"bun scripts/lint-packaging.ts","release:github":"bun scripts/release-github.ts","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check","generate:field-catalog":"bun scripts/generate-field-catalog.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-8C62j3Ie51XTe/CSBeVnmuKLpnim/GeAEhyGUVHcpJmvHkIoakZ4ujy0EBhsOcMfyJ1gVkuEfST5zqnwCyU7Nw==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & 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.2","@biomejs/biome":"^2.4.16"},"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.7.0_1780910400351_0.8241982559127259","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@cyanheads/openalex-mcp-server","version":"0.7.1","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","bun","citation-analysis","literature-search","scholarly-data","scholarly-research","stdio","streamable-http","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/openalex-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.7.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"7206d21178516725d2dcad15ec56c97319f18b71","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.7.1.tgz","fileCount":64,"integrity":"sha512-U6IHx19r2N71Hvb7Nv1kJGsnQDkXoC1ktvcjg6pMyhUiFnogQqmenL+mkXQr62uhmtmJrdNVMMDoFD5BfYJtHQ==","signatures":[{"sig":"MEQCICjzyjLnSsb1Uy5BXckLXz5zE2zCVDLOP9C7GUPmp6NqAiBXtNeGVfw10yONFXYwSyB9poJSSMRvIJPT4qvwOqE7wg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":293071},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"7206d21178516725d2dcad15ec56c97319f18b71","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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/openalex-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/openalex-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun 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 .","lint:packaging":"bun scripts/lint-packaging.ts","release:github":"bun scripts/release-github.ts","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check","generate:field-catalog":"bun scripts/generate-field-catalog.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-U6IHx19r2N71Hvb7Nv1kJGsnQDkXoC1ktvcjg6pMyhUiFnogQqmenL+mkXQr62uhmtmJrdNVMMDoFD5BfYJtHQ==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & 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.4.16"},"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.7.1_1781212128967_0.6807268304974152","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"@cyanheads/openalex-mcp-server","version":"0.7.2","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","bun","citation-analysis","literature-search","scholarly-data","scholarly-research","stdio","streamable-http","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/openalex-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.7.2","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"df87107e0b0018775d524293b785a072d12aeb44","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.7.2.tgz","fileCount":64,"integrity":"sha512-D/GEqVT/cft/XcdCnFb/L6gDqzhlGfKrJ/92qku0Jyb2I4pb8+DowkqCa3fgCPg1/gXPD/kvraftesIyusPk4g==","signatures":[{"sig":"MEUCIQDZcdwO7wBJisDDlGLUNO6ISyTKGGFEHWutotJrrQwkIwIgSgAcP5DhJGE2BoD45K66ofQxgK9U1SqUFmiYRAyiPcI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":293070},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"df87107e0b0018775d524293b785a072d12aeb44","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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/openalex-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/openalex-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun 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 .","lint:packaging":"bun scripts/lint-packaging.ts","release:github":"bun scripts/release-github.ts","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check","generate:field-catalog":"bun scripts/generate-field-catalog.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-D/GEqVT/cft/XcdCnFb/L6gDqzhlGfKrJ/92qku0Jyb2I4pb8+DowkqCa3fgCPg1/gXPD/kvraftesIyusPk4g==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & 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/openalex-mcp-server_0.7.2_1781976634433_0.7272965997995651","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"name":"@cyanheads/openalex-mcp-server","version":"0.7.3","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","bun","citation-analysis","literature-search","scholarly-data","scholarly-research","stdio","streamable-http","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/openalex-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.7.3","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"54f4112f42c04a89e65230ac6099e08a55a25484","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.7.3.tgz","fileCount":64,"integrity":"sha512-qvwzojn+qwwqcQmKNYl982hZ8vnrzXWVQPc3kY4QdCUL7hkt4E8+V5YJI93Tt2Z+i8FC+yRT9RwefHQJso4lfQ==","signatures":[{"sig":"MEUCIDOVqwfuRVe3rtg/9eH0GJFzSuNy2HS99CbXYkZFscbRAiEAuk5s9Hcz6rxkmb/+01dAK+nMdys5+1d96iJ7p4yEkG0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":296994},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"54f4112f42c04a89e65230ac6099e08a55a25484","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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/openalex-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/openalex-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun 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 .","lint:packaging":"bun scripts/lint-packaging.ts","release:github":"bun scripts/release-github.ts","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check","generate:field-catalog":"bun scripts/generate-field-catalog.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-qvwzojn+qwwqcQmKNYl982hZ8vnrzXWVQPc3kY4QdCUL7hkt4E8+V5YJI93Tt2Z+i8FC+yRT9RwefHQJso4lfQ==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & 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.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","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.7.3_1783657208481_0.7335271897329378","host":"s3://npm-registry-packages-npm-production"}},"0.7.4":{"name":"@cyanheads/openalex-mcp-server","version":"0.7.4","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","bun","citation-analysis","literature-search","scholarly-data","scholarly-research","stdio","streamable-http","typescript"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/openalex-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.7.4","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"2a35dd7e5d1ed0ec7ab6894ae60b710ab4be7a30","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.7.4.tgz","fileCount":64,"integrity":"sha512-jL0CYZ9fP3RfAmWvFqA8iSpt/jeu2WP2PAlYfDz0BJf31R4enpL/71M/DRToPbxdhrmw3wjAT74Tc/8uPqJdug==","signatures":[{"sig":"MEYCIQCTVphHcARyG4dOK9SvuW6EkrS+f2TV4zWfa8VvLPvv7QIhAPlHCMmosqWdXCMNxtvRx64sJ37gMxJhYDmSpotWj7lW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":308389},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"2a35dd7e5d1ed0ec7ab6894ae60b710ab4be7a30","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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/openalex-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/openalex-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun 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 .","lint:packaging":"bun scripts/lint-packaging.ts","release:github":"bun scripts/release-github.ts","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check","generate:field-catalog":"bun scripts/generate-field-catalog.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-jL0CYZ9fP3RfAmWvFqA8iSpt/jeu2WP2PAlYfDz0BJf31R4enpL/71M/DRToPbxdhrmw3wjAT74Tc/8uPqJdug==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & 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.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","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.7.4_1783659658046_0.5275571049516203","host":"s3://npm-registry-packages-npm-production"}},"0.7.5":{"name":"@cyanheads/openalex-mcp-server","version":"0.7.5","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","bun","citation-analysis","literature-search","scholarly-data","scholarly-research","stdio","streamable-http","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.7.5","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"92653e80bd4e55260662ff63f766985b380232ab","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.7.5.tgz","fileCount":64,"integrity":"sha512-w7YaeMRGKpgTp7cTrF911L7ddP5uSuoyEDACgLXpQU07KXqzj5GCe0bXinpcCllNQOXaAAz6OlUc4S7jrJ1XyQ==","signatures":[{"sig":"MEUCIQCADcpf3Jf4a98Jg0QLMxRLQXqyMhlpU0z6g5sYs/20HAIgd/Uch6EmFrpLLGHlWzNvxv7hBGWe6fUG5McSycXZd5o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":326727},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"92653e80bd4e55260662ff63f766985b380232ab","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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/openalex-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/openalex-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun 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 .","lint:packaging":"bun scripts/lint-packaging.ts","release:github":"bun scripts/release-github.ts","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check","generate:field-catalog":"bun scripts/generate-field-catalog.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-w7YaeMRGKpgTp7cTrF911L7ddP5uSuoyEDACgLXpQU07KXqzj5GCe0bXinpcCllNQOXaAAz6OlUc4S7jrJ1XyQ==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.11.0"},"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":"^7.0.2","@types/node":"^26.1.1","@biomejs/biome":"^2.5.5","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.7.5_1785104539529_0.7112416388424689","host":"s3://npm-registry-packages-npm-production"}},"0.7.6":{"name":"@cyanheads/openalex-mcp-server","version":"0.7.6","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","bun","citation-analysis","literature-search","scholarly-data","scholarly-research","stdio","streamable-http","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.7.6","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"cf314b8f48093cca7be37a1db5d1e1670f065a97","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.7.6.tgz","fileCount":72,"integrity":"sha512-kF9GPF+6PsncOapba3beh5UWwlpvCrxKYnev6vyN4G8uzWfiRJRCSWYzeWb9RQXSm/DrWqifaXmNhsGX7/4FzA==","signatures":[{"sig":"MEQCIGCsKlRSVFNaV+ilAvugAwmesw3ECfEZFizm0WB9AmyAAiAei/lzJvqmBMftVLp/jeryec+jXVCdH8ebREomSzT/Lg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":345283},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"cf314b8f48093cca7be37a1db5d1e1670f065a97","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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/openalex-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/openalex-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun 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 .","lint:packaging":"bun scripts/lint-packaging.ts","release:github":"bun scripts/release-github.ts","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check","generate:field-catalog":"bun scripts/generate-field-catalog.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-kF9GPF+6PsncOapba3beh5UWwlpvCrxKYnev6vyN4G8uzWfiRJRCSWYzeWb9RQXSm/DrWqifaXmNhsGX7/4FzA==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.11.0"},"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":"^7.0.2","@types/node":"^26.1.1","@biomejs/biome":"^2.5.5","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.7.6_1785106611295_0.513522667563381","host":"s3://npm-registry-packages-npm-production"}},"0.7.7":{"name":"@cyanheads/openalex-mcp-server","version":"0.7.7","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","bun","citation-analysis","literature-search","scholarly-data","scholarly-research","stdio","streamable-http","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.7.7","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"38b4a140a8e629a3f880f695bac31cf973ff4187","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.7.7.tgz","fileCount":72,"integrity":"sha512-MJCmG7y5h0jJu4kv/hD241xlUa9MarxoIhtp9qRuHsDaPjRQMJf6e7eupo6p9UwJ9vjvV6FGlJtSTCc72uL6lg==","signatures":[{"sig":"MEUCICgvXIViStu8ByIkAaT/SmtuW9fk7PD6Zf+sjdZ2MZfbAiEAko8XHcgPPZfZigtjavE/18Xsc68A0A7Ap6gTjCD2+g4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":373797},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"38b4a140a8e629a3f880f695bac31cf973ff4187","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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/openalex-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/openalex-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun 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 .","lint:packaging":"bun scripts/lint-packaging.ts","release:github":"bun scripts/release-github.ts","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check","generate:field-catalog":"bun scripts/generate-field-catalog.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-MJCmG7y5h0jJu4kv/hD241xlUa9MarxoIhtp9qRuHsDaPjRQMJf6e7eupo6p9UwJ9vjvV6FGlJtSTCc72uL6lg==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.11.0"},"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":"^7.0.2","@types/node":"^26.1.1","@biomejs/biome":"^2.5.5","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.7.7_1785110029517_0.1906061731628006","host":"s3://npm-registry-packages-npm-production"}},"0.7.8":{"name":"@cyanheads/openalex-mcp-server","version":"0.7.8","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","bun","citation-analysis","literature-search","scholarly-data","scholarly-research","stdio","streamable-http","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.7.8","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"0d64253b30afc815caa1a15f8ad2acf71a02336a","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.7.8.tgz","fileCount":72,"integrity":"sha512-UfJ3b8D+fzNquf9heb46zVx4TfPJ/yB0jLUruv90SyhbuqBuH3oLf15IEpXgQbNwaIvnnihmmQuaQFAe2LDmtQ==","signatures":[{"sig":"MEQCICjfKf8xnW+pkmQ69wN1YaO0uxjD933nHt6APTC2FNfKAiBFYkX5J+sjmkxx+rMg5/EpWV+C/WFvjvTSwOEST7/KSA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":374957},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"0d64253b30afc815caa1a15f8ad2acf71a02336a","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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/openalex-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/openalex-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun 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 .","lint:packaging":"bun scripts/lint-packaging.ts","release:github":"bun scripts/release-github.ts","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check","generate:field-catalog":"bun scripts/generate-field-catalog.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-UfJ3b8D+fzNquf9heb46zVx4TfPJ/yB0jLUruv90SyhbuqBuH3oLf15IEpXgQbNwaIvnnihmmQuaQFAe2LDmtQ==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.11.0"},"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":"^7.0.2","@types/node":"^26.1.1","@biomejs/biome":"^2.5.5","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.7.8_1785110873153_0.12398197405688105","host":"s3://npm-registry-packages-npm-production"}},"0.7.9":{"name":"@cyanheads/openalex-mcp-server","version":"0.7.9","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","bun","citation-analysis","literature-search","scholarly-data","scholarly-research","stdio","streamable-http","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.7.9","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"6403193a53818debc43d777c1ceee4e99a4baddb","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.7.9.tgz","fileCount":123,"integrity":"sha512-EiZbQzpYqBc/2gs/Vtx+6D3OBgZdQHifCX7e1iJLujFd+2T2oZfvdB8NkgYT4tLLtY7I2bJ38ZWJ8F+ZpC9bQg==","signatures":[{"sig":"MEYCIQCWRHuFavJLeDvKj656xZdlsmnE5cS/bRfvOppmpXOrQQIhANMo3pNyUksXKdJ9dwiCbDQE9AvmDziWgM2L39QnCHnQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":472110},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"6403193a53818debc43d777c1ceee4e99a4baddb","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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/openalex-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/openalex-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun 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 .","lint:packaging":"bun scripts/lint-packaging.ts","release:github":"bun scripts/release-github.ts","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check","generate:field-catalog":"bun scripts/generate-field-catalog.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-EiZbQzpYqBc/2gs/Vtx+6D3OBgZdQHifCX7e1iJLujFd+2T2oZfvdB8NkgYT4tLLtY7I2bJ38ZWJ8F+ZpC9bQg==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & 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","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.7.9_1787406900614_0.2581232529317894","host":"s3://npm-registry-packages-npm-production"}},"0.7.10":{"name":"@cyanheads/openalex-mcp-server","version":"0.7.10","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","bun","citation-analysis","literature-search","scholarly-data","scholarly-research","stdio","streamable-http","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.7.10","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"64ca38d394657d1772fd539a476d1c9b47473ccc","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.7.10.tgz","fileCount":124,"integrity":"sha512-3wNTGELp1NvwFH9RG1VHBRd+DcsugTlBEXLxaZ/jRUjwhd4LdRE90XU6Ksyv/x5jQjGR6pj1NeSkdUV2+17R1w==","signatures":[{"sig":"MEUCIQCmOckd9P2FU8ezqIKqfSGJRf9Ig0LjhS0A74AkFJurVwIgUrL2CdJWucXLB6wL7xrNUqEkxhhVAvifCDAukbJSyzI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEO/W8osSV4IVy4lJZp+OPelk9nHRo7vTZarf7MCf5onAiATzSHKWusSsFD1FTUWC5Yx2R66vOM1w0nS2yj0H/NiYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":473468},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"64ca38d394657d1772fd539a476d1c9b47473ccc","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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/openalex-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/openalex-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun 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 .","lint:packaging":"bun scripts/lint-packaging.ts","release:github":"bun scripts/release-github.ts","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check","generate:field-catalog":"bun scripts/generate-field-catalog.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-3wNTGELp1NvwFH9RG1VHBRd+DcsugTlBEXLxaZ/jRUjwhd4LdRE90XU6Ksyv/x5jQjGR6pj1NeSkdUV2+17R1w==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.5.4","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.12.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"ignore":"^7.0.7","vitest":"^4.1.11","depcheck":"^1.4.7","tsc-alias":"^1.9.2","typescript":"^7.0.2","@types/node":"^26.4.0","@biomejs/biome":"^2.5.11","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.7.10_1788415350010_0.23796126956832198","host":"s3://npm-registry-packages-npm-production"}},"0.7.11":{"name":"@cyanheads/openalex-mcp-server","version":"0.7.11","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","bun","citation-analysis","literature-search","scholarly-data","scholarly-research","stdio","streamable-http","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.7.11","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"9b4735b029e72c9bd23f0148fcc1174da803f271","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.7.11.tgz","fileCount":125,"integrity":"sha512-8HAk/0+iD0nzB8JAfzmT6xM1i0Aap4Qi2Vz+LQGoH/6MIe+bFuzSnmC258jmcKQP64MFBfRpgYVQmUlZa2pTjw==","signatures":[{"sig":"MEUCIFhKnJjVYJWG8EiGSyYzGd0nmD5Jxus1goBrs+E4QUtOAiEAtpHNlj3PVLls9X2lcQ8/+MSEjNZm70c3GdSeqa8MnIk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIH7SnX4OKdA5Ns1wJUy9IQg8KUgQ+Zp7Cy4yrgfeInKyAiBSAPOBZykMpiEZQGzMDPFeupYLPcmZZCoBtgR81g8Mig==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":482554},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"9b4735b029e72c9bd23f0148fcc1174da803f271","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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/openalex-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/openalex-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun 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 .","lint:packaging":"bun scripts/lint-packaging.ts","release:github":"bun scripts/release-github.ts","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check","generate:field-catalog":"bun scripts/generate-field-catalog.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-8HAk/0+iD0nzB8JAfzmT6xM1i0Aap4Qi2Vz+LQGoH/6MIe+bFuzSnmC258jmcKQP64MFBfRpgYVQmUlZa2pTjw==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.5.4","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.12.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"ignore":"^7.0.8","vitest":"^5.0.0","depcheck":"^1.4.7","tsc-alias":"^1.9.4","typescript":"^7.0.2","@types/node":"^26.4.1","@biomejs/biome":"^2.5.12","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.7.11_1788932711254_0.5353757223716018","host":"s3://npm-registry-packages-npm-production"}},"0.7.12":{"name":"@cyanheads/openalex-mcp-server","version":"0.7.12","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","bun","citation-analysis","literature-search","scholarly-data","scholarly-research","stdio","streamable-http","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.7.12","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"8eefe0552fe0738f508fd1bfb0cee75b7cfd3a1e","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.7.12.tgz","fileCount":126,"integrity":"sha512-QGpEx5trGeWAagAl1KDCl++7yzcq3no8rG8xdEI5PKn+J4ASD08bTrfROutG3l0CAuSCXZKHyZbT2R+rnol8hg==","signatures":[{"sig":"MEUCIQCzvF/EXiBwPoJQV2yEBjgsg6kpt2TDki6OXX557i39kwIgD851KL3u7q5iDrMOlAdAwGiLUUz3cfsHNnGjK5RHQ10=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDEPhQC8YG2LLHmW5i3N4fUnHNAAO+7HD153k173McVgAIgIejiJ0cbPCf/adlXUrLCoaHT0zyLUT0Kcv+8W0Bva+o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":489904},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"8eefe0552fe0738f508fd1bfb0cee75b7cfd3a1e","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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/openalex-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/openalex-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun 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 .","lint:packaging":"bun scripts/lint-packaging.ts","release:github":"bun scripts/release-github.ts","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check","generate:field-catalog":"bun scripts/generate-field-catalog.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-QGpEx5trGeWAagAl1KDCl++7yzcq3no8rG8xdEI5PKn+J4ASD08bTrfROutG3l0CAuSCXZKHyZbT2R+rnol8hg==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.5.4","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.12.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"ignore":"^7.0.8","vitest":"^5.0.0","depcheck":"^1.4.7","tsc-alias":"^1.9.4","typescript":"^7.0.2","@types/node":"^26.4.1","@biomejs/biome":"^2.5.12","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.7.12_1788934638167_0.47401296002819726","host":"s3://npm-registry-packages-npm-production"}},"0.7.13":{"name":"@cyanheads/openalex-mcp-server","version":"0.7.13","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","bun","citation-analysis","literature-search","scholarly-data","scholarly-research","stdio","streamable-http","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.7.13","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"ba78386179c6a24a097a779ee8345aa0e117a7f2","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.7.13.tgz","fileCount":127,"integrity":"sha512-be+YNfXjq/faeGVVo85OipYYIjSErDyBIXZbnVwH22x3v6cgpoY1dJiCmKDeBrWPz3nrngFPSpSXDN0Nbujh5g==","signatures":[{"sig":"MEYCIQCrbMZNgItjt+FU3X1KmSXmnSGBNGffLjVY1tW/SpJbaAIhAPu6FQUscIWCBEFZ86loCsHE2ZcJnG6kCmZfxpZRO3u4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAaeDSMnKXubPEHcO33PS2p3S1Hm2loPzGWO0djzosubAiEAms+xVSqFG/wHkwJLoyX4KRw0EGmQSlHXLU6sAzt/1DA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":491167},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"ba78386179c6a24a097a779ee8345aa0e117a7f2","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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/openalex-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/openalex-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","audit:fix":"bun audit fix","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun 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 .","lint:packaging":"bun scripts/lint-packaging.ts","release:github":"bun scripts/release-github.ts","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check","generate:field-catalog":"bun scripts/generate-field-catalog.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-be+YNfXjq/faeGVVo85OipYYIjSErDyBIXZbnVwH22x3v6cgpoY1dJiCmKDeBrWPz3nrngFPSpSXDN0Nbujh5g==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.6.1","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"ignore":"^7.0.9","vitest":"^5.0.0","depcheck":"^1.4.7","tsc-alias":"^1.9.4","typescript":"^7.0.2","@types/node":"^26.5.1","@biomejs/biome":"^2.5.13","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.7.13_1789322325378_0.5288865537856202","host":"s3://npm-registry-packages-npm-production"}},"0.7.14":{"name":"@cyanheads/openalex-mcp-server","version":"0.7.14","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","bun","citation-analysis","literature-search","scholarly-data","scholarly-research","stdio","streamable-http","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.7.14","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"174618399e7a178cf1d867ee378d361b4bfcc703","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.7.14.tgz","fileCount":128,"integrity":"sha512-OxG4gAILPTzRMYxfRo6p40oYLqt+b18feJeID8cIKiDXn9zBbvoOAjWOgFKde3BdeJfULIrINPXqt09SJMj3uA==","signatures":[{"sig":"MEYCIQCs7GYQBHyFo3Bal84TsLDnt62Xtjy8cUuECaqqE2HOLgIhAIwFJF5Kd/iNlHFdRKYvDA9Gy9QA5Rv/qC7w5fPTh3+v","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIE+f3L6MDo2ZqIrBCct+Alg6wsMoe09GezEgT5ujewiXAiEA9JRb21yUHC0Sv8B4GJFGwpyEDbnY/ATguloifNsJbi4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":503958},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"174618399e7a178cf1d867ee378d361b4bfcc703","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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/openalex-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/openalex-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","audit:fix":"bun audit fix","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun 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 .","lint:packaging":"bun scripts/lint-packaging.ts","release:github":"bun scripts/release-github.ts","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check","generate:field-catalog":"bun scripts/generate-field-catalog.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-OxG4gAILPTzRMYxfRo6p40oYLqt+b18feJeID8cIKiDXn9zBbvoOAjWOgFKde3BdeJfULIrINPXqt09SJMj3uA==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & 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","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.7.14_1789820310521_0.5886017612400878","host":"s3://npm-registry-packages-npm-production"}},"0.7.15":{"name":"@cyanheads/openalex-mcp-server","version":"0.7.15","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","bun","citation-analysis","literature-search","scholarly-data","scholarly-research","stdio","streamable-http","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.7.15","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"50e63878b500df27fb55c6cf7538a4482864adfc","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.7.15.tgz","fileCount":129,"integrity":"sha512-sRIFikeu3mSkiLM7mGOjYlsmLhe7H3kk0BEydaiepeiU/huJ2b+bJC089FjsayKVXY+BFR22/ehwQBevqjb84Q==","signatures":[{"sig":"MEYCIQCfsS0oZQeYF1LGZlPPd2Um/unwYU/smqJqkboU3+KesQIhAP6JFIR8aYXgx7f8pphljQe68zZ25Tn5MZPUIVyw/asJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD3z1JHP7/lY33gYDA1CbJFJRr0ej9eoVtcaeF0z4ygIAIhALbSZ3EEw31WSaOyWrB0eEXQh2K2zIdpVEo1mNHgrUGh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":537890},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"50e63878b500df27fb55c6cf7538a4482864adfc","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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/openalex-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/openalex-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","audit:fix":"bun audit fix","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun 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 .","lint:packaging":"bun scripts/lint-packaging.ts","release:github":"bun scripts/release-github.ts","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check","generate:field-catalog":"bun scripts/generate-field-catalog.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-sRIFikeu3mSkiLM7mGOjYlsmLhe7H3kk0BEydaiepeiU/huJ2b+bJC089FjsayKVXY+BFR22/ehwQBevqjb84Q==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.","directories":{},"_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","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.7.15_1790098879716_0.5583721929583474","host":"s3://npm-registry-packages-npm-production"}},"0.7.16":{"name":"@cyanheads/openalex-mcp-server","version":"0.7.16","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","bun","citation-analysis","literature-search","scholarly-data","scholarly-research","stdio","streamable-http","typescript"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/openalex-mcp-server@0.7.16","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"bin":{"openalex-mcp-server":"dist/index.js"},"dist":{"shasum":"e32154ba046157778831f7e728f57baceba2cdd6","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.7.16.tgz","fileCount":139,"integrity":"sha512-ADt4DN81eADh+5819khZGpoEeycH1AYOouvciFdYhJn38nja0/p/AHq0RjZh6N3zUuP4KxvbiLJuQhcx2WkGXw==","signatures":[{"sig":"MEUCIQCV6XXq91qUPKXKNfKQ2HbPDq9yGJkCp52OYTh4GyKO1QIgICQuKDJOCjKkQcP1jJH6NP+LjB+63Bofbl7PjW5x5gY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCgdAMpgbHYL1+HhUZwWhfHzGK1p0jIUioLDffDXxUtsAIgF23Ch04shNg1GZBps+liG+myD/kTNy58Cl4rdZbXRzg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":665522},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"e32154ba046157778831f7e728f57baceba2cdd6","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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/openalex-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/openalex-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","audit:fix":"bun audit fix","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun 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 .","lint:packaging":"bun scripts/lint-packaging.ts","release:github":"bun scripts/release-github.ts","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check","generate:field-catalog":"bun scripts/generate-field-catalog.ts"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-ADt4DN81eADh+5819khZGpoEeycH1AYOouvciFdYhJn38nja0/p/AHq0RjZh6N3zUuP4KxvbiLJuQhcx2WkGXw==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.","directories":{},"_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","mdast-util-gfm":"^3.1.0","micromark-extension-gfm":"^3.0.0","mdast-util-from-markdown":"^2.0.3","@socketsecurity/bun-security-scanner":"^1.1.2"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"tmp":"tmp/openalex-mcp-server_0.7.16_1790236074494_0.1258158848143236","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"_id":"@cyanheads/openalex-mcp-server@0.8.0","bin":{"openalex-mcp-server":"dist/index.js"},"bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"dist":{"shasum":"40fb214051d1d45ecc03c32d099afe58cbe50c43","tarball":"https://registry.npmjs.org/@cyanheads/openalex-mcp-server/-/openalex-mcp-server-0.8.0.tgz","fileCount":144,"integrity":"sha512-oTaWIbuq3ZWpjWjs4juUsUSgMcoPdo7Na4XmHECfJTsaz4KB74qkdmVtbGWO/chN+qfUAqxPtglYF3jKrifJjA==","signatures":[{"sig":"MEUCIQCMCXnyDeXBppaCd9HdueIYnm+qF/YPOVC7O9TtC5ZzsQIgdQgqhv79x7DuOPLwUuOMuFCx/KoJ/JpWx4jHh9uThdE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIA/t1VwwLc9mp2cNiNv/aB4ncz5WoTiIpsxDVuvsu/+dAiB/anSE8htBvRt9Fq0nT+PYT8Jj5FBI+HRvVSlbJQOwOQ=="}],"unpackedSize":775012},"main":"dist/index.js","name":"@cyanheads/openalex-mcp-server","type":"module","types":"dist/index.d.ts","author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","shasum":"40fb214051d1d45ecc03c32d099afe58cbe50c43","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/openalex-mcp-server","scripts":{"test":"vitest run","tree":"bun scripts/tree.ts","build":"bun scripts/build.ts","clean":"bun scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/openalex-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/openalex-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun scripts/clean.ts && bun scripts/build.ts","devcheck":"bun scripts/devcheck.ts","lint:mcp":"bun scripts/lint-mcp.ts","audit:fix":"bun audit fix","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"bun 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 .","lint:packaging":"bun scripts/lint-packaging.ts","release:github":"bun scripts/release-github.ts","changelog:build":"bun scripts/build-changelog.ts","changelog:check":"bun scripts/build-changelog.ts --check","generate:field-catalog":"bun scripts/generate-field-catalog.ts"},"version":"0.8.0","_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","bun","citation-analysis","literature-search","scholarly-data","scholarly-research","stdio","streamable-http","typescript"],"_integrity":"sha512-oTaWIbuq3ZWpjWjs4juUsUSgMcoPdo7Na4XmHECfJTsaz4KB74qkdmVtbGWO/chN+qfUAqxPtglYF3jKrifJjA==","repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & 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.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.2","devDependencies":{"ignore":"^7.0.10","vitest":"^5.0.2","depcheck":"^1.4.7","tsc-alias":"^1.9.5","typescript":"^7.0.2","@types/node":"^26.6.3","@biomejs/biome":"^2.5.14","mdast-util-gfm":"^3.1.0","micromark-extension-gfm":"^3.0.0","mdast-util-from-markdown":"^2.0.3","@socketsecurity/bun-security-scanner":"^1.1.3"},"trustedDependencies":["@socketsecurity/bun-security-scanner"],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/openalex-mcp-server_0.8.0_1790792588262_0.5475779427251555"}}},"time":{"created":"2026-03-24T11:43:57.683Z","modified":"2026-09-30T18:23:08.503Z","0.2.7":"2026-03-24T11:43:57.880Z","0.2.8":"2026-03-24T12:50:34.637Z","0.2.9":"2026-03-28T11:38:58.810Z","0.3.0":"2026-03-28T16:06:33.909Z","0.3.1":"2026-03-30T18:03:49.836Z","0.3.2":"2026-04-15T03:41:09.172Z","0.3.3":"2026-04-15T12:42:38.492Z","0.4.0":"2026-04-21T02:32:24.491Z","0.5.0":"2026-04-23T17:18:42.801Z","0.6.0":"2026-04-24T15:03:19.031Z","0.6.1":"2026-04-24T15:34:13.412Z","0.6.2":"2026-04-26T01:54:05.264Z","0.6.3":"2026-04-26T19:35:26.220Z","0.6.4":"2026-04-27T18:01:45.825Z","0.6.5":"2026-04-30T08:45:18.989Z","0.6.6":"2026-05-02T04:42:11.570Z","0.6.7":"2026-05-03T07:33:01.208Z","0.6.8":"2026-05-05T21:53:17.604Z","0.6.9":"2026-05-08T12:52:48.962Z","0.6.10":"2026-05-16T18:39:51.007Z","0.6.11":"2026-05-21T05:02:29.755Z","0.6.12":"2026-05-21T06:22:47.480Z","0.6.13":"2026-05-23T12:27:23.623Z","0.6.14":"2026-05-25T09:08:32.119Z","0.6.15":"2026-05-29T05:25:05.751Z","0.6.16":"2026-05-30T09:12:33.882Z","0.6.17":"2026-06-01T07:50:08.482Z","0.6.18":"2026-06-01T10:20:32.703Z","0.6.19":"2026-06-02T14:41:39.104Z","0.6.20":"2026-06-04T08:00:31.751Z","0.6.21":"2026-06-08T07:27:48.105Z","0.7.0":"2026-06-08T09:20:00.498Z","0.7.1":"2026-06-11T21:08:49.113Z","0.7.2":"2026-06-20T17:30:34.579Z","0.7.3":"2026-07-10T04:20:08.697Z","0.7.4":"2026-07-10T05:00:58.208Z","0.7.5":"2026-07-26T22:22:19.662Z","0.7.6":"2026-07-26T22:56:51.509Z","0.7.7":"2026-07-26T23:53:49.667Z","0.7.8":"2026-07-27T00:07:53.289Z","0.7.9":"2026-08-22T13:55:00.764Z","0.7.10":"2026-09-03T06:02:30.105Z","0.7.11":"2026-09-09T05:45:11.351Z","0.7.12":"2026-09-09T06:17:18.259Z","0.7.13":"2026-09-13T17:58:45.465Z","0.7.14":"2026-09-19T12:18:30.670Z","0.7.15":"2026-09-22T17:41:19.811Z","0.7.16":"2026-09-24T07:47:54.575Z","0.8.0":"2026-09-30T18:23:08.365Z"},"bugs":{"url":"https://github.com/cyanheads/openalex-mcp-server/issues"},"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","homepage":"https://github.com/cyanheads/openalex-mcp-server#readme","keywords":["mcp","mcp-server","model-context-protocol","openalex","academic-research","academic-search","bibliometrics","bun","citation-analysis","literature-search","scholarly-data","scholarly-research","stdio","streamable-http","typescript"],"repository":{"url":"git+https://github.com/cyanheads/openalex-mcp-server.git","type":"git"},"description":"Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"readme":"<div align=\"center\">\n  <h1>@cyanheads/openalex-mcp-server</h1>\n  <p><b>Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.</b>\n  <div>5 Tools &bull; 2 Prompts</div>\n  </p>\n</div>\n\n<div align=\"center\">\n\n[![Version](https://img.shields.io/badge/Version-0.8.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/openalex-mcp-server) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^2.1.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![npm](https://img.shields.io/npm/v/@cyanheads/openalex-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/openalex-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.2-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/openalex-mcp-server/releases/latest/download/openalex-mcp-server.mcpb) [![Install in Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en/install-mcp?name=openalex-mcp-server&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBjeWFuaGVhZHMvb3BlbmFsZXgtbWNwLXNlcnZlciJdfQ==) [![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%22openalex-mcp-server%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40cyanheads/openalex-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://openalex.caseyjhand.com/mcp](https://openalex.caseyjhand.com/mcp)\n\n</div>\n\n---\n\n## Overview\n\nScholarly catalog data from [OpenAlex](https://openalex.org) — 270M+ works, 90M+ authors, 100K+ sources, plus institutions, topics, keywords, publishers, and funders. Search, filter, and aggregate across all eight entity types, resolve ambiguous names to canonical IDs, and walk the citation graph one hop at a time. 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| `openalex_search_entities` | Search, filter, sort, or retrieve by ID across all 8 entity types |\n| `openalex_analyze_trends` | Group-by aggregation for trend and distribution analysis |\n| `openalex_resolve_name` | Resolve a name or an identifier (DOI, ORCID, ROR, PMID, ISSN, OpenAlex ID) to an OpenAlex ID |\n| `openalex_get_citation_graph` | Walk the citation graph one hop from a seed work: `cites`, `cited_by`, or `related_to` |\n| `openalex_describe_fields` | List valid filter, group_by, and select field names for an entity type |\n\n### Prompts\n\n| Prompt | Description |\n|:-------|:------------|\n| `openalex_literature_review` | Guides a systematic literature search: formulate query, search, filter, analyze citation network, synthesize findings |\n| `openalex_research_landscape` | Analyzes the research landscape for a topic: volume trends, top authors/institutions, open access rates, funding sources |\n\n## Capability reference\n\n### `openalex_search_entities` <sub>tool</sub>\n\n- Retrieve a single entity by ID — OpenAlex ID, DOI, ORCID, ROR, PMID, ISSN, or PMCID (bare or URL form), or a keyword by its slug or keyword URL. `id` takes precedence: search parameters passed alongside it are dropped, and the response names which ones. A PMCID resolves nothing (OpenAlex indexes none) — use the work's PMID or DOI instead\n- Keyword search (boolean operators, quoted phrases, wildcards, fuzzy match) plus `exact` and `semantic` search modes — semantic ranks a query-dependent candidate set at ~1 req/sec (up to 50 per page), and its `meta.count` reports the candidate count rather than a match total\n- Rich filter syntax: AND across fields, OR within a field (`|`), NOT (`!`), ranges, comparisons; a comma inside a filter value is rejected (use `|`, or a `.search` filter for free text)\n- `select` returns a curated per-entity-type default unless overridden, or `[\"*\"]` for the full record; invalid field names error with the valid set\n- Cursor pagination for keyword and exact search, up to 100 results per page (default 25); semantic search walks its candidates with `page` (1-based) instead, and mixing either knob with the wrong `search_mode` is rejected before the upstream call\n- `sample` (up to 100, single page only — neither `cursor` nor `page` applies) plus a deterministic `seed` for reproducible random sampling; keyword and exact modes only, and never alongside `sort` — OpenAlex does not sample a semantic search and refuses a sorted sample, so both combinations are rejected before the upstream call\n- Each response holds to 64,000 bytes per surface (`structuredContent`, and `content[]` with its trailer) unless the least it can return is larger, which it flags as `over_budget`: a page that would run over keeps its leading records whole and names the rest in `omitted` with the one call that returns them (as a set, in OpenAlex's order), without disturbing `next_cursor`; a record too large on its own comes back with its largest arrays windowed, filled in turn so each shows what fits and labeled with how much of the array it holds, and `slice: {field, offset}` on an `id` lookup pages any array to the end\n- A list record carrying exactly 100 `authorships` — the most OpenAlex returns in a list response — is flagged as possibly capped, with the unbilled `id` + `slice` call that fetches the rest\n- `display_name` is nullable for untitled records; every call reports OpenAlex daily-budget cost and remaining balance\n\n---\n\n### `openalex_analyze_trends` <sub>tool</sub>\n\n- Group any supported field for trend, distribution, or comparative analysis; combine with `filters` to scope the population before aggregation\n- Up to 200 groups per page (default). `order: \"count\"` (default) returns the top-N by count with no further pages; `order: \"key\"` enumerates all distinct values key-ascending with cursor pagination\n- `include_unknown` (default `false`) adds a group for entities with no value for the grouped field, flagged `is_unknown: true` and labeled as unknown in the text output. OpenAlex keys it `-111`/`-111.0` (numeric fields), `unknown` (text fields and `order: \"key\"`), or an ID ending in `/unknown`; the key is a sentinel, not a filter value. Boolean fields have no such group — a missing value counts as `false`\n- Not every field is groupable — raw date fields, `.search` operators, `from_*`/`to_*` range modifiers, decimal scores such as `fwci`, `display_name`, and external-ID fields such as `doi` are rejected; `openalex_describe_fields(entity_type, \"group_by\")` lists the fields that group\n- A works group_by on `authorships.countries` says in its notice that OpenAlex counts only each work's first 100 authorships for that field, and names `authorships.institutions.country_code` as the field that counts all of them\n- Reports OpenAlex daily-budget cost and remaining balance — aggregation is priced far below paging the same entities\n\n---\n\n### `openalex_resolve_name` <sub>tool</sub>\n\n- A name or partial name runs an autocomplete search: up to 10 matches with disambiguation hints (last institution, host organization, place, etc.)\n- An identifier — OpenAlex ID, DOI, ORCID, ROR, PMID, ISSN, or keyword URL, bare or in URL form — resolves directly to the one record it addresses; no `entity_type` needed, since the identifier determines its own. A PMCID is recognized but resolves nothing — OpenAlex indexes none\n- `filters` narrows autocomplete only; on an identifier lookup they're ignored and named in a notice\n- With `entity_type` set, OpenAlex autocomplete fails on a name over 1,000 characters; that failure is reported once as `query_too_long` with advice to shorten the name, not retried as an outage\n- Reports OpenAlex daily-budget cost and remaining balance\n\n---\n\n### `openalex_get_citation_graph` <sub>tool</sub>\n\n- `direction` sets the edge: `cites` (works citing the seed), `cited_by` (the seed's own reference list), `related_to` (OpenAlex's algorithmic related works, ~8-30 typical, may be empty)\n- `seed_id` accepts an OpenAlex ID, DOI, or PMID (PMCID recognized but resolves nothing); validated against a live lookup first, so a non-existent seed fails as `NotFound` rather than returning an empty graph\n- Stacks with `filters`/`sort`/`select` to narrow the graph; `filters` cannot set `cites`/`cited_by`/`related_to`, nor an alias of one such as `cited_works` — those keys are reserved for `direction`\n- Cursor pagination, up to 100 results per page (default 25)\n- The same 64,000-byte response budget and 100-authorship cap disclosure as `openalex_search_entities`; works cut from a page are named in `omitted` with the `openalex_search_entities` call that returns them, in OpenAlex's order\n- Reports OpenAlex daily-budget cost, covering both the seed-validation lookup and the graph page, plus remaining balance\n\n---\n\n### `openalex_describe_fields` <sub>tool</sub>\n\n- Lists every valid field name for an entity type + context (`filter`, `group_by`, `select`) — the complete pool, never truncated\n- `group_by` is the filter set minus what OpenAlex rejects as an aggregation key: raw date fields, `.search`/`.search.exact` operators, `from_*`/`to_*` range modifiers, and a per-entity-type set found by grouping every listed field against the live API — decimal scores such as `fwci`, several source year fields, `display_name`, and external-ID fields among them\n- Optional `query` reorders results by name similarity without dropping any field — a nested value's parent object stays reachable further down the list\n- Backed by a generated field catalog — no live API calls\n\n---\n\n### `openalex_literature_review` <sub>prompt</sub>\n\n- Arguments: `topic` required; `scope` (`narrow` / `broad`) optional, defaults to `narrow`\n- Returns one user message walking a 6-step workflow: resolve entities, search literature, identify key papers, trace citations, analyze the landscape, synthesize findings\n- `scope` changes the search step: `narrow` favors exact search with tight topic filters; `broad` adds semantic search across multiple related topic IDs\n\n---\n\n### `openalex_research_landscape` <sub>prompt</sub>\n\n- Arguments: `topic` required\n- Returns one user message walking a 7-step quantitative workflow: resolve the topic ID, volume trends, top contributors (institutions/countries/journals), open access rate, funding sources, most-cited works, emerging fronts\n- The funding step groups by `awards.funder_id` (resolve names via `openalex_resolve_name`) or `awards.funder_display_name` for readable labels in a single hop\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\nOpenAlex-specific:\n\n- Typed API client with automatic ID normalization (DOI, ORCID, ROR, PMID, PMCID, ISSN, OpenAlex and PubMed/PubMed Central URLs); a PMCID normalizes but resolves nothing since OpenAlex indexes none\n- Keyless by default — an optional API key raises rate and daily-budget limits, and an optional `mailto` identifies the caller to OpenAlex's polite pool\n- HTTP status codes mapped to specific MCP error classes (400 → InvalidParams, 422 → ValidationError, 429 → RateLimited) with upstream messages surfaced\n- Timeout-aware request retries and cancellation support via `AbortSignal`\n\nAgent-friendly output:\n\n- Provenance — every API-calling tool reports OpenAlex daily-budget cost, remaining balance, and reset time (`budget.costUsd`, `remainingUsd`, `resetsInSeconds`)\n- Effective-query echo — search, trends, and citation-graph responses echo the criteria that actually ran, so an empty result is diagnosable without re-reading the request\n- Discriminated output contracts — typed error reasons (`entity_not_found`, `upstream_budget_exhausted`, `semantic_per_page_cap`, `reserved_filter_key`, and more) each carrying an explicit recovery hint\n- Response shaping — abstracts are reconstructed from OpenAlex's inverted-index encoding into plaintext, and `display_name` stays `null` for untitled or paratext records instead of being backfilled\n- Clean provider text — OpenAlex passes titles, abstracts, and names through unsanitized; HTML entities are decoded against the full WHATWG table, comments and HTML/JATS/MathML formatting tags are removed, CDATA wrappers and IOP's `<?CDATA …?>` math markers are unwrapped with their TeX kept, and a double-escaped line break (a literal `\\n`) becomes a space; literal text such as `A < B` and TeX such as `\\nu` is kept. Identifier and URL fields (`id`, `doi`, `ids`, `orcid`, `ror`, `issn`, `*_url`, lineages) are returned exactly as OpenAlex stores them, so each one resolves when passed back. The text output escapes that text for Markdown, so a stray `*`, `<tag>`, or `[x](y)` renders as written; IDs, and URLs that render as links, stay byte-identical\n\n## Getting started\n\n### Public Hosted Instance\n\nA public instance is available at `https://openalex.caseyjhand.com/mcp` — no installation required. Point any MCP client at it via Streamable HTTP:\n\n```json\n{\n  \"mcpServers\": {\n    \"openalex-mcp-server\": {\n      \"type\": \"streamable-http\",\n      \"url\": \"https://openalex.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    \"openalex-mcp-server\": {\n      \"type\": \"stdio\",\n      \"command\": \"bunx\",\n      \"args\": [\"@cyanheads/openalex-mcp-server@latest\"],\n      \"env\": {\n        \"MCP_TRANSPORT_TYPE\": \"stdio\",\n        \"MCP_LOG_LEVEL\": \"info\",\n        \"OPENALEX_API_KEY\": \"your-api-key\"\n      }\n    }\n  }\n}\n```\n\nOr with npx (no Bun required):\n\n```json\n{\n  \"mcpServers\": {\n    \"openalex-mcp-server\": {\n      \"type\": \"stdio\",\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@cyanheads/openalex-mcp-server@latest\"],\n      \"env\": {\n        \"MCP_TRANSPORT_TYPE\": \"stdio\",\n        \"MCP_LOG_LEVEL\": \"info\",\n        \"OPENALEX_API_KEY\": \"your-api-key\"\n      }\n    }\n  }\n}\n```\n\nOr with Docker:\n\n```json\n{\n  \"mcpServers\": {\n    \"openalex-mcp-server\": {\n      \"type\": \"stdio\",\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\", \"-i\", \"--rm\",\n        \"-e\", \"MCP_TRANSPORT_TYPE=stdio\",\n        \"-e\", \"OPENALEX_API_KEY=your-api-key\",\n        \"ghcr.io/cyanheads/openalex-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 OPENALEX_API_KEY=... bun run start:http\n# Server listens at http://localhost:3010/mcp\n```\n\n`OPENALEX_API_KEY` is optional — set it to a free [OpenAlex account key](https://openalex.org/settings/api) for keyed rate limits and budget under OpenAlex's usage-based pricing, or omit it for anonymous access. Set `OPENALEX_MAILTO` to an email if you want to identify yourself to OpenAlex (the [polite pool](https://developers.openalex.org/guides/authentication)).\n\n### Prerequisites\n\n- [Bun v1.4.0](https://bun.sh/) or higher (or Node.js v24+).\n- Optional: an [OpenAlex account API key](https://openalex.org/settings/api) for keyed rate limits and budget — omit for anonymous access.\n\n### Installation\n\n1. **Clone the repository:**\n\n```sh\ngit clone https://github.com/cyanheads/openalex-mcp-server.git\n```\n\n2. **Navigate into the directory:**\n\n```sh\ncd openalex-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 and set required vars\n```\n\n## Configuration\n\n| Variable | Description | Default |\n|:---------|:------------|:--------|\n| `MCP_TRANSPORT_TYPE` | Transport: `stdio` or `http`. | `stdio` |\n| `MCP_HTTP_PORT` | Port for HTTP server. | `3010` |\n| `MCP_SESSION_MODE` | HTTP session mode: `stateless`, `stateful`, or `auto` (resolves to `stateful`). The server declares `stateless` in code; an explicit value overrides it. | `stateless` |\n| `MCP_AUTH_MODE` | Auth mode: `none`, `jwt`, or `oauth`. | `none` |\n| `MCP_ALLOWED_ORIGINS` | Comma-separated allow-list of browser `Origin` headers for HTTP transport. Unset = loopback-only; set to `*` to disable. | _loopback only_ |\n| `MCP_LOG_LEVEL` | Log level (RFC 5424). | `debug` |\n| `LOGS_DIR` | Directory for log files (Node.js only). | `<project-root>/logs` |\n| `STORAGE_PROVIDER_TYPE` | Storage backend. | `in-memory` |\n| `OPENALEX_API_KEY` | OpenAlex account API key, sent upstream as `api_key=` (free from [openalex.org/settings/api](https://openalex.org/settings/api)). Without it, anonymous rate limits apply. | — |\n| `OPENALEX_MAILTO` | Email sent upstream as `mailto=` to identify yourself to OpenAlex (the \"polite pool\"); a courtesy identifier, separate from the API key. | — |\n| `OPENALEX_BASE_URL` | OpenAlex API base URL. | `https://api.openalex.org` |\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   # Lints, formats, type-checks\n  bun run test       # Runs the test suite\n  ```\n\n### Docker\n\n```sh\ndocker build -t openalex-mcp-server .\ndocker run --rm -e OPENALEX_API_KEY=your-key -p 3010:3010 openalex-mcp-server\n```\n\nThe Dockerfile defaults to HTTP transport, stateless session mode, and logs to `/var/log/openalex-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 and prompts. |\n| `src/config/` | Server-specific environment variable parsing and validation with Zod. |\n| `src/mcp-server/tools/definitions/` | Tool definitions (`*.tool.ts`). |\n| `src/mcp-server/prompts/definitions/` | Prompt definitions (`*.prompt.ts`). |\n| `src/services/openalex/` | OpenAlex API client, field catalog, and domain types. |\n| `tests/` | Unit and integration tests, mirroring the `src/` structure. |\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 logging, `ctx.state` for storage\n- Wrap OpenAlex responses: validate the raw payload → normalize to a domain type → return the output schema; never fabricate missing fields\n- Always resolve names to IDs via `openalex_resolve_name` before filtering by entity\n\n## Contributing\n\nIssues are welcome. Run checks 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"}