@cyanheads/openalex-mcp-server 0.6.1 → 0.6.2

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:** openalex-mcp-server
4
- **Version:** 0.6.1
4
+ **Version:** 0.6.2
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.
@@ -289,7 +289,7 @@ import { getOpenAlexService } from '@/services/openalex/openalex-service.js';
289
289
  ## Checklist
290
290
 
291
291
  - [ ] Zod schemas: all fields have `.describe()`, only JSON-Schema-serializable types (no `z.custom()`, `z.date()`, `z.transform()`, etc.)
292
- - [ ] Optional nested objects: handler guards for empty inner values from form-based clients (`if (input.obj?.field && ...)`, not just `if (input.obj)`)
292
+ - [ ] Optional nested objects: handler guards for empty inner values from form-based clients (`if (input.obj?.field && ...)`, not just `if (input.obj)`). When regex/length constraints matter, use `z.union([z.literal(''), z.string().regex(...).describe(...)])` — literal variants are exempt from `describe-on-fields`.
293
293
  - [ ] `format()` renders every terminal field in `output` — enforced by `format-parity` linter via sentinel injection (locale-aware: digit-group separators stripped before matching)
294
294
  - [ ] JSDoc `@fileoverview` + `@module` on every file
295
295
  - [ ] `ctx.log` for logging, `ctx.state` for storage
package/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  <div align="center">
8
8
 
9
- [![Version](https://img.shields.io/badge/Version-0.6.1-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/)
9
+ [![Version](https://img.shields.io/badge/Version-0.6.2-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/)
10
10
 
11
11
  </div>
12
12
 
@@ -156,6 +156,7 @@ bun install
156
156
  | `MCP_TRANSPORT_TYPE` | Transport: `stdio` or `http`. | `stdio` |
157
157
  | `MCP_HTTP_PORT` | Port for HTTP server. | `3010` |
158
158
  | `MCP_AUTH_MODE` | Auth mode: `none`, `jwt`, or `oauth`. | `none` |
159
+ | `MCP_ALLOWED_ORIGINS` | Comma-separated allow-list of browser `Origin` headers for HTTP transport. Unset = loopback-only; set to `*` to disable. | _loopback only_ |
159
160
  | `MCP_LOG_LEVEL` | Log level (RFC 5424). | `debug` |
160
161
  | `LOGS_DIR` | Directory for log files (Node.js only). | `<project-root>/logs` |
161
162
  | `OTEL_ENABLED` | Enable OpenTelemetry. | `false` |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyanheads/openalex-mcp-server",
3
- "version": "0.6.1",
3
+ "version": "0.6.2",
4
4
  "description": "Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.",
5
5
  "mcpName": "io.github.cyanheads/openalex-mcp-server",
6
6
  "type": "module",
@@ -70,7 +70,7 @@
70
70
  "access": "public"
71
71
  },
72
72
  "dependencies": {
73
- "@cyanheads/mcp-ts-core": "^0.7.0",
73
+ "@cyanheads/mcp-ts-core": "^0.7.4",
74
74
  "pino-pretty": "^13.1.3"
75
75
  },
76
76
  "devDependencies": {
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.6.1",
9
+ "version": "0.6.2",
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": "node",
22
- "version": "0.6.1",
22
+ "version": "0.6.2",
23
23
  "packageArguments": [
24
24
  {
25
25
  "type": "positional",
@@ -61,7 +61,7 @@
61
61
  "registryBaseUrl": "https://registry.npmjs.org",
62
62
  "identifier": "@cyanheads/openalex-mcp-server",
63
63
  "runtimeHint": "node",
64
- "version": "0.6.1",
64
+ "version": "0.6.2",
65
65
  "packageArguments": [
66
66
  {
67
67
  "type": "positional",