@cyanheads/openalex-mcp-server 0.10.0 → 0.10.1
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/AGENTS.md +19 -7
- package/CLAUDE.md +19 -7
- package/Dockerfile +6 -0
- package/README.md +22 -101
- package/changelog/0.10.x/0.10.1.md +28 -0
- package/dist/mcp-server/tools/response-budget.d.ts +3 -2
- package/dist/mcp-server/tools/response-budget.d.ts.map +1 -1
- package/dist/mcp-server/tools/response-budget.js +31 -4
- package/dist/mcp-server/tools/response-budget.js.map +1 -1
- package/package.json +7 -6
- package/server.json +3 -3
package/AGENTS.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# Developer Protocol
|
|
2
2
|
|
|
3
3
|
**Server:** openalex-mcp-server
|
|
4
|
-
**Version:** 0.10.
|
|
5
|
-
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.13.
|
|
4
|
+
**Version:** 0.10.1
|
|
5
|
+
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.13.18`
|
|
6
6
|
**Engines:** Bun ≥1.4.0, Node ≥24.0.0
|
|
7
|
-
**MCP SDK:** `@modelcontextprotocol/server` ^2.
|
|
7
|
+
**MCP SDK:** `@modelcontextprotocol/server` ^2.4.0
|
|
8
8
|
**Zod:** ^4.6.7
|
|
9
9
|
|
|
10
10
|
> **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.
|
|
@@ -260,9 +260,18 @@ src/
|
|
|
260
260
|
|
|
261
261
|
## Skills
|
|
262
262
|
|
|
263
|
-
|
|
263
|
+
Two skill trees live at the project root, written for different readers:
|
|
264
264
|
|
|
265
|
-
|
|
265
|
+
| Tree | For | Written by |
|
|
266
|
+
|:-----|:----|:-----------|
|
|
267
|
+
| `framework-skills/` | The agent developing this server — framework skills (`metadata.audience: external`) plus any development-time skills of the server's own | `init` and the `maintenance` sync (framework skills); you (your own) |
|
|
268
|
+
| `skills/` | The agents that install the server and call its tools — tool chains, identifier sources, gates | You, deliberately, with the `add-skill` skill. Absent by default; usually none is needed |
|
|
269
|
+
|
|
270
|
+
Development skills are modular instructions. Read them directly when a task matches — e.g., `framework-skills/add-tool/SKILL.md` when adding a tool. `bun run list-skills` prints the full registry. Their directory is deliberately not `skills/`: Claude Code and Codex auto-load a plugin's root `skills/`, so a server that ships `.claude-plugin/` or `.codex-plugin/` would hand them to every agent that installs it.
|
|
271
|
+
|
|
272
|
+
A published skill in root `skills/` reaches plugin installs and the `.mcpb` bundle as-is, ships in the npm package and the Docker image, and reaches MCP clients when the server opts in with `createApp({ skills: 'skills' })`. `lint:packaging` validates the tree.
|
|
273
|
+
|
|
274
|
+
**Agent skill directory:** Copy `framework-skills/` into the directory your agent discovers (Claude Code: `.claude/skills/`, others: equivalent). Skills then load as context without referencing `framework-skills/` paths. After framework updates, run the `maintenance` skill — Phase B re-syncs the agent directory.
|
|
266
275
|
|
|
267
276
|
Available skills:
|
|
268
277
|
|
|
@@ -274,6 +283,7 @@ Available skills:
|
|
|
274
283
|
| `add-app-tool` | Scaffold an MCP App tool + paired UI resource |
|
|
275
284
|
| `add-resource` | Scaffold a new resource definition |
|
|
276
285
|
| `add-prompt` | Scaffold a new prompt definition |
|
|
286
|
+
| `add-skill` | Author a skill the server publishes in root `skills/` for the agents that use it — when one earns its place, structure, validation, delivery |
|
|
277
287
|
| `add-service` | Scaffold a new service integration |
|
|
278
288
|
| `add-test` | Scaffold test file for a tool, resource, or service |
|
|
279
289
|
| `field-test` | Exercise tools/resources/prompts with real inputs, verify behavior, report issues |
|
|
@@ -322,7 +332,7 @@ When you complete a skill's checklist, check the boxes and add a completion time
|
|
|
322
332
|
| `bun run format` | Auto-fix formatting (safe fixes only) |
|
|
323
333
|
| `bun run format:unsafe` | Also apply Biome's unsafe autofixes — review the diff; they can change behavior |
|
|
324
334
|
| `bun run lint:mcp` | Validate MCP tool/prompt definitions (rule catalog: `api-linter` skill) |
|
|
325
|
-
| `bun run lint:packaging` | Packaging surface checks — env-var parity, plugin
|
|
335
|
+
| `bun run lint:packaging` | Packaging surface checks — `server.json`/`manifest.json` env-var parity, `.mcpbignore` coverage, plugin manifests, README version badge (run by devcheck) |
|
|
326
336
|
| `bun run list-skills` | List available skills |
|
|
327
337
|
| `bun run test` | Run tests (Vitest — use `bun run test`, not `bun test`) |
|
|
328
338
|
| `bun run start:stdio` | Production mode (stdio, after `rebuild`) |
|
|
@@ -338,7 +348,7 @@ When you complete a skill's checklist, check the boxes and add a completion time
|
|
|
338
348
|
|
|
339
349
|
## Bundling
|
|
340
350
|
|
|
341
|
-
`bun run bundle` produces a `.mcpb` extension bundle for one-click install in Claude Desktop. MCPB is stdio-only — HTTP deployments are unaffected. Consumers who don't need it can delete `manifest.json` and `.mcpbignore`; `lint:packaging` skips cleanly.
|
|
351
|
+
`bun run bundle` produces a `.mcpb` extension bundle for one-click install in Claude Desktop. `mcpb pack` reads `.mcpbignore`, not `.gitignore`, so every root path the bundle must not ship — source, tests, docs, caches, logs, agent docs, plugin manifests, gitignored local files — needs a root-anchored line there (`/docs/`, never `docs/`, which also strips `node_modules/*/docs/`); `lint:packaging` names each missing or unanchored line, and a root path of the server's own (`/claude-plans/`) is added by hand. MCPB is stdio-only — HTTP deployments are unaffected. Consumers who don't need it can delete `manifest.json` and `.mcpbignore`; `lint:packaging` skips cleanly.
|
|
342
352
|
|
|
343
353
|
**Adding an env var requires both files:** `server.json` (registry discovery, `environmentVariables[]`) and `manifest.json` (bundle install UX, `mcp_config.env` + `user_config`). `lint:packaging` (run by `devcheck`) verifies the env var names match.
|
|
344
354
|
Every bundle option must be wired as `${user_config.<option>}`; optional strings need a default. Claude plugins use the same options under `userConfig`, while Codex forwards user variables through `env_vars`. Never overwrite a user's exported value with an empty plugin `env` entry.
|
|
@@ -402,4 +412,6 @@ import { getOpenAlexService } from '@/services/openalex/openalex-service.js';
|
|
|
402
412
|
- [ ] `.codex-plugin/plugin.json` populated — `name`, `version`, `description`, `repository`, `license` from `package.json`; `interface.displayName` = the unscoped repo name (never the npm scope — `lint:packaging` enforces this); `interface.shortDescription` from `package.json` description
|
|
403
413
|
- [ ] `.codex-plugin/mcp.json` updated — server name key is the unscoped repo name; every user-supplied variable (API key, contact email, instance URL) is listed in `env_vars` so Codex forwards it from the user's environment. Never write `"KEY": ""` into `env` — an empty value replaces the user's exported key and is read as unset
|
|
404
414
|
- [ ] `.claude-plugin/plugin.json` populated — `name`, `version`, `description`, `author`, `repository`, `license`, `keywords` from `package.json`; inline `mcpServers` entry keyed by the unscoped repo name. Every user-supplied variable is declared under `userConfig` (`type`, `title`, `description`; `sensitive: true` for keys and tokens; `required: true` or `default: ""`) and referenced from `env` as `"KEY": "${user_config.<option>}"` — mirror the `user_config` block in `manifest.json`. Never write `"KEY": ""` into `env`
|
|
415
|
+
- [ ] `plugin.json` + `mcp.json` (Agent Plugins 1.0.0 — read by Codex, Cursor, GitHub Copilot, VS Code, Kiro) populated — `plugin.json` `name` = the unscoped repo name; `version`, `description`, `author`, `homepage`, `repository`, `license`, `keywords` from `package.json`; no other top-level field, `extensions` included. `mcp.json` holds one `"type": "stdio"` entry keyed by the unscoped name, `npx -y <full package name>`, and the same fixed `env` as `.codex-plugin/mcp.json`. Neither file carries a user-supplied variable (no `""`, no `${…}` besides `${PLUGIN_ROOT}`/`${PLUGIN_DATA}`): keys reach Codex through `.codex-plugin/mcp.json` `env_vars`, which works only while `.codex-plugin/plugin.json` keeps `"mcpServers": "./.codex-plugin/mcp.json"`
|
|
416
|
+
- [ ] Any new root dev path has a root-anchored line in `.mcpbignore`; `bun run bundle` and `lint:packaging` pass
|
|
405
417
|
- [ ] `bun run devcheck` passes
|
package/CLAUDE.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# Developer Protocol
|
|
2
2
|
|
|
3
3
|
**Server:** openalex-mcp-server
|
|
4
|
-
**Version:** 0.10.
|
|
5
|
-
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.13.
|
|
4
|
+
**Version:** 0.10.1
|
|
5
|
+
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.13.18`
|
|
6
6
|
**Engines:** Bun ≥1.4.0, Node ≥24.0.0
|
|
7
|
-
**MCP SDK:** `@modelcontextprotocol/server` ^2.
|
|
7
|
+
**MCP SDK:** `@modelcontextprotocol/server` ^2.4.0
|
|
8
8
|
**Zod:** ^4.6.7
|
|
9
9
|
|
|
10
10
|
> **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.
|
|
@@ -260,9 +260,18 @@ src/
|
|
|
260
260
|
|
|
261
261
|
## Skills
|
|
262
262
|
|
|
263
|
-
|
|
263
|
+
Two skill trees live at the project root, written for different readers:
|
|
264
264
|
|
|
265
|
-
|
|
265
|
+
| Tree | For | Written by |
|
|
266
|
+
|:-----|:----|:-----------|
|
|
267
|
+
| `framework-skills/` | The agent developing this server — framework skills (`metadata.audience: external`) plus any development-time skills of the server's own | `init` and the `maintenance` sync (framework skills); you (your own) |
|
|
268
|
+
| `skills/` | The agents that install the server and call its tools — tool chains, identifier sources, gates | You, deliberately, with the `add-skill` skill. Absent by default; usually none is needed |
|
|
269
|
+
|
|
270
|
+
Development skills are modular instructions. Read them directly when a task matches — e.g., `framework-skills/add-tool/SKILL.md` when adding a tool. `bun run list-skills` prints the full registry. Their directory is deliberately not `skills/`: Claude Code and Codex auto-load a plugin's root `skills/`, so a server that ships `.claude-plugin/` or `.codex-plugin/` would hand them to every agent that installs it.
|
|
271
|
+
|
|
272
|
+
A published skill in root `skills/` reaches plugin installs and the `.mcpb` bundle as-is, ships in the npm package and the Docker image, and reaches MCP clients when the server opts in with `createApp({ skills: 'skills' })`. `lint:packaging` validates the tree.
|
|
273
|
+
|
|
274
|
+
**Agent skill directory:** Copy `framework-skills/` into the directory your agent discovers (Claude Code: `.claude/skills/`, others: equivalent). Skills then load as context without referencing `framework-skills/` paths. After framework updates, run the `maintenance` skill — Phase B re-syncs the agent directory.
|
|
266
275
|
|
|
267
276
|
Available skills:
|
|
268
277
|
|
|
@@ -274,6 +283,7 @@ Available skills:
|
|
|
274
283
|
| `add-app-tool` | Scaffold an MCP App tool + paired UI resource |
|
|
275
284
|
| `add-resource` | Scaffold a new resource definition |
|
|
276
285
|
| `add-prompt` | Scaffold a new prompt definition |
|
|
286
|
+
| `add-skill` | Author a skill the server publishes in root `skills/` for the agents that use it — when one earns its place, structure, validation, delivery |
|
|
277
287
|
| `add-service` | Scaffold a new service integration |
|
|
278
288
|
| `add-test` | Scaffold test file for a tool, resource, or service |
|
|
279
289
|
| `field-test` | Exercise tools/resources/prompts with real inputs, verify behavior, report issues |
|
|
@@ -322,7 +332,7 @@ When you complete a skill's checklist, check the boxes and add a completion time
|
|
|
322
332
|
| `bun run format` | Auto-fix formatting (safe fixes only) |
|
|
323
333
|
| `bun run format:unsafe` | Also apply Biome's unsafe autofixes — review the diff; they can change behavior |
|
|
324
334
|
| `bun run lint:mcp` | Validate MCP tool/prompt definitions (rule catalog: `api-linter` skill) |
|
|
325
|
-
| `bun run lint:packaging` | Packaging surface checks — env-var parity, plugin
|
|
335
|
+
| `bun run lint:packaging` | Packaging surface checks — `server.json`/`manifest.json` env-var parity, `.mcpbignore` coverage, plugin manifests, README version badge (run by devcheck) |
|
|
326
336
|
| `bun run list-skills` | List available skills |
|
|
327
337
|
| `bun run test` | Run tests (Vitest — use `bun run test`, not `bun test`) |
|
|
328
338
|
| `bun run start:stdio` | Production mode (stdio, after `rebuild`) |
|
|
@@ -338,7 +348,7 @@ When you complete a skill's checklist, check the boxes and add a completion time
|
|
|
338
348
|
|
|
339
349
|
## Bundling
|
|
340
350
|
|
|
341
|
-
`bun run bundle` produces a `.mcpb` extension bundle for one-click install in Claude Desktop. MCPB is stdio-only — HTTP deployments are unaffected. Consumers who don't need it can delete `manifest.json` and `.mcpbignore`; `lint:packaging` skips cleanly.
|
|
351
|
+
`bun run bundle` produces a `.mcpb` extension bundle for one-click install in Claude Desktop. `mcpb pack` reads `.mcpbignore`, not `.gitignore`, so every root path the bundle must not ship — source, tests, docs, caches, logs, agent docs, plugin manifests, gitignored local files — needs a root-anchored line there (`/docs/`, never `docs/`, which also strips `node_modules/*/docs/`); `lint:packaging` names each missing or unanchored line, and a root path of the server's own (`/claude-plans/`) is added by hand. MCPB is stdio-only — HTTP deployments are unaffected. Consumers who don't need it can delete `manifest.json` and `.mcpbignore`; `lint:packaging` skips cleanly.
|
|
342
352
|
|
|
343
353
|
**Adding an env var requires both files:** `server.json` (registry discovery, `environmentVariables[]`) and `manifest.json` (bundle install UX, `mcp_config.env` + `user_config`). `lint:packaging` (run by `devcheck`) verifies the env var names match.
|
|
344
354
|
Every bundle option must be wired as `${user_config.<option>}`; optional strings need a default. Claude plugins use the same options under `userConfig`, while Codex forwards user variables through `env_vars`. Never overwrite a user's exported value with an empty plugin `env` entry.
|
|
@@ -402,4 +412,6 @@ import { getOpenAlexService } from '@/services/openalex/openalex-service.js';
|
|
|
402
412
|
- [ ] `.codex-plugin/plugin.json` populated — `name`, `version`, `description`, `repository`, `license` from `package.json`; `interface.displayName` = the unscoped repo name (never the npm scope — `lint:packaging` enforces this); `interface.shortDescription` from `package.json` description
|
|
403
413
|
- [ ] `.codex-plugin/mcp.json` updated — server name key is the unscoped repo name; every user-supplied variable (API key, contact email, instance URL) is listed in `env_vars` so Codex forwards it from the user's environment. Never write `"KEY": ""` into `env` — an empty value replaces the user's exported key and is read as unset
|
|
404
414
|
- [ ] `.claude-plugin/plugin.json` populated — `name`, `version`, `description`, `author`, `repository`, `license`, `keywords` from `package.json`; inline `mcpServers` entry keyed by the unscoped repo name. Every user-supplied variable is declared under `userConfig` (`type`, `title`, `description`; `sensitive: true` for keys and tokens; `required: true` or `default: ""`) and referenced from `env` as `"KEY": "${user_config.<option>}"` — mirror the `user_config` block in `manifest.json`. Never write `"KEY": ""` into `env`
|
|
415
|
+
- [ ] `plugin.json` + `mcp.json` (Agent Plugins 1.0.0 — read by Codex, Cursor, GitHub Copilot, VS Code, Kiro) populated — `plugin.json` `name` = the unscoped repo name; `version`, `description`, `author`, `homepage`, `repository`, `license`, `keywords` from `package.json`; no other top-level field, `extensions` included. `mcp.json` holds one `"type": "stdio"` entry keyed by the unscoped name, `npx -y <full package name>`, and the same fixed `env` as `.codex-plugin/mcp.json`. Neither file carries a user-supplied variable (no `""`, no `${…}` besides `${PLUGIN_ROOT}`/`${PLUGIN_DATA}`): keys reach Codex through `.codex-plugin/mcp.json` `env_vars`, which works only while `.codex-plugin/plugin.json` keeps `"mcpServers": "./.codex-plugin/mcp.json"`
|
|
416
|
+
- [ ] Any new root dev path has a root-anchored line in `.mcpbignore`; `bun run bundle` and `lint:packaging` pass
|
|
405
417
|
- [ ] `bun run devcheck` passes
|
package/Dockerfile
CHANGED
|
@@ -29,6 +29,11 @@ RUN --mount=type=cache,target=/root/.bun/install/cache \
|
|
|
29
29
|
# Copy the rest of the source code
|
|
30
30
|
COPY . .
|
|
31
31
|
|
|
32
|
+
# The skills a server publishes (`createApp({ skills: 'skills' })`) are read at
|
|
33
|
+
# runtime from the application root. Created when the project has none, so the
|
|
34
|
+
# production stage's copy below holds with or without one.
|
|
35
|
+
RUN mkdir -p skills
|
|
36
|
+
|
|
32
37
|
# Build the application
|
|
33
38
|
RUN bun run build
|
|
34
39
|
|
|
@@ -136,6 +141,7 @@ COPY --from=deps /usr/src/app/node_modules ./node_modules
|
|
|
136
141
|
|
|
137
142
|
# Copy the compiled application code from the build stage
|
|
138
143
|
COPY --from=build /usr/src/app/dist ./dist
|
|
144
|
+
COPY --from=build /usr/src/app/skills ./skills
|
|
139
145
|
|
|
140
146
|
# The 'oven/bun' image already provides a non-root user named 'bun'.
|
|
141
147
|
# We will use this existing user for enhanced security.
|
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
<div align="center">
|
|
9
9
|
|
|
10
|
-
[](./CHANGELOG.md) [](./LICENSE) [](https://github.com/users/cyanheads/packages/container/package/openalex-mcp-server) [](https://modelcontextprotocol.io/) [](https://www.npmjs.com/package/@cyanheads/openalex-mcp-server) [](https://www.typescriptlang.org/) [](https://bun.sh/)
|
|
11
11
|
|
|
12
12
|
</div>
|
|
13
13
|
|
|
@@ -147,120 +147,32 @@ Agent-friendly output:
|
|
|
147
147
|
|
|
148
148
|
## Getting started
|
|
149
149
|
|
|
150
|
-
|
|
150
|
+
Connect to the hosted instance, no install:
|
|
151
151
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
```json
|
|
155
|
-
{
|
|
156
|
-
"mcpServers": {
|
|
157
|
-
"openalex-mcp-server": {
|
|
158
|
-
"type": "streamable-http",
|
|
159
|
-
"url": "https://openalex.caseyjhand.com/mcp"
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
}
|
|
152
|
+
```sh
|
|
153
|
+
claude mcp add --transport http openalex-mcp-server https://openalex.caseyjhand.com/mcp
|
|
163
154
|
```
|
|
164
155
|
|
|
165
|
-
|
|
156
|
+
Or run it locally:
|
|
166
157
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
```json
|
|
170
|
-
{
|
|
171
|
-
"mcpServers": {
|
|
172
|
-
"openalex-mcp-server": {
|
|
173
|
-
"type": "stdio",
|
|
174
|
-
"command": "bunx",
|
|
175
|
-
"args": ["@cyanheads/openalex-mcp-server@latest"],
|
|
176
|
-
"env": {
|
|
177
|
-
"MCP_TRANSPORT_TYPE": "stdio",
|
|
178
|
-
"MCP_LOG_LEVEL": "info",
|
|
179
|
-
"OPENALEX_API_KEY": "your-api-key"
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
}
|
|
158
|
+
```sh
|
|
159
|
+
claude mcp add openalex-mcp-server -- npx -y @cyanheads/openalex-mcp-server
|
|
184
160
|
```
|
|
185
161
|
|
|
186
|
-
|
|
162
|
+
For other clients, add this to the MCP config file:
|
|
187
163
|
|
|
188
164
|
```json
|
|
189
165
|
{
|
|
190
166
|
"mcpServers": {
|
|
191
167
|
"openalex-mcp-server": {
|
|
192
|
-
"type": "stdio",
|
|
193
168
|
"command": "npx",
|
|
194
|
-
"args": ["-y", "@cyanheads/openalex-mcp-server
|
|
195
|
-
"env": {
|
|
196
|
-
"MCP_TRANSPORT_TYPE": "stdio",
|
|
197
|
-
"MCP_LOG_LEVEL": "info",
|
|
198
|
-
"OPENALEX_API_KEY": "your-api-key"
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
Or with Docker:
|
|
206
|
-
|
|
207
|
-
```json
|
|
208
|
-
{
|
|
209
|
-
"mcpServers": {
|
|
210
|
-
"openalex-mcp-server": {
|
|
211
|
-
"type": "stdio",
|
|
212
|
-
"command": "docker",
|
|
213
|
-
"args": [
|
|
214
|
-
"run", "-i", "--rm",
|
|
215
|
-
"-e", "MCP_TRANSPORT_TYPE=stdio",
|
|
216
|
-
"-e", "OPENALEX_API_KEY=your-api-key",
|
|
217
|
-
"ghcr.io/cyanheads/openalex-mcp-server:latest"
|
|
218
|
-
]
|
|
169
|
+
"args": ["-y", "@cyanheads/openalex-mcp-server"]
|
|
219
170
|
}
|
|
220
171
|
}
|
|
221
172
|
}
|
|
222
173
|
```
|
|
223
174
|
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
```sh
|
|
227
|
-
MCP_TRANSPORT_TYPE=http MCP_HTTP_PORT=3010 OPENALEX_API_KEY=... bun run start:http
|
|
228
|
-
# Server listens at http://localhost:3010/mcp
|
|
229
|
-
```
|
|
230
|
-
|
|
231
|
-
`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)).
|
|
232
|
-
|
|
233
|
-
### Prerequisites
|
|
234
|
-
|
|
235
|
-
- [Bun v1.4.0](https://bun.sh/) or higher (or Node.js v24+).
|
|
236
|
-
- Optional: an [OpenAlex account API key](https://openalex.org/settings/api) for keyed rate limits and budget — omit for anonymous access.
|
|
237
|
-
|
|
238
|
-
### Installation
|
|
239
|
-
|
|
240
|
-
1. **Clone the repository:**
|
|
241
|
-
|
|
242
|
-
```sh
|
|
243
|
-
git clone https://github.com/cyanheads/openalex-mcp-server.git
|
|
244
|
-
```
|
|
245
|
-
|
|
246
|
-
2. **Navigate into the directory:**
|
|
247
|
-
|
|
248
|
-
```sh
|
|
249
|
-
cd openalex-mcp-server
|
|
250
|
-
```
|
|
251
|
-
|
|
252
|
-
3. **Install dependencies:**
|
|
253
|
-
|
|
254
|
-
```sh
|
|
255
|
-
bun install
|
|
256
|
-
```
|
|
257
|
-
|
|
258
|
-
4. **Configure environment:**
|
|
259
|
-
|
|
260
|
-
```sh
|
|
261
|
-
cp .env.example .env
|
|
262
|
-
# edit .env and set required vars
|
|
263
|
-
```
|
|
175
|
+
An optional `OPENALEX_API_KEY` — a free [OpenAlex account key](https://openalex.org/settings/api) — raises the rate limits and daily budget over anonymous access; `OPENALEX_MAILTO` identifies you to OpenAlex's [polite pool](https://developers.openalex.org/guides/authentication). For Docker or a source build, see [Running the server](#running-the-server).
|
|
264
176
|
|
|
265
177
|
## Configuration
|
|
266
178
|
|
|
@@ -287,6 +199,16 @@ See [`.env.example`](./.env.example) for the full list of optional overrides.
|
|
|
287
199
|
|
|
288
200
|
### Local development
|
|
289
201
|
|
|
202
|
+
Requires [Bun v1.4.0](https://bun.sh/) or higher (or Node.js v24+).
|
|
203
|
+
|
|
204
|
+
- **Clone and install:**
|
|
205
|
+
|
|
206
|
+
```sh
|
|
207
|
+
git clone https://github.com/cyanheads/openalex-mcp-server.git
|
|
208
|
+
cd openalex-mcp-server && bun install
|
|
209
|
+
cp .env.example .env # optionally set OPENALEX_API_KEY
|
|
210
|
+
```
|
|
211
|
+
|
|
290
212
|
- **Build and run:**
|
|
291
213
|
|
|
292
214
|
```sh
|
|
@@ -309,11 +231,10 @@ See [`.env.example`](./.env.example) for the full list of optional overrides.
|
|
|
309
231
|
### Docker
|
|
310
232
|
|
|
311
233
|
```sh
|
|
312
|
-
docker
|
|
313
|
-
docker run --rm -e OPENALEX_API_KEY=your-key -p 3010:3010 openalex-mcp-server
|
|
234
|
+
docker run --rm -e OPENALEX_API_KEY=your-key -p 3010:3010 ghcr.io/cyanheads/openalex-mcp-server:latest
|
|
314
235
|
```
|
|
315
236
|
|
|
316
|
-
The
|
|
237
|
+
The image defaults to HTTP transport, stateless session mode, and logs to `/var/log/openalex-mcp-server`. To run it over stdio from an MCP client, use `"command": "docker"` with `"args": ["run", "-i", "--rm", "-e", "MCP_TRANSPORT_TYPE=stdio", "ghcr.io/cyanheads/openalex-mcp-server:latest"]`. To build locally, `docker build -t openalex-mcp-server .`; OpenTelemetry peer dependencies are installed by default — build with `--build-arg OTEL_ENABLED=false` to omit them.
|
|
317
238
|
|
|
318
239
|
## Project structure
|
|
319
240
|
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "mcp-ts-core 0.13.18: query echoes render as code spans, error text in content[] escapes Markdown, invalid framework config fails startup naming the variable, and the root Agent Plugins pair ships."
|
|
3
|
+
breaking: false
|
|
4
|
+
security: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 0.10.1 — 2026-10-25
|
|
8
|
+
|
|
9
|
+
## Changed
|
|
10
|
+
|
|
11
|
+
- **Query echo** — the enrichment trailer's `Query:` line renders as an inline code span, so a copied query reads back with no backslash escapes (mcp-ts-core 0.13.18, [#785](https://github.com/cyanheads/mcp-ts-core/issues/785)).
|
|
12
|
+
- **Error text in `content[]`** — the `Error:` message, `Recovery:` hint, and reason escape Markdown metacharacters with backslashes; `structuredContent` keeps the original strings (mcp-ts-core 0.13.16, [#760](https://github.com/cyanheads/mcp-ts-core/issues/760)).
|
|
13
|
+
- **Framework configuration** — a non-integer or out-of-range count or timer variable stops startup with a message naming the variable, e.g. `MCP_HTTP_PORT (mcpHttpPort): Invalid input: expected int, received number` (mcp-ts-core 0.13.16).
|
|
14
|
+
- **Response budget** — `trailerTextBytes` counts the echo's code-span fence and the `> ` prefix on every line of a notice, so the 64,000-byte per-surface budget measures what `content[]` carries under the new rendering.
|
|
15
|
+
- **Packaging** — root Agent Plugins `plugin.json` and `mcp.json` (a stdio entry running `npx -y @cyanheads/openalex-mcp-server`), root-anchored `.mcpbignore` lines for source, tests, docs, changelog, plugin manifests, and agent docs, and the framework's bundle cleaner dropping its own build-only files (`changelog/`, `config/`, `scripts/`, `templates/`, `CLAUDE.md`, `AGENTS.md`) from the `.mcpb` (mcp-ts-core 0.13.18).
|
|
16
|
+
- **`skills/`** — the Dockerfile creates and copies an empty `skills/` directory and `package.json` `files` lists it, for template alignment; this server publishes no skills.
|
|
17
|
+
- **Framework skills and scripts** re-synced to mcp-ts-core 0.13.18, adding the `add-skill` skill; `CLAUDE.md` and `AGENTS.md` follow (skills section, MCP SDK `^2.4.0`).
|
|
18
|
+
- **README** — getting started condensed to hosted and local installs, with Docker and source-build detail under Running the server.
|
|
19
|
+
- **`.env.example`** — the `MCP_SESSION_MODE` comment is rewritten; the value stays `stateless`.
|
|
20
|
+
- **Issue forms** — the bug report takes one Environment table in place of separate version, runtime, transport, and OS fields; the feature request's `breaking-change` label no longer says it requires a major bump.
|
|
21
|
+
- **`bunfig.toml`** — `minimumReleaseAge` 3 days → 1 day.
|
|
22
|
+
|
|
23
|
+
## Dependencies
|
|
24
|
+
|
|
25
|
+
- `@cyanheads/mcp-ts-core` ^0.13.15 → ^0.13.18 (brings MCP SDK `@modelcontextprotocol/server` 2.3.1 → 2.4.0).
|
|
26
|
+
- `@biomejs/biome` ^2.5.15 → ^2.6.3 (dev).
|
|
27
|
+
- `ignore` ^7.0.13 → ^7.0.14 (dev).
|
|
28
|
+
- `tsc-alias` ^1.9.8 → ^1.9.9 (dev).
|
|
@@ -109,8 +109,9 @@ export declare function formatRecordPage(page: RecordPage, noun: string): {
|
|
|
109
109
|
}[];
|
|
110
110
|
/**
|
|
111
111
|
* The enrichment trailer's bytes, minus the service-written `budget` line. Fields render as the
|
|
112
|
-
* framework renders them for these tools: `echo` under its `Query` label,
|
|
113
|
-
* `totalLabel`, and `notice` as a block quote
|
|
112
|
+
* framework renders them for these tools: `echo` as a code span under its `Query` label,
|
|
113
|
+
* `totalCount` under `totalLabel`, and `notice` as a block quote with every line quoted, joined
|
|
114
|
+
* after a leading blank line.
|
|
114
115
|
*/
|
|
115
116
|
export declare function trailerTextBytes(enrichment: PageEnrichment): number;
|
|
116
117
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response-budget.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/response-budget.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAK3C,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE7E,wFAAwF;AACxF,eAAO,MAAM,qBAAqB,QAAS,CAAC;AAc5C;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAiBhD,QAAA,MAAM,iBAAiB;;;;;;;;;;;iBAkBkB,CAAC;AAE1C,gGAAgG;AAChG,eAAO,MAAM,mBAAmB;;;;;;kBAY7B,CAAC;AAEJ,8FAA8F;AAC9F,eAAO,MAAM,mBAAmB;;;;;;;;;;;mBAK7B,CAAC;AAEJ,uFAAuF;AACvF,eAAO,MAAM,sBAAsB,6BAKhC,CAAC;AAGJ,KAAK,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACrD,KAAK,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC;AAEhE,qGAAqG;AACrG,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC,OAAO,CAAC,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;CACrC;AAED,4FAA4F;AAC5F,MAAM,WAAW,UAAW,SAAQ,gBAAgB;IAClD,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACtE,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,+FAA+F;IAC/F,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,CACzB,UAAU,EAAE,gBAAgB,EAC5B,YAAY,EAAE,MAAM,GAAG,SAAS,KAC7B,YAAY,CAAC;AAElB,+FAA+F;AAC/F,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,iGAAiG;AACjG,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAGzC;AAED,8EAA8E;AAC9E,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,GAAG,MAAM,GAAG,SAAS,CAEtF;AAwDD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,CAajG;
|
|
1
|
+
{"version":3,"file":"response-budget.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/response-budget.ts"],"names":[],"mappings":"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"}
|
|
@@ -166,16 +166,43 @@ function joinTrailerFields(fields) {
|
|
|
166
166
|
}
|
|
167
167
|
return text;
|
|
168
168
|
}
|
|
169
|
+
/**
|
|
170
|
+
* Byte-exact copy of the framework's inline code span (`codeSpan` in mcp-ts-core's formatting
|
|
171
|
+
* utils, which the package does not export), the form a one-line trailer string takes: the
|
|
172
|
+
* fence runs one backtick past the value's longest backtick run, and a space pads each side when
|
|
173
|
+
* a backtick touches an end or the value both begins and ends with a space. The echo is always
|
|
174
|
+
* one line — caller text in it is JSON-encoded — so the fenced-block form never applies here.
|
|
175
|
+
*/
|
|
176
|
+
function codeSpan(value) {
|
|
177
|
+
let longestRun = 0;
|
|
178
|
+
for (const [run] of value.matchAll(/`+/g))
|
|
179
|
+
longestRun = Math.max(longestRun, run.length);
|
|
180
|
+
const fence = '`'.repeat(longestRun + 1);
|
|
181
|
+
const pad = value.startsWith('`') ||
|
|
182
|
+
value.endsWith('`') ||
|
|
183
|
+
(value.startsWith(' ') && value.endsWith(' ') && /[^ ]/.test(value))
|
|
184
|
+
? ' '
|
|
185
|
+
: '';
|
|
186
|
+
return `${fence}${pad}${value}${pad}${fence}`;
|
|
187
|
+
}
|
|
169
188
|
/**
|
|
170
189
|
* The enrichment trailer's bytes, minus the service-written `budget` line. Fields render as the
|
|
171
|
-
* framework renders them for these tools: `echo` under its `Query` label,
|
|
172
|
-
* `totalLabel`, and `notice` as a block quote
|
|
190
|
+
* framework renders them for these tools: `echo` as a code span under its `Query` label,
|
|
191
|
+
* `totalCount` under `totalLabel`, and `notice` as a block quote with every line quoted, joined
|
|
192
|
+
* after a leading blank line.
|
|
173
193
|
*/
|
|
174
194
|
export function trailerTextBytes(enrichment) {
|
|
175
195
|
const fields = [
|
|
176
|
-
`**Query:** ${enrichment.echo}`,
|
|
196
|
+
`**Query:** ${codeSpan(enrichment.echo)}`,
|
|
177
197
|
`**${enrichment.totalLabel}:** ${enrichment.totalCount}`,
|
|
178
|
-
...(enrichment.notice === undefined
|
|
198
|
+
...(enrichment.notice === undefined
|
|
199
|
+
? []
|
|
200
|
+
: [
|
|
201
|
+
enrichment.notice
|
|
202
|
+
.split(/\r\n|\r|\n/)
|
|
203
|
+
.map((line) => (line === '' ? '>' : `> ${line}`))
|
|
204
|
+
.join('\n'),
|
|
205
|
+
]),
|
|
179
206
|
];
|
|
180
207
|
return utf8Bytes(`\n\n${joinTrailerFields(fields)}`);
|
|
181
208
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response-budget.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/response-budget.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"response-budget.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/response-budget.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cyanheads/openalex-mcp-server",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.1",
|
|
4
4
|
"description": "Access the OpenAlex academic research catalog — 270M+ publications — via MCP. STDIO or Streamable HTTP.",
|
|
5
5
|
"mcpName": "io.github.cyanheads/openalex-mcp-server",
|
|
6
6
|
"type": "module",
|
|
@@ -18,7 +18,8 @@
|
|
|
18
18
|
"CLAUDE.md",
|
|
19
19
|
"AGENTS.md",
|
|
20
20
|
"Dockerfile",
|
|
21
|
-
"server.json"
|
|
21
|
+
"server.json",
|
|
22
|
+
"skills/"
|
|
22
23
|
],
|
|
23
24
|
"scripts": {
|
|
24
25
|
"build": "bun scripts/build.ts",
|
|
@@ -92,20 +93,20 @@
|
|
|
92
93
|
},
|
|
93
94
|
"trustedDependencies": ["@socketsecurity/bun-security-scanner"],
|
|
94
95
|
"dependencies": {
|
|
95
|
-
"@cyanheads/mcp-ts-core": "^0.13.
|
|
96
|
+
"@cyanheads/mcp-ts-core": "^0.13.18",
|
|
96
97
|
"pino-pretty": "^13.2.0",
|
|
97
98
|
"zod": "^4.6.7"
|
|
98
99
|
},
|
|
99
100
|
"devDependencies": {
|
|
100
|
-
"@biomejs/biome": "^2.
|
|
101
|
+
"@biomejs/biome": "^2.6.3",
|
|
101
102
|
"@socketsecurity/bun-security-scanner": "^1.1.3",
|
|
102
103
|
"@types/node": "^26.6.5",
|
|
103
104
|
"depcheck": "^1.4.7",
|
|
104
|
-
"ignore": "^7.0.
|
|
105
|
+
"ignore": "^7.0.14",
|
|
105
106
|
"mdast-util-from-markdown": "^2.1.0",
|
|
106
107
|
"mdast-util-gfm": "^3.1.0",
|
|
107
108
|
"micromark-extension-gfm": "^3.0.0",
|
|
108
|
-
"tsc-alias": "^1.9.
|
|
109
|
+
"tsc-alias": "^1.9.9",
|
|
109
110
|
"typescript": "^7.0.2",
|
|
110
111
|
"vitest": "^5.0.5"
|
|
111
112
|
}
|
package/server.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"url": "https://github.com/cyanheads/openalex-mcp-server",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "0.10.
|
|
9
|
+
"version": "0.10.1",
|
|
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/openalex-mcp-server",
|
|
21
21
|
"runtimeHint": "npx",
|
|
22
|
-
"version": "0.10.
|
|
22
|
+
"version": "0.10.1",
|
|
23
23
|
"environmentVariables": [
|
|
24
24
|
{
|
|
25
25
|
"name": "OPENALEX_CLAMP_PER_PAGE",
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
72
72
|
"identifier": "@cyanheads/openalex-mcp-server",
|
|
73
73
|
"runtimeHint": "npx",
|
|
74
|
-
"version": "0.10.
|
|
74
|
+
"version": "0.10.1",
|
|
75
75
|
"environmentVariables": [
|
|
76
76
|
{
|
|
77
77
|
"name": "OPENALEX_CLAMP_PER_PAGE",
|