@cyanheads/college-scorecard-mcp-server 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CLAUDE.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Developer Protocol
2
2
 
3
3
  **Server:** college-scorecard-mcp-server
4
- **Version:** 0.1.2
4
+ **Version:** 0.1.4
5
5
  **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.9.9`
6
6
  **Engines:** Bun ≥1.3.0, Node ≥24.0.0
7
7
  **MCP SDK:** `@modelcontextprotocol/sdk` ^1.29.0
package/Dockerfile CHANGED
@@ -4,23 +4,21 @@
4
4
  # This stage installs all dependencies (including dev), builds the TypeScript
5
5
  # source code into JavaScript, and prepares the production assets.
6
6
  # ==============================================================================
7
- FROM node:24-slim AS build
7
+ FROM oven/bun:1.3 AS build
8
8
 
9
9
  WORKDIR /usr/src/app
10
10
 
11
11
  # Copy dependency manifests for optimized layer caching
12
12
  COPY package.json bun.lock ./
13
13
 
14
- # Install all dependencies (including dev dependencies for building).
15
- # npm install resolves platform-specific optional deps (esbuild Linux binaries
16
- # required by tsx) correctly for the container's target architecture.
17
- RUN npm install
14
+ # Install all dependencies (including dev dependencies for building)
15
+ RUN bun install --frozen-lockfile
18
16
 
19
17
  # Copy the rest of the source code
20
18
  COPY . .
21
19
 
22
20
  # Build the application
23
- RUN npm run build
21
+ RUN bun run build
24
22
 
25
23
 
26
24
  # ==============================================================================
@@ -42,6 +40,7 @@ ENV NODE_ENV=production
42
40
  LABEL org.opencontainers.image.title="college-scorecard-mcp-server"
43
41
  LABEL org.opencontainers.image.description="Search, compare, and analyze U.S. college data — costs, earnings, programs, and outcomes — via MCP."
44
42
  LABEL org.opencontainers.image.licenses="Apache-2.0"
43
+ LABEL org.opencontainers.image.source="https://github.com/cyanheads/college-scorecard-mcp-server"
45
44
 
46
45
  # Copy dependency manifests
47
46
  COPY package.json bun.lock ./
package/README.md CHANGED
@@ -7,7 +7,13 @@
7
7
 
8
8
  <div align="center">
9
9
 
10
- [![Version](https://img.shields.io/badge/Version-0.1.2-blue.svg?style=flat-square)](./CHANGELOG.md) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![TypeScript](https://img.shields.io/badge/TypeScript-^6.0.3-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.3.0-blueviolet.svg?style=flat-square)](https://bun.sh/)
10
+ [![Version](https://img.shields.io/badge/Version-0.1.4-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-^1.29.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-^6.0.3-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.3.0-blueviolet.svg?style=flat-square)](https://bun.sh/)
11
+
12
+ </div>
13
+
14
+ <div align="center">
15
+
16
+ [![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)
11
17
 
12
18
  [![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)
13
19
 
@@ -0,0 +1,11 @@
1
+ ---
2
+ summary: "Dockerfile build stage switched to node:24-slim for tsx compatibility."
3
+ breaking: false
4
+ security: false
5
+ ---
6
+
7
+ # 0.1.3 — 2026-05-25
8
+
9
+ ## Fixed
10
+
11
+ - **Dockerfile build stage** switched to `node:24-slim` so `tsx` resolves correctly when running `npm run build` inside the container. `oven/bun:1.3` doesn't include Node.js utilities needed by tsx during the build phase.
@@ -0,0 +1,25 @@
1
+ ---
2
+ summary: "Package metadata alignment: author, funding, FUNDING.yml, README install badges, Dockerfile build stage, manifest.json, server.json, scripts use bun run."
3
+ breaking: false
4
+ security: false
5
+ ---
6
+
7
+ # 0.1.4 — 2026-05-26
8
+
9
+ ## Added
10
+
11
+ - **`.github/FUNDING.yml`** — GitHub Sponsors and Buy Me a Coffee links for `cyanheads`.
12
+ - **README install badges** — Install in Claude Desktop (`.mcpb` download), Install in Cursor (deeplink), Install in VS Code (deeplink) added to the README header.
13
+ - **README badge row** — Docker (ghcr.io), MCP SDK, and npm badges added alongside Version, License, TypeScript, and Bun.
14
+ - **`package.json` `author`** field: `cyanheads <casey@caseyjhand.com>`.
15
+ - **`package.json` `funding`** array: GitHub Sponsors and Buy Me a Coffee URLs.
16
+ - **`package.json` `bugs`** and **`homepage`** fields.
17
+ - **`manifest.json`** `description`, `author`, `repository`, `homepage`, `license` fields; `user_config.scorecard_api_key` entry for Claude Desktop install UX.
18
+ - **`server.json` stdio `environmentVariables`** — `SCORECARD_API_KEY` added as required.
19
+
20
+ ## Changed
21
+
22
+ - **`package.json` scripts** — all script commands use `bun run scripts/<name>.ts` pattern (was `tsx scripts/<name>.ts`); `start:stdio` / `start:http` use `bun ./dist/index.js` (was `node`); `bundle` uses `bun run build` (was `npm run build`); `test` uses `bunx vitest run`.
23
+ - **Dockerfile build stage** — switched from `node:24-slim` to `oven/bun:1.3` so `bun run build` resolves correctly; added `org.opencontainers.image.source` OCI label.
24
+ - **`manifest.json` version** — corrected to `0.1.3` (was `0.1.2`); now `0.1.4`.
25
+ - **`tsx` devDependency** removed — no longer needed after build scripts switched to `bun run`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyanheads/college-scorecard-mcp-server",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "Search, compare, and analyze U.S. college data — costs, earnings, programs, and outcomes — via MCP. STDIO or Streamable HTTP.",
5
5
  "mcpName": "io.github.cyanheads/college-scorecard-mcp-server",
6
6
  "type": "module",
@@ -19,23 +19,22 @@
19
19
  "server.json"
20
20
  ],
21
21
  "scripts": {
22
- "build": "tsx scripts/build.ts",
23
- "rebuild": "tsx scripts/clean.ts && tsx scripts/build.ts",
24
- "clean": "tsx scripts/clean.ts",
25
- "devcheck": "tsx scripts/devcheck.ts",
22
+ "build": "bun run scripts/build.ts",
23
+ "rebuild": "bun run scripts/clean.ts && bun run build",
24
+ "clean": "bun run scripts/clean.ts",
25
+ "devcheck": "bun run scripts/devcheck.ts",
26
26
  "audit:refresh": "rm -f bun.lock && bun install && bun audit",
27
- "tree": "tsx scripts/tree.ts",
28
- "list-skills": "tsx scripts/list-skills.ts",
27
+ "tree": "bun run scripts/tree.ts",
28
+ "list-skills": "bun run scripts/list-skills.ts",
29
29
  "format": "biome check --write --unsafe .",
30
- "lint:mcp": "tsx scripts/lint-mcp.ts",
31
- "lint:packaging": "tsx scripts/lint-packaging.ts",
32
- "bundle": "npm run build && npx -y @anthropic-ai/mcpb pack . dist/college-scorecard-mcp-server.mcpb",
33
- "changelog:build": "tsx scripts/build-changelog.ts",
34
- "changelog:check": "tsx scripts/build-changelog.ts --check",
35
- "test": "vitest run",
36
- "start": "node dist/index.js",
37
- "start:stdio": "MCP_TRANSPORT_TYPE=stdio node dist/index.js",
38
- "start:http": "MCP_TRANSPORT_TYPE=http node dist/index.js",
30
+ "lint:mcp": "bun run scripts/lint-mcp.ts",
31
+ "lint:packaging": "bun run scripts/lint-packaging.ts",
32
+ "bundle": "bun run build && npx -y @anthropic-ai/mcpb pack . dist/college-scorecard-mcp-server.mcpb",
33
+ "changelog:build": "bun run scripts/build-changelog.ts",
34
+ "changelog:check": "bun run scripts/build-changelog.ts --check",
35
+ "test": "bunx vitest run",
36
+ "start:stdio": "MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js",
37
+ "start:http": "MCP_TRANSPORT_TYPE=http bun ./dist/index.js",
39
38
  "publish-mcp": "mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish"
40
39
  },
41
40
  "keywords": [
@@ -56,6 +55,21 @@
56
55
  "type": "git",
57
56
  "url": "git+https://github.com/cyanheads/college-scorecard-mcp-server.git"
58
57
  },
58
+ "bugs": {
59
+ "url": "https://github.com/cyanheads/college-scorecard-mcp-server/issues"
60
+ },
61
+ "homepage": "https://github.com/cyanheads/college-scorecard-mcp-server#readme",
62
+ "author": "cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/college-scorecard-mcp-server#readme)",
63
+ "funding": [
64
+ {
65
+ "type": "github",
66
+ "url": "https://github.com/sponsors/cyanheads"
67
+ },
68
+ {
69
+ "type": "buy_me_a_coffee",
70
+ "url": "https://www.buymeacoffee.com/cyanheads"
71
+ }
72
+ ],
59
73
  "license": "Apache-2.0",
60
74
  "engines": {
61
75
  "bun": ">=1.3.0",
@@ -75,7 +89,6 @@
75
89
  "depcheck": "^1.4.7",
76
90
  "ignore": "^7.0.5",
77
91
  "tsc-alias": "^1.8.17",
78
- "tsx": "^4.22.3",
79
92
  "typescript": "^6.0.3",
80
93
  "vitest": "^4.1.7"
81
94
  }
package/server.json CHANGED
@@ -6,14 +6,14 @@
6
6
  "url": "https://github.com/cyanheads/college-scorecard-mcp-server",
7
7
  "source": "github"
8
8
  },
9
- "version": "0.1.3",
9
+ "version": "0.1.4",
10
10
  "packages": [
11
11
  {
12
12
  "registryType": "npm",
13
13
  "registryBaseUrl": "https://registry.npmjs.org",
14
14
  "identifier": "@cyanheads/college-scorecard-mcp-server",
15
15
  "runtimeHint": "node",
16
- "version": "0.1.3",
16
+ "version": "0.1.4",
17
17
  "packageArguments": [
18
18
  {
19
19
  "type": "positional",
@@ -25,6 +25,12 @@
25
25
  }
26
26
  ],
27
27
  "environmentVariables": [
28
+ {
29
+ "name": "SCORECARD_API_KEY",
30
+ "description": "Required API key for the College Scorecard API. Free registration at https://api.data.gov/signup/. Rate limit: 1,000 requests/hour.",
31
+ "format": "string",
32
+ "isRequired": true
33
+ },
28
34
  {
29
35
  "name": "MCP_LOG_LEVEL",
30
36
  "description": "Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').",
@@ -42,7 +48,7 @@
42
48
  "registryBaseUrl": "https://registry.npmjs.org",
43
49
  "identifier": "@cyanheads/college-scorecard-mcp-server",
44
50
  "runtimeHint": "node",
45
- "version": "0.1.3",
51
+ "version": "0.1.4",
46
52
  "packageArguments": [
47
53
  {
48
54
  "type": "positional",