@cyanheads/openalex-mcp-server 0.6.0 → 0.6.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/CLAUDE.md +5 -4
- package/README.md +1 -1
- package/package.json +2 -2
- package/server.json +3 -3
package/CLAUDE.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Agent Protocol
|
|
2
2
|
|
|
3
3
|
**Server:** openalex-mcp-server
|
|
4
|
-
**Version:** 0.6.
|
|
4
|
+
**Version:** 0.6.1
|
|
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.
|
|
@@ -97,8 +97,9 @@ export const resolveNameTool = tool('openalex_resolve_name', {
|
|
|
97
97
|
// Different clients forward different surfaces (Claude Code → structuredContent,
|
|
98
98
|
// Claude Desktop → content[]); both must carry the same data.
|
|
99
99
|
// Enforced at lint time: every terminal field in `output` must appear in format()'s
|
|
100
|
-
// rendered text via sentinel injection.
|
|
101
|
-
//
|
|
100
|
+
// rendered text via sentinel injection. The linter is locale-aware — digit-group
|
|
101
|
+
// separators (commas, periods, spaces) are stripped before matching, so
|
|
102
|
+
// `.toLocaleString()` is fine on linted numbers. Compact/scientific forms still fail.
|
|
102
103
|
format: (result) => {
|
|
103
104
|
if (result.results.length === 0) {
|
|
104
105
|
return [{ type: 'text', text: 'No matches found.' }];
|
|
@@ -289,7 +290,7 @@ import { getOpenAlexService } from '@/services/openalex/openalex-service.js';
|
|
|
289
290
|
|
|
290
291
|
- [ ] Zod schemas: all fields have `.describe()`, only JSON-Schema-serializable types (no `z.custom()`, `z.date()`, `z.transform()`, etc.)
|
|
291
292
|
- [ ] Optional nested objects: handler guards for empty inner values from form-based clients (`if (input.obj?.field && ...)`, not just `if (input.obj)`)
|
|
292
|
-
- [ ] `format()` renders every terminal field in `output` — enforced by `format-parity` linter via sentinel injection
|
|
293
|
+
- [ ] `format()` renders every terminal field in `output` — enforced by `format-parity` linter via sentinel injection (locale-aware: digit-group separators stripped before matching)
|
|
293
294
|
- [ ] JSDoc `@fileoverview` + `@module` on every file
|
|
294
295
|
- [ ] `ctx.log` for logging, `ctx.state` for storage
|
|
295
296
|
- [ ] Handlers throw on failure — error factories or plain `Error`, no try/catch
|
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
<div align="center">
|
|
8
8
|
|
|
9
|
-
[](./CHANGELOG.md) [](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) [](https://modelcontextprotocol.io/) [](./LICENSE) [](https://www.typescriptlang.org/)
|
|
10
10
|
|
|
11
11
|
</div>
|
|
12
12
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cyanheads/openalex-mcp-server",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.1",
|
|
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.
|
|
73
|
+
"@cyanheads/mcp-ts-core": "^0.7.0",
|
|
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.
|
|
9
|
+
"version": "0.6.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": "node",
|
|
22
|
-
"version": "0.6.
|
|
22
|
+
"version": "0.6.1",
|
|
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.
|
|
64
|
+
"version": "0.6.1",
|
|
65
65
|
"packageArguments": [
|
|
66
66
|
{
|
|
67
67
|
"type": "positional",
|