@cyanheads/hn-mcp-server 0.5.3 → 0.5.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
  # Agent Protocol
2
2
 
3
3
  **Server:** hn-mcp-server
4
- **Version:** 0.5.1
4
+ **Version:** 0.5.4
5
5
  **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core)
6
6
 
7
7
  > **Read the framework docs first:** `node_modules/@cyanheads/mcp-ts-core/CLAUDE.md` contains the full API reference — builders, Context, error codes, exports, patterns. This file covers server-specific conventions only.
@@ -110,6 +110,7 @@ Handlers receive a unified `ctx` object. Key properties:
110
110
  | `ctx.log` | Request-scoped logger — `.debug()`, `.info()`, `.notice()`, `.warning()`, `.error()`. Auto-correlates requestId, traceId, tenantId. |
111
111
  | `ctx.signal` | `AbortSignal` for cancellation. |
112
112
  | `ctx.requestId` | Unique request ID. |
113
+ | `ctx.tenantId` | Tenant ID from JWT or `'default'` for stdio. |
113
114
 
114
115
  ---
115
116
 
@@ -241,7 +242,11 @@ When you complete a skill's checklist, check the boxes and add a completion time
241
242
  | `bun run devcheck` | Lint + format + typecheck + security |
242
243
  | `bun run tree` | Generate directory structure doc |
243
244
  | `bun run format` | Auto-fix formatting |
245
+ | `bun run list-skills` | Print skills index from project `skills/` |
244
246
  | `bun run lint:mcp` | Validate MCP tool/resource definitions |
247
+ | `bun run lint:packaging` | Validate env-var alignment between `manifest.json` and `server.json` |
248
+ | `bun run bundle` | Build and pack as `.mcpb` for Claude Desktop install |
249
+ | `bun run audit:refresh` | Delete `bun.lock`, reinstall, re-audit (clears stale lockfile false positives) |
245
250
  | `bun run test` | Run tests |
246
251
  | `bun run start:stdio` | Production mode (stdio) |
247
252
  | `bun run start:http` | Production mode (HTTP) |
package/README.md CHANGED
@@ -1,13 +1,21 @@
1
1
  <div align="center">
2
2
  <h1>@cyanheads/hn-mcp-server</h1>
3
- <p><b>MCP server for Hacker News. Feeds, threaded discussions, user profiles, and full-text search via the HN Firebase and Algolia APIs. Runs over stdio or HTTP.</b>
3
+ <p><b>MCP server for Hacker News — feeds, threads, users, and search via Firebase and Algolia APIs</b>
4
4
  <div>4 Tools</div>
5
5
  </p>
6
6
  </div>
7
7
 
8
8
  <div align="center">
9
9
 
10
- [![npm](https://img.shields.io/npm/v/@cyanheads/hn-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/hn-mcp-server) [![Version](https://img.shields.io/badge/Version-0.5.3-blue.svg?style=flat-square)](./CHANGELOG.md) [![Framework](https://img.shields.io/badge/Built%20on-@cyanheads/mcp--ts--core-259?style=flat-square)](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^1.29.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![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->=1.3.0-f9f1e1.svg?style=flat-square)](https://bun.sh/)
10
+ [![Version](https://img.shields.io/badge/Version-0.5.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/hn-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/hn-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/hn-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->=1.3.0-f9f1e1.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/hn-mcp-server/releases/latest/download/hn-mcp-server.mcpb) [![Install in Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en/install-mcp?name=hn-mcp-server&config=eyJjb21tYW5kIjoibnB4IC15IEBjeWFuaGVhZHMvaG4tbWNwLXNlcnZlciJ9) [![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%22hn-mcp-server%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40cyanheads/hn-mcp-server%22%5D%7D)
17
+
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)
11
19
 
12
20
  </div>
13
21
 
@@ -105,7 +113,7 @@ A public instance is available at `https://hn.caseyjhand.com/mcp` — no install
105
113
 
106
114
  ### Self-Hosted / Local
107
115
 
108
- Add to your MCP client config (e.g., `claude_desktop_config.json`):
116
+ Add to your MCP client configuration file:
109
117
 
110
118
  ```json
111
119
  {
@@ -113,13 +121,17 @@ Add to your MCP client config (e.g., `claude_desktop_config.json`):
113
121
  "hn-mcp-server": {
114
122
  "type": "stdio",
115
123
  "command": "bunx",
116
- "args": ["@cyanheads/hn-mcp-server@latest"]
124
+ "args": ["@cyanheads/hn-mcp-server@latest"],
125
+ "env": {
126
+ "MCP_TRANSPORT_TYPE": "stdio",
127
+ "MCP_LOG_LEVEL": "info"
128
+ }
117
129
  }
118
130
  }
119
131
  }
120
132
  ```
121
133
 
122
- Or with npx:
134
+ Or with npx (no Bun required):
123
135
 
124
136
  ```json
125
137
  {
@@ -127,7 +139,29 @@ Or with npx:
127
139
  "hn-mcp-server": {
128
140
  "type": "stdio",
129
141
  "command": "npx",
130
- "args": ["-y", "@cyanheads/hn-mcp-server"]
142
+ "args": ["-y", "@cyanheads/hn-mcp-server"],
143
+ "env": {
144
+ "MCP_TRANSPORT_TYPE": "stdio",
145
+ "MCP_LOG_LEVEL": "info"
146
+ }
147
+ }
148
+ }
149
+ }
150
+ ```
151
+
152
+ Or with Docker:
153
+
154
+ ```json
155
+ {
156
+ "mcpServers": {
157
+ "hn-mcp-server": {
158
+ "type": "stdio",
159
+ "command": "docker",
160
+ "args": [
161
+ "run", "-i", "--rm",
162
+ "-e", "MCP_TRANSPORT_TYPE=stdio",
163
+ "ghcr.io/cyanheads/hn-mcp-server:latest"
164
+ ]
131
165
  }
132
166
  }
133
167
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyanheads/hn-mcp-server",
3
- "version": "0.5.3",
3
+ "version": "0.5.4",
4
4
  "description": "MCP server for Hacker News — feeds, threads, users, and search via Firebase and Algolia APIs",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -16,7 +16,11 @@
16
16
  "devcheck": "bun scripts/devcheck.ts",
17
17
  "tree": "bun scripts/tree.ts",
18
18
  "format": "biome check --write --unsafe .",
19
+ "list-skills": "bun scripts/list-skills.ts",
19
20
  "lint:mcp": "bun scripts/lint-mcp.ts",
21
+ "lint:packaging": "bun scripts/lint-packaging.ts",
22
+ "bundle": "bun run build && npx -y @anthropic-ai/mcpb pack . dist/hn-mcp-server.mcpb",
23
+ "audit:refresh": "rm -f bun.lock && bun install && bun audit",
20
24
  "changelog:build": "bun scripts/build-changelog.ts",
21
25
  "changelog:check": "bun scripts/build-changelog.ts --check",
22
26
  "test": "bun --bun vitest run",
@@ -63,7 +67,8 @@
63
67
  "access": "public"
64
68
  },
65
69
  "dependencies": {
66
- "@cyanheads/mcp-ts-core": "^0.9.1"
70
+ "@cyanheads/mcp-ts-core": "^0.9.6",
71
+ "zod": "^4.4.3"
67
72
  },
68
73
  "devDependencies": {
69
74
  "@biomejs/biome": "^2.4.15",
package/server.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "url": "https://github.com/cyanheads/hn-mcp-server",
7
7
  "source": "github"
8
8
  },
9
- "version": "0.5.3",
9
+ "version": "0.5.4",
10
10
  "remotes": [
11
11
  {
12
12
  "type": "streamable-http",
@@ -19,7 +19,7 @@
19
19
  "registryBaseUrl": "https://registry.npmjs.org",
20
20
  "identifier": "@cyanheads/hn-mcp-server",
21
21
  "runtimeHint": "bun",
22
- "version": "0.5.3",
22
+ "version": "0.5.4",
23
23
  "packageArguments": [
24
24
  {
25
25
  "type": "positional",
@@ -55,7 +55,7 @@
55
55
  "registryBaseUrl": "https://registry.npmjs.org",
56
56
  "identifier": "@cyanheads/hn-mcp-server",
57
57
  "runtimeHint": "bun",
58
- "version": "0.5.3",
58
+ "version": "0.5.4",
59
59
  "packageArguments": [
60
60
  {
61
61
  "type": "positional",