@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 +6 -1
- package/README.md +40 -6
- package/package.json +7 -2
- package/server.json +3 -3
package/CLAUDE.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Agent Protocol
|
|
2
2
|
|
|
3
3
|
**Server:** hn-mcp-server
|
|
4
|
-
**Version:** 0.5.
|
|
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
|
|
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
|
-
[](./CHANGELOG.md) [](./LICENSE) [](https://github.com/users/cyanheads/packages/container/package/hn-mcp-server) [](https://modelcontextprotocol.io/) [](https://www.npmjs.com/package/@cyanheads/hn-mcp-server) [](https://www.typescriptlang.org/) [](https://bun.sh/)
|
|
11
|
+
|
|
12
|
+
</div>
|
|
13
|
+
|
|
14
|
+
<div align="center">
|
|
15
|
+
|
|
16
|
+
[](https://github.com/cyanheads/hn-mcp-server/releases/latest/download/hn-mcp-server.mcpb) [](https://cursor.com/en/install-mcp?name=hn-mcp-server&config=eyJjb21tYW5kIjoibnB4IC15IEBjeWFuaGVhZHMvaG4tbWNwLXNlcnZlciJ9) [](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
|
+
[](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
|
|
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
|
+
"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.
|
|
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.
|
|
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.
|
|
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.
|
|
58
|
+
"version": "0.5.4",
|
|
59
59
|
"packageArguments": [
|
|
60
60
|
{
|
|
61
61
|
"type": "positional",
|