{"_id":"@cyanheads/college-scorecard-mcp-server","_rev":"10-54e52e2f665eddf269ac77581ebc3fc3","name":"@cyanheads/college-scorecard-mcp-server","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.1":{"name":"@cyanheads/college-scorecard-mcp-server","version":"0.1.1","keywords":["mcp","mcp-server","model-context-protocol","college-scorecard","higher-education","department-of-education","college-search","university-data","financial-aid","student-outcomes","post-graduation-earnings","college-comparison"],"license":"Apache-2.0","_id":"@cyanheads/college-scorecard-mcp-server@0.1.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"bin":{"college-scorecard-mcp-server":"dist/index.js"},"dist":{"shasum":"a90fc5b9c9ddff1e56415bcebfd8fa67084e0547","tarball":"https://registry.npmjs.org/@cyanheads/college-scorecard-mcp-server/-/college-scorecard-mcp-server-0.1.1.tgz","fileCount":84,"integrity":"sha512-Esr36nfUKilwklp2h6f0z28jX7noPwCEoRrYrogeSDmnxQV+d07APkTbyKI/kwjzjqRKJQRy02hY0Zf/qk9SMg==","signatures":[{"sig":"MEYCIQD6s7vySqOnSa7aHoUGN+Nbwf4wmqv6dCAkbUJb8f+KfgIhAP6qxJsAiRJRqE9d73X+mOEEWsVrRwu8UIq2NnCQVSqA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":379545},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"a90fc5b9c9ddff1e56415bcebfd8fa67084e0547","engines":{"bun":">=1.3.0","node":">=24.0.0"},"scripts":{"test":"vitest run","tree":"tsx scripts/tree.ts","build":"tsx scripts/build.ts","clean":"tsx scripts/clean.ts","start":"node dist/index.js","bundle":"npm run build && npx -y @anthropic-ai/mcpb pack . dist/college-scorecard-mcp-server.mcpb","format":"biome check --write --unsafe .","rebuild":"tsx scripts/clean.ts && tsx scripts/build.ts","devcheck":"tsx scripts/devcheck.ts","lint:mcp":"tsx scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"tsx scripts/list-skills.ts","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","lint:packaging":"tsx scripts/lint-packaging.ts","changelog:build":"tsx scripts/build-changelog.ts","changelog:check":"tsx scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-Esr36nfUKilwklp2h6f0z28jX7noPwCEoRrYrogeSDmnxQV+d07APkTbyKI/kwjzjqRKJQRy02hY0Zf/qk9SMg==","repository":{"url":"git+https://github.com/cyanheads/college-scorecard-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search, compare, and analyze U.S. college data — costs, earnings, programs, and outcomes — via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"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/college-scorecard-mcp-server_0.1.1_1779765391050_0.4947798451656127","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@cyanheads/college-scorecard-mcp-server","version":"0.1.2","keywords":["mcp","mcp-server","model-context-protocol","college-scorecard","higher-education","department-of-education","college-search","university-data","financial-aid","student-outcomes","post-graduation-earnings","college-comparison"],"license":"Apache-2.0","_id":"@cyanheads/college-scorecard-mcp-server@0.1.2","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"bin":{"college-scorecard-mcp-server":"dist/index.js"},"dist":{"shasum":"dea6e4c4a81972d52e45f025dcfbb24f2727ef8a","tarball":"https://registry.npmjs.org/@cyanheads/college-scorecard-mcp-server/-/college-scorecard-mcp-server-0.1.2.tgz","fileCount":85,"integrity":"sha512-drOIIXwag06OPBWlayAr+KJi0bCMf0A9x/QH414nTyZxZC6B0pkMwnvuArP6pe8w4L5MKurRKKWCteaPl6Ulmw==","signatures":[{"sig":"MEQCIAos2FRAHJnF6D+ipng1oyNe5A+Or0pxQa+Y4zgZEbP/AiBBT9JxDBuyqlnvrTnhFja4n9Yd45a8K6YelWiuMkcTFw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":380186},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"dea6e4c4a81972d52e45f025dcfbb24f2727ef8a","engines":{"bun":">=1.3.0","node":">=24.0.0"},"mcpName":"io.github.cyanheads/college-scorecard-mcp-server","scripts":{"test":"vitest run","tree":"tsx scripts/tree.ts","build":"tsx scripts/build.ts","clean":"tsx scripts/clean.ts","start":"node dist/index.js","bundle":"npm run build && npx -y @anthropic-ai/mcpb pack . dist/college-scorecard-mcp-server.mcpb","format":"biome check --write --unsafe .","rebuild":"tsx scripts/clean.ts && tsx scripts/build.ts","devcheck":"tsx scripts/devcheck.ts","lint:mcp":"tsx scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"tsx scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","lint:packaging":"tsx scripts/lint-packaging.ts","changelog:build":"tsx scripts/build-changelog.ts","changelog:check":"tsx scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-drOIIXwag06OPBWlayAr+KJi0bCMf0A9x/QH414nTyZxZC6B0pkMwnvuArP6pe8w4L5MKurRKKWCteaPl6Ulmw==","repository":{"url":"git+https://github.com/cyanheads/college-scorecard-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search, compare, and analyze U.S. college data — costs, earnings, programs, and outcomes — via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"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/college-scorecard-mcp-server_0.1.2_1779765487184_0.515234254958284","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@cyanheads/college-scorecard-mcp-server","version":"0.1.3","keywords":["mcp","mcp-server","model-context-protocol","college-scorecard","higher-education","department-of-education","college-search","university-data","financial-aid","student-outcomes","post-graduation-earnings","college-comparison"],"license":"Apache-2.0","_id":"@cyanheads/college-scorecard-mcp-server@0.1.3","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"bin":{"college-scorecard-mcp-server":"dist/index.js"},"dist":{"shasum":"132e92213403201f752941d962a08de4407a2df2","tarball":"https://registry.npmjs.org/@cyanheads/college-scorecard-mcp-server/-/college-scorecard-mcp-server-0.1.3.tgz","fileCount":85,"integrity":"sha512-WkNpngd0lT7pSr6MWUPf8YOiz4JrJtRMFmzjThWKsPxxlADJfqBGUfv1jKkGk8L5k5+zzCfCxEGE76vXFplteg==","signatures":[{"sig":"MEYCIQD2he5Mwf6xQWRTJRPracXEQ9a1og2fD26aX110n9p/sQIhAIXmTWi9i2B7XIPrl/ALeeKJEiRfEN3qqVlZWr7jYBlK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":380318},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"132e92213403201f752941d962a08de4407a2df2","engines":{"bun":">=1.3.0","node":">=24.0.0"},"mcpName":"io.github.cyanheads/college-scorecard-mcp-server","scripts":{"test":"vitest run","tree":"tsx scripts/tree.ts","build":"tsx scripts/build.ts","clean":"tsx scripts/clean.ts","start":"node dist/index.js","bundle":"npm run build && npx -y @anthropic-ai/mcpb pack . dist/college-scorecard-mcp-server.mcpb","format":"biome check --write --unsafe .","rebuild":"tsx scripts/clean.ts && tsx scripts/build.ts","devcheck":"tsx scripts/devcheck.ts","lint:mcp":"tsx scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"tsx scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","lint:packaging":"tsx scripts/lint-packaging.ts","changelog:build":"tsx scripts/build-changelog.ts","changelog:check":"tsx scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-WkNpngd0lT7pSr6MWUPf8YOiz4JrJtRMFmzjThWKsPxxlADJfqBGUfv1jKkGk8L5k5+zzCfCxEGE76vXFplteg==","repository":{"url":"git+https://github.com/cyanheads/college-scorecard-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search, compare, and analyze U.S. college data — costs, earnings, programs, and outcomes — via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"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/college-scorecard-mcp-server_0.1.3_1779767013436_0.015095378150447702","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@cyanheads/college-scorecard-mcp-server","version":"0.1.4","keywords":["mcp","mcp-server","model-context-protocol","college-scorecard","higher-education","department-of-education","college-search","university-data","financial-aid","student-outcomes","post-graduation-earnings","college-comparison"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/college-scorecard-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/college-scorecard-mcp-server@0.1.4","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/college-scorecard-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/college-scorecard-mcp-server/issues"},"bin":{"college-scorecard-mcp-server":"dist/index.js"},"dist":{"shasum":"8e397aa1f2ed3bdf622dcfaf91c79db361637047","tarball":"https://registry.npmjs.org/@cyanheads/college-scorecard-mcp-server/-/college-scorecard-mcp-server-0.1.4.tgz","fileCount":87,"integrity":"sha512-B1kZCtZu+0sMkJTZEkebM3CpL+rCibkQRNeQrx5L8x5lOu22AUZOOoRWTEcAtudmVTMe3ld1LcS7uwVJzI/0XQ==","signatures":[{"sig":"MEQCIC4mUswafQI8ZvqphIuSQiubwwFf3oW9qpQXvBlLk78sAiBjNfbWx4U3HHTrVWRWU96JuUKJ/5wFs57+EyLMU7taug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":384689},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"8e397aa1f2ed3bdf622dcfaf91c79db361637047","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/college-scorecard-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/college-scorecard-mcp-server.mcpb","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","lint:packaging":"bun run scripts/lint-packaging.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-B1kZCtZu+0sMkJTZEkebM3CpL+rCibkQRNeQrx5L8x5lOu22AUZOOoRWTEcAtudmVTMe3ld1LcS7uwVJzI/0XQ==","repository":{"url":"git+https://github.com/cyanheads/college-scorecard-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search, compare, and analyze U.S. college data — costs, earnings, programs, and outcomes — via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"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.15"},"_npmOperationalInternal":{"tmp":"tmp/college-scorecard-mcp-server_0.1.4_1779781139338_0.8087033229555491","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@cyanheads/college-scorecard-mcp-server","version":"0.1.5","keywords":["mcp","mcp-server","model-context-protocol","stdio","streamable-http","college-scorecard","higher-education","department-of-education","college-search","university-data","financial-aid","student-outcomes","post-graduation-earnings","college-comparison"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/college-scorecard-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/college-scorecard-mcp-server@0.1.5","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/college-scorecard-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/college-scorecard-mcp-server/issues"},"bin":{"college-scorecard-mcp-server":"dist/index.js"},"dist":{"shasum":"0a12991bb9c870fed4821246476ca2b162f146dd","tarball":"https://registry.npmjs.org/@cyanheads/college-scorecard-mcp-server/-/college-scorecard-mcp-server-0.1.5.tgz","fileCount":88,"integrity":"sha512-s9CWqfGn9ME4DQLbPUlOlU/jJTLEEMIYl1k9xe593ww34BwdHhQXZCKqHlwPhjAhrWSqNJQWfiXSYyYYp8taig==","signatures":[{"sig":"MEYCIQC4V+0vqCnVochPTxSaO1raAmYmiMKEvfuK2Tx8vBsipgIhAMKjbgnlFlBUQ3+aCBV8eWmENkmrh8CUK9oZCP62WwB2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":393896},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"0a12991bb9c870fed4821246476ca2b162f146dd","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/college-scorecard-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/college-scorecard-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/college-scorecard-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-s9CWqfGn9ME4DQLbPUlOlU/jJTLEEMIYl1k9xe593ww34BwdHhQXZCKqHlwPhjAhrWSqNJQWfiXSYyYYp8taig==","repository":{"url":"git+https://github.com/cyanheads/college-scorecard-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search, compare, and analyze U.S. college data — costs, earnings, programs, and outcomes — via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.10.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"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/college-scorecard-mcp-server_0.1.5_1781248980579_0.8600182674118637","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@cyanheads/college-scorecard-mcp-server","version":"0.1.6","keywords":["mcp","mcp-server","model-context-protocol","stdio","streamable-http","college-scorecard","higher-education","department-of-education","college-search","university-data","financial-aid","student-outcomes","post-graduation-earnings","college-comparison"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/college-scorecard-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/college-scorecard-mcp-server@0.1.6","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/college-scorecard-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/college-scorecard-mcp-server/issues"},"bin":{"college-scorecard-mcp-server":"dist/index.js"},"dist":{"shasum":"680c453af7ca64cbe388c8d3f314b0def67f3aa5","tarball":"https://registry.npmjs.org/@cyanheads/college-scorecard-mcp-server/-/college-scorecard-mcp-server-0.1.6.tgz","fileCount":89,"integrity":"sha512-a48jKyM/4wCXw9rNe8WtTIvR6HyWEJ7xJeHl9oPCciUSpMXSV/phTFzfxLS6rYuStRv/iCLhH6oFWRDHKh72OA==","signatures":[{"sig":"MEUCIGoPzuOBU59HgJxR2VufMesaV7RryEL3pi8LgN0xd6H6AiEA50H8SU7C4l6SnZA7nDsjl04Eay7uERl3FMcNYN0vqWY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":403210},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"680c453af7ca64cbe388c8d3f314b0def67f3aa5","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/college-scorecard-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/college-scorecard-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/college-scorecard-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-a48jKyM/4wCXw9rNe8WtTIvR6HyWEJ7xJeHl9oPCciUSpMXSV/phTFzfxLS6rYuStRv/iCLhH6oFWRDHKh72OA==","repository":{"url":"git+https://github.com/cyanheads/college-scorecard-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search, compare, and analyze U.S. college data — costs, earnings, programs, and outcomes — via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.10.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.9","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.4","@biomejs/biome":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/college-scorecard-mcp-server_0.1.6_1781924722474_0.9236249467856981","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@cyanheads/college-scorecard-mcp-server","version":"0.1.7","keywords":["mcp","mcp-server","model-context-protocol","stdio","streamable-http","college-scorecard","higher-education","department-of-education","college-search","university-data","financial-aid","student-outcomes","post-graduation-earnings","college-comparison"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/college-scorecard-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/college-scorecard-mcp-server@0.1.7","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/college-scorecard-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/college-scorecard-mcp-server/issues"},"bin":{"college-scorecard-mcp-server":"dist/index.js"},"dist":{"shasum":"5a0f96dc183b9b78a86616cf0e4b58e1b56c2b81","tarball":"https://registry.npmjs.org/@cyanheads/college-scorecard-mcp-server/-/college-scorecard-mcp-server-0.1.7.tgz","fileCount":90,"integrity":"sha512-rfvvsGjyNMHTvpaTcpMWSZ7eoatbfAwSMlpNrWfFfz3o2KfNm/7QlZOWlt35ZNuuFSC4YZP3DqzFHaRNn6Cg/g==","signatures":[{"sig":"MEYCIQDH/FognEqnm4rtI/C2gRVAPlvRbRQ/Iqc1ATbqnyAEJgIhAKIvlooBjmkzsJYIuwAK4fV9E6dDlH8I7Qpspn3h/8CY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":405700},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"5a0f96dc183b9b78a86616cf0e4b58e1b56c2b81","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/college-scorecard-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/college-scorecard-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/college-scorecard-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-rfvvsGjyNMHTvpaTcpMWSZ7eoatbfAwSMlpNrWfFfz3o2KfNm/7QlZOWlt35ZNuuFSC4YZP3DqzFHaRNn6Cg/g==","repository":{"url":"git+https://github.com/cyanheads/college-scorecard-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search, compare, and analyze U.S. college data — costs, earnings, programs, and outcomes — via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.10.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"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/college-scorecard-mcp-server_0.1.7_1781933212414_0.7283983191281185","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@cyanheads/college-scorecard-mcp-server","version":"0.1.8","keywords":["mcp","mcp-server","model-context-protocol","stdio","streamable-http","college-scorecard","higher-education","department-of-education","college-search","university-data","financial-aid","student-outcomes","post-graduation-earnings","college-comparison"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/college-scorecard-mcp-server@0.1.8","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/college-scorecard-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/college-scorecard-mcp-server/issues"},"bin":{"college-scorecard-mcp-server":"dist/index.js"},"dist":{"shasum":"226fa0888d44a230845ed80ffd5ed407aaed7c30","tarball":"https://registry.npmjs.org/@cyanheads/college-scorecard-mcp-server/-/college-scorecard-mcp-server-0.1.8.tgz","fileCount":96,"integrity":"sha512-eP/9WmiMAXPf2Fo0kNhc51wq4kWQOe2IF9dfUZ0x+LfzuvgCtgONoWeDhSSnqJ2ZRe6aqdkLoeIAxp1myEIIIw==","signatures":[{"sig":"MEUCIQCu8duR8epdSTFlJCpC5w6KCXYYlupPOHaeSRw/h9unCQIgfe5q1z6pzgwyVE+tnFFT9hR49+RkB0h1LuV3/2nZqzg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":439542},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"226fa0888d44a230845ed80ffd5ed407aaed7c30","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/college-scorecard-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/college-scorecard-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/college-scorecard-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-eP/9WmiMAXPf2Fo0kNhc51wq4kWQOe2IF9dfUZ0x+LfzuvgCtgONoWeDhSSnqJ2ZRe6aqdkLoeIAxp1myEIIIw==","repository":{"url":"git+https://github.com/cyanheads/college-scorecard-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search, compare, and analyze U.S. college data — costs, earnings, programs, and outcomes — via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.12.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.11","depcheck":"^1.4.7","tsc-alias":"^1.9.2","typescript":"^7.0.2","@types/node":"^26.2.0","@biomejs/biome":"^2.5.9","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/college-scorecard-mcp-server_0.1.8_1787329596933_0.7250640674926065","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@cyanheads/college-scorecard-mcp-server","version":"0.1.9","keywords":["mcp","mcp-server","model-context-protocol","stdio","streamable-http","college-scorecard","higher-education","department-of-education","college-search","university-data","financial-aid","student-outcomes","post-graduation-earnings","college-comparison"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/college-scorecard-mcp-server@0.1.9","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/college-scorecard-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/college-scorecard-mcp-server/issues"},"bin":{"college-scorecard-mcp-server":"dist/index.js"},"dist":{"shasum":"2e0094f161a3d4aee760414b274d5ab130118a0d","tarball":"https://registry.npmjs.org/@cyanheads/college-scorecard-mcp-server/-/college-scorecard-mcp-server-0.1.9.tgz","fileCount":98,"integrity":"sha512-vF/CCNtXd9q5r/aPXcw/bSPfj7DV8hfvYDKn5RWnHqfdkTw5GQzh6nwJ94osRb3JTI00RIeXCz7xGBkufyR24w==","signatures":[{"sig":"MEYCIQDGDwagW0QQgfiXa5vWOLHiWzw2qtnKbBwCvGP4MdVG9wIhAMIC8fWdnKXq/fputBctMI/EdmPKJyvs5Sieqbkt/7vU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDGB1aBHv/3NVXUCv9tqj835eTWlrWF3maMT8M/LzEfTgIgLJOrrtsFZFsatU4NOKTJzAA2JJFcYRSNV2f+pfJtS8U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":480516},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"2e0094f161a3d4aee760414b274d5ab130118a0d","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/college-scorecard-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/college-scorecard-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/college-scorecard-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","audit:fix":"bun audit fix","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-vF/CCNtXd9q5r/aPXcw/bSPfj7DV8hfvYDKn5RWnHqfdkTw5GQzh6nwJ94osRb3JTI00RIeXCz7xGBkufyR24w==","repository":{"url":"git+https://github.com/cyanheads/college-scorecard-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search, compare, and analyze U.S. college data — costs, earnings, programs, and outcomes — via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.6.5","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.13.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"},"_npmOperationalInternal":{"tmp":"tmp/college-scorecard-mcp-server_0.1.9_1790052084580_0.46400431186958646","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"_id":"@cyanheads/college-scorecard-mcp-server@0.2.0","bin":{"college-scorecard-mcp-server":"dist/index.js"},"bugs":{"url":"https://github.com/cyanheads/college-scorecard-mcp-server/issues"},"dist":{"shasum":"c87139203430e83a2392acba081d2a0091bf0917","tarball":"https://registry.npmjs.org/@cyanheads/college-scorecard-mcp-server/-/college-scorecard-mcp-server-0.2.0.tgz","fileCount":99,"integrity":"sha512-lmuMbDoyHT1IV2DvsspJAUcNxv0RP46B6cc8D31AzUD+SYRqtnDKnHp+0JrjxAN3Je11EidooI/Rjdhe7Q5+Lw==","signatures":[{"sig":"MEUCIE3yURh2j0U0V4ziakBeXaW0+ZQRHxZtnvg7RZlsFwnqAiEAvifzTgdZgPFJb/R1W6uyRxNP/Ekq4IxlQbyf2MLGZd4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDcddpW2E8ajEshHKgy1MJ9ekPneDjiYROpB9MO1Lo2AQIgBRFyfypAJq7JjARXdGF2R01yNCuh+/Z/UFTfJ6IgaYI="}],"unpackedSize":495843},"main":"dist/index.js","name":"@cyanheads/college-scorecard-mcp-server","type":"module","types":"dist/index.d.ts","author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","shasum":"c87139203430e83a2392acba081d2a0091bf0917","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/college-scorecard-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/college-scorecard-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/college-scorecard-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","audit:fix":"bun audit fix","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"version":"0.2.0","_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"homepage":"https://github.com/cyanheads/college-scorecard-mcp-server#readme","keywords":["mcp","mcp-server","model-context-protocol","stdio","streamable-http","college-scorecard","higher-education","department-of-education","college-search","university-data","financial-aid","student-outcomes","post-graduation-earnings","college-comparison"],"_integrity":"sha512-lmuMbDoyHT1IV2DvsspJAUcNxv0RP46B6cc8D31AzUD+SYRqtnDKnHp+0JrjxAN3Je11EidooI/Rjdhe7Q5+Lw==","repository":{"url":"git+https://github.com/cyanheads/college-scorecard-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search, compare, and analyze U.S. college data — costs, earnings, programs, and outcomes — via MCP. STDIO or Streamable HTTP.","directories":{},"maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.6.5","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.13.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","@socketsecurity/bun-security-scanner":"^1.1.3"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/college-scorecard-mcp-server_0.2.0_1790764941587_0.3081087758859018"}}},"time":{"created":"2026-05-26T03:16:30.875Z","modified":"2026-09-30T10:42:21.855Z","0.1.1":"2026-05-26T03:16:31.261Z","0.1.2":"2026-05-26T03:18:07.335Z","0.1.3":"2026-05-26T03:43:33.616Z","0.1.4":"2026-05-26T07:38:59.495Z","0.1.5":"2026-06-12T07:23:00.726Z","0.1.6":"2026-06-20T03:05:22.620Z","0.1.7":"2026-06-20T05:26:52.573Z","0.1.8":"2026-08-21T16:26:37.064Z","0.1.9":"2026-09-22T04:41:24.702Z","0.2.0":"2026-09-30T10:42:21.709Z"},"bugs":{"url":"https://github.com/cyanheads/college-scorecard-mcp-server/issues"},"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","homepage":"https://github.com/cyanheads/college-scorecard-mcp-server#readme","keywords":["mcp","mcp-server","model-context-protocol","stdio","streamable-http","college-scorecard","higher-education","department-of-education","college-search","university-data","financial-aid","student-outcomes","post-graduation-earnings","college-comparison"],"repository":{"url":"git+https://github.com/cyanheads/college-scorecard-mcp-server.git","type":"git"},"description":"Search, compare, and analyze U.S. college data — costs, earnings, programs, and outcomes — via MCP. STDIO or Streamable HTTP.","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"readme":"<div align=\"center\">\n  <h1>@cyanheads/college-scorecard-mcp-server</h1>\n  <p><b>Search, compare, and analyze U.S. college data — costs, earnings, programs, and outcomes — via MCP. STDIO or Streamable HTTP.</b>\n  <div>9 Tools • 2 Resources • 1 Prompt</div>\n  </p>\n</div>\n\n<div align=\"center\">\n\n[![Version](https://img.shields.io/badge/Version-0.2.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/college-scorecard-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/college-scorecard-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/college-scorecard-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/college-scorecard-mcp-server/releases/latest/download/college-scorecard-mcp-server.mcpb) [![Install in Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en/install-mcp?name=college-scorecard-mcp-server&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBjeWFuaGVhZHMvY29sbGVnZS1zY29yZWNhcmQtbWNwLXNlcnZlciJdLCJlbnYiOnsiU0NPUkVDQVJEX0FQSV9LRVkiOiJ5b3VyLWFwaS1rZXkifX0=) [![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%22college-scorecard-mcp-server%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40cyanheads%2Fcollege-scorecard-mcp-server%22%5D%2C%22env%22%3A%7B%22SCORECARD_API_KEY%22%3A%22your-api-key%22%7D%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---\n\n## Overview\n\nU.S. college data from the Department of Education College Scorecard API — costs, earnings, programs, and outcomes across roughly 6,500 Title IV institutions. Search and compare schools, look up program-level earnings by field of study, and compute ROI metrics like debt-to-earnings ratio from any MCP client. Runs as a stdio process or a local Streamable HTTP server.\n\n### Tools\n\n| Tool | Description |\n|:---|:---|\n| `scorecard_search_schools` | Search institutions by name, location, type, size, acceptance rate, and single-sex flags; sort by supported API fields. Returns core identity and cost metrics. |\n| `scorecard_get_school` | Full institutional profiles — costs, admissions, outcomes, aid, demographics, single-sex flags, and completion rates. |\n| `scorecard_compare_schools` | Normalized side-by-side comparison of 2–5 schools on a named topic. Returns percentile-ranked rows and relative deltas within the result set. |\n| `scorecard_get_programs` | Field-of-study programs at one school: median 1-year earnings, cumulative Stafford/Grad PLUS debt, and IPEDS awards in the two pooled debt-cohort years. |\n| `scorecard_search_programs` | Find programs by CIP code or keyword, with school, earnings, and debt filters; rank by earnings within each fetched school page. |\n| `scorecard_get_earnings` | Institution-level post-graduation earnings for one school — median at 6, 8, and 10 years after entry (P25/P75 at 6 and 10 years), with optional gender breakdown. |\n| `scorecard_value_analysis` | Workflow tool: parallel-fetches cost, debt, repayment, and earnings data, then computes ROI metrics — debt-to-earnings ratio and net price to earnings ratio. |\n| `scorecard_lookup_cip` | Search 202 curated Classification of Instructional Programs (CIP) codes by keyword or partial name. Served from embedded static data — no API call or rate-limit impact. |\n| `scorecard_list_fields` | Search the Scorecard field catalog by keyword. Returns matching field paths, descriptions, data types, and sort support. Use before passing custom `fields` parameters. |\n\n### Resources\n\n| Resource | Description |\n|:---|:---|\n| `scorecard://school/{id}` | Institutional profile by unit ID — injectable context for school-specific conversations |\n| `scorecard://programs/{id}` | Program-level outcomes for a school |\n\nAll resource data is also reachable via tools. Use `scorecard_search_schools` or `scorecard_get_school` to discover school IDs before constructing resource URIs.\n\n### Prompts\n\n| Prompt | Description |\n|:---|:---|\n| `scorecard_compare_prompt` | Structures a multi-school comparison analysis using Scorecard data |\n\n## Capability reference\n\n### `scorecard_search_schools` <sub>tool</sub>\n\n- Search by name, state, ownership, degree level, size, acceptance rate, CIP code, or zip code and distance; `per_page` is capped at 100 with zero-indexed `page`.\n- Returns core identity and cost metrics for quick scanning.\n- `sort` forwards a supported API expression such as `latest.cost.avg_net_price.overall:asc` (`:desc` reverses it). `men_only` and `women_only` accept true or false; omission includes unknown flags, while false selects only explicit zero values.\n\n---\n\n### `scorecard_get_school` <sub>tool</sub>\n\n- Accepts a single school ID or an array of up to 100 IDs per call.\n- Returns institutional profiles covering costs, admissions, outcomes, financial aid, demographics, and completion rates; `fields` overrides the default selection. `men_only` and `women_only` preserve true/false when known and are absent when unknown.\n\n---\n\n### `scorecard_compare_schools` <sub>tool</sub>\n\n- Accepts 2–5 school unit IDs and one topic: `costs`, `admissions`, `outcomes`, or `aid`.\n- Returns comparison rows with within-set percentile ranks and relative deltas from a single API call.\n\n---\n\n### `scorecard_get_programs` <sub>tool</sub>\n\n- Accepts one school ID, with optional CIP code, `credential_level`, and minimum earnings filters.\n- Returns median earnings and the matching count of graduates working and not enrolled 1 year after their highest credential, with `suppressed` and `suppression_note` for unavailable earnings.\n- `median_debt` is completers' cumulative Stafford/Grad PLUS borrowing across attended institutions at the same academic level. `ipeds_awards_year1` and `ipeds_awards_year2` count awards in each year of the pooled debt cohort, not enrollment or unique students.\n\n---\n\n### `scorecard_search_programs` <sub>tool</sub>\n\n- Search by CIP code or program name, with state, ownership, net price, earnings, and debt filters; zero-indexed `page` and `per_page` (up to 100) paginate schools, so returned program rows may exceed `per_page`.\n- Returns school IDs and names alongside program metrics, sorted by earnings within the fetched page.\n- `min_earnings` filters locally; totals and pagination remain upstream school counts before local filtering. Earnings/debt thresholds are inclusive and exclude unknown values. Debt and award fields have the same meanings as in `scorecard_get_programs`.\n\n---\n\n### `scorecard_get_earnings` <sub>tool</sub>\n\n- Accepts one school ID and optional `years` for cohort trends and a gender-breakdown option.\n- Returns median earnings at 6, 8, and 10 years after entry, P25/P75 at 6 and 10 years, and optional 6-year female/male medians; `suppressed` and `suppression_note` flag earnings unavailable at every time point.\n- Each requested trend year adds its 6-year and 10-year median alongside the current snapshot.\n\n---\n\n### `scorecard_value_analysis` <sub>tool</sub>\n\n- Accepts one school ID; optional `family_income` selects the applicable net price bracket ($0–30k, $30k–48k, $48k–75k, $75k–110k, or $110k+).\n- Returns debt-to-earnings and net-price-to-earnings ratios alongside the source figures; `data_notes` explains suppressed or missing fields.\n\n---\n\n### `scorecard_lookup_cip` <sub>tool</sub>\n\n- Search by keyword or partial name with `limit` up to 50 (default 20); use before CIP filters when the code is unknown.\n- Returns codes, standard titles, and CIP families from a curated offline set of 202 common 4-digit codes, rather than the full NCES taxonomy.\n\n---\n\n### `scorecard_list_fields` <sub>tool</sub>\n\n- Search 80 curated offline field entries with `limit` up to 100 (default 30); use before passing custom `fields` to `scorecard_get_school`.\n- Returns field paths, descriptions, data types, categories, and API sorting support; `tip` flags results containing unsortable fields.\n\n---\n\n### `scorecard://school/{id}` <sub>resource</sub>\n\n- Institutional profile as `application/json` — identity, cost, admissions, outcomes, aid, and completion data\n- `id` is the school unit ID (integer as string) from `scorecard_search_schools`\n- `list` returns a handful of example school URIs; use `scorecard_search_schools` to discover others\n\n---\n\n### `scorecard://programs/{id}` <sub>resource</sub>\n\n- Program-level outcomes as `application/json` — CIP code, title, credential level, 1-year earnings, cumulative Stafford/Grad PLUS debt, and `ipeds_awards_year1` / `ipeds_awards_year2` with the same meanings as the program tools; missing metrics are null\n- `id` is the school unit ID from `scorecard_search_schools`\n- `list` returns a handful of example school URIs; use `scorecard_search_schools` to discover others\n\n---\n\n### `scorecard_compare_prompt` <sub>prompt</sub>\n\n- Arguments: `school_names` (comma-separated list) and `focus` (`costs` | `outcomes` | `programs`), both required\n- Returns one user message sequencing `scorecard_search_schools` → `scorecard_compare_schools` → `scorecard_get_school`, plus `scorecard_get_programs`/`scorecard_lookup_cip` when focus is `programs` or `scorecard_value_analysis` otherwise\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\nCollege Scorecard-specific:\n\n- Full College Scorecard API coverage: ~6,500 Title IV institutions, ~2,800 data fields spanning costs, outcomes, demographics, financial aid, and field-of-study earnings\n- Program-level earnings: median earnings of graduates working and not enrolled 1 year after their highest credential, per school × CIP code × credential level\n- Field pre-selection per tool — curated field sets appropriate to each tool's purpose; optional `fields` override for custom queries\n- Embedded CIP code taxonomy (202 codes) and field catalog (80 fields) served as static data — zero API calls, zero rate-limit impact\n- Geographic filtering via U.S. zip code + distance radius\n\nAgent-friendly output:\n\n- FERPA suppression surfaced as structured `suppressed: true` flag with `suppression_note` — prevents hallucination of missing earnings data at selective schools with small cohorts\n- Derived metrics alongside source figures in `scorecard_value_analysis` — agents can verify arithmetic and branch on computed values, not raw numbers\n- Percentile ranks and relative deltas in `scorecard_compare_schools` — structured output an agent cannot reconstruct from raw profiles without knowing the full comparison set\n- School sorting uses indexed API fields; check `scorecard_list_fields` before choosing a sort expression. Six-year earnings does not support API sorting. Program earnings ordering applies within each fetched school page.\n\n## Getting started\n\nAdd the following to your MCP client configuration file. See [api.data.gov/signup](https://api.data.gov/signup/) for a free API key.\n\n```json\n{\n  \"mcpServers\": {\n    \"college-scorecard-mcp-server\": {\n      \"type\": \"stdio\",\n      \"command\": \"bunx\",\n      \"args\": [\"@cyanheads/college-scorecard-mcp-server@latest\"],\n      \"env\": {\n        \"MCP_TRANSPORT_TYPE\": \"stdio\",\n        \"MCP_LOG_LEVEL\": \"info\",\n        \"SCORECARD_API_KEY\": \"your-api-key\"\n      }\n    }\n  }\n}\n```\n\nOr with npx (no Bun required):\n\n```json\n{\n  \"mcpServers\": {\n    \"college-scorecard-mcp-server\": {\n      \"type\": \"stdio\",\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@cyanheads/college-scorecard-mcp-server@latest\"],\n      \"env\": {\n        \"MCP_TRANSPORT_TYPE\": \"stdio\",\n        \"MCP_LOG_LEVEL\": \"info\",\n        \"SCORECARD_API_KEY\": \"your-api-key\"\n      }\n    }\n  }\n}\n```\n\nOr with Docker:\n\n```json\n{\n  \"mcpServers\": {\n    \"college-scorecard-mcp-server\": {\n      \"type\": \"stdio\",\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\", \"-i\", \"--rm\",\n        \"-e\", \"MCP_TRANSPORT_TYPE=stdio\",\n        \"-e\", \"SCORECARD_API_KEY=your-api-key\",\n        \"ghcr.io/cyanheads/college-scorecard-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 SCORECARD_API_KEY=... bun run start:http\n# Server listens at http://localhost:3010/mcp\n```\n\n### Prerequisites\n\n- [Bun v1.4.0](https://bun.sh/) or higher (or Node.js v24+).\n- A College Scorecard API key — free registration at [api.data.gov/signup](https://api.data.gov/signup/). Rate limit: 1,000 requests/hour per key.\n\n### Installation\n\n1. **Clone the repository:**\n\n```sh\ngit clone https://github.com/cyanheads/college-scorecard-mcp-server.git\n```\n\n2. **Navigate into the directory:**\n\n```sh\ncd college-scorecard-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 SCORECARD_API_KEY\n```\n\n## Configuration\n\nAll configuration is validated at startup via Zod schemas in `src/config/server-config.ts`. Key environment variables:\n\n| Variable | Description | Default |\n|:---|:---|:---|\n| `SCORECARD_API_KEY` | **Required.** API key from [api.data.gov](https://api.data.gov/signup/). 1,000 req/hour rate limit. | — |\n| `MCP_TRANSPORT_TYPE` | Transport: `stdio` or `http` | `stdio` |\n| `MCP_HTTP_PORT` | HTTP server port | `3010` |\n| `MCP_HTTP_ENDPOINT_PATH` | HTTP endpoint path where the MCP server is mounted | `/mcp` |\n| `MCP_PUBLIC_URL` | Public origin override for TLS-terminating reverse-proxy deployments | none |\n| `MCP_SESSION_MODE` | HTTP session mode: `stateless`, `stateful`, or `auto`. The server declares `stateless` in code; an explicit env value overrides it. | `stateless` |\n| `MCP_AUTH_MODE` | Authentication: `none`, `jwt`, or `oauth` | `none` |\n| `MCP_LOG_LEVEL` | Log level (`debug`, `info`, `warning`, `error`, etc.) | `info` |\n| `MCP_GC_PRESSURE_INTERVAL_MS` | Opt-in forced-GC pressure loop (ms, Bun only). Try `60000` if heap growth is observed under sustained HTTP load. | `0` (disabled) |\n| `LOGS_DIR` | Directory for log files (Node.js only) | `<project-root>/logs` |\n| `STORAGE_PROVIDER_TYPE` | Storage backend: `in-memory`, `filesystem`, `supabase`, `cloudflare-kv/r2/d1` | `in-memory` |\n| `OTEL_ENABLED` | Enable [OpenTelemetry instrumentation](https://github.com/cyanheads/mcp-ts-core/tree/main/docs/telemetry) | `false` |\n\nSee [`.env.example`](./.env.example) for the full list of optional overrides.\n\n## Running the server\n\n### Local development\n\n- **Build and run:**\n\n  ```sh\n  # One-time build\n  bun run rebuild\n\n  # Run the built server\n  bun run start:stdio\n  # or\n  bun run start:http\n  ```\n\n- **Run checks and tests:**\n\n  ```sh\n  bun run devcheck   # Lint, format, typecheck, security\n  bun run test       # Vitest test suite\n  bun run lint:mcp   # Validate MCP definitions against spec\n  ```\n\n### Docker\n\n```sh\ndocker build -t college-scorecard-mcp-server .\ndocker run --rm -e SCORECARD_API_KEY=your-key -p 3010:3010 college-scorecard-mcp-server\n```\n\nThe Dockerfile defaults to HTTP transport, stateless session mode, and logs to `/var/log/college-scorecard-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/resources/prompts and inits services. |\n| `src/config` | Server-specific environment variable parsing and validation with Zod. |\n| `src/mcp-server/tools` | Tool definitions (`*.tool.ts`). Nine tools across search, profile, programs, earnings, and analysis. |\n| `src/mcp-server/resources` | Resource definitions. School profile and program outcomes resources. |\n| `src/mcp-server/prompts` | Prompt definitions. Multi-school comparison prompt. |\n| `src/services` | `ScorecardService` — fetch wrapper with retry, field selection, and pagination against the College Scorecard API. |\n| `tests/` | Unit and integration tests mirroring `src/`. |\n\n## Development guide\n\nSee [`CLAUDE.md`](./CLAUDE.md) for development guidelines and architectural rules. The short version:\n\n- Handlers throw, framework catches — no `try/catch` in tool logic\n- Use `ctx.log` for request-scoped logging, `ctx.state` for tenant-scoped storage\n- Register new tools, resources, and prompts in the `createApp()` arrays in `src/index.ts`\n- Wrap external API calls: validate raw → normalize to domain type → return output schema; never fabricate missing fields\n\n## Contributing\n\nIssues are welcome. Run checks and tests before submitting:\n\n```sh\nbun run devcheck\nbun run test\n```\n\n## License\n\nApache-2.0 — see [LICENSE](LICENSE) for details.\n","readmeFilename":"README.md"}