@cyanheads/orcid-mcp-server 0.1.5 → 0.2.0

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.
Files changed (56) hide show
  1. package/CLAUDE.md +8 -3
  2. package/README.md +26 -3
  3. package/changelog/0.1.x/0.1.6.md +17 -0
  4. package/changelog/0.2.x/0.2.0.md +22 -0
  5. package/changelog/template.md +1 -1
  6. package/dist/index.js +5 -1
  7. package/dist/index.js.map +1 -1
  8. package/dist/mcp-server/resources/definitions/researcher-works.resource.d.ts.map +1 -1
  9. package/dist/mcp-server/resources/definitions/researcher-works.resource.js +11 -1
  10. package/dist/mcp-server/resources/definitions/researcher-works.resource.js.map +1 -1
  11. package/dist/mcp-server/tools/definitions/get-affiliations.tool.d.ts +3 -2
  12. package/dist/mcp-server/tools/definitions/get-affiliations.tool.d.ts.map +1 -1
  13. package/dist/mcp-server/tools/definitions/get-affiliations.tool.js +8 -8
  14. package/dist/mcp-server/tools/definitions/get-affiliations.tool.js.map +1 -1
  15. package/dist/mcp-server/tools/definitions/get-funding.tool.d.ts +3 -2
  16. package/dist/mcp-server/tools/definitions/get-funding.tool.d.ts.map +1 -1
  17. package/dist/mcp-server/tools/definitions/get-funding.tool.js +8 -8
  18. package/dist/mcp-server/tools/definitions/get-funding.tool.js.map +1 -1
  19. package/dist/mcp-server/tools/definitions/get-peer-reviews.tool.d.ts +3 -2
  20. package/dist/mcp-server/tools/definitions/get-peer-reviews.tool.d.ts.map +1 -1
  21. package/dist/mcp-server/tools/definitions/get-peer-reviews.tool.js +8 -8
  22. package/dist/mcp-server/tools/definitions/get-peer-reviews.tool.js.map +1 -1
  23. package/dist/mcp-server/tools/definitions/get-profile.tool.d.ts +1 -1
  24. package/dist/mcp-server/tools/definitions/get-profile.tool.d.ts.map +1 -1
  25. package/dist/mcp-server/tools/definitions/get-research-resources.tool.d.ts +42 -0
  26. package/dist/mcp-server/tools/definitions/get-research-resources.tool.d.ts.map +1 -0
  27. package/dist/mcp-server/tools/definitions/get-research-resources.tool.js +157 -0
  28. package/dist/mcp-server/tools/definitions/get-research-resources.tool.js.map +1 -0
  29. package/dist/mcp-server/tools/definitions/get-work-detail.tool.d.ts +44 -0
  30. package/dist/mcp-server/tools/definitions/get-work-detail.tool.d.ts.map +1 -0
  31. package/dist/mcp-server/tools/definitions/get-work-detail.tool.js +169 -0
  32. package/dist/mcp-server/tools/definitions/get-work-detail.tool.js.map +1 -0
  33. package/dist/mcp-server/tools/definitions/get-works.tool.d.ts +4 -2
  34. package/dist/mcp-server/tools/definitions/get-works.tool.d.ts.map +1 -1
  35. package/dist/mcp-server/tools/definitions/get-works.tool.js +15 -9
  36. package/dist/mcp-server/tools/definitions/get-works.tool.js.map +1 -1
  37. package/dist/mcp-server/tools/definitions/resolve-researcher.tool.d.ts +6 -11
  38. package/dist/mcp-server/tools/definitions/resolve-researcher.tool.d.ts.map +1 -1
  39. package/dist/mcp-server/tools/definitions/resolve-researcher.tool.js +18 -32
  40. package/dist/mcp-server/tools/definitions/resolve-researcher.tool.js.map +1 -1
  41. package/dist/mcp-server/tools/definitions/search-researchers.tool.d.ts +5 -10
  42. package/dist/mcp-server/tools/definitions/search-researchers.tool.d.ts.map +1 -1
  43. package/dist/mcp-server/tools/definitions/search-researchers.tool.js +16 -25
  44. package/dist/mcp-server/tools/definitions/search-researchers.tool.js.map +1 -1
  45. package/dist/services/orcid/normalizers.d.ts +3 -1
  46. package/dist/services/orcid/normalizers.d.ts.map +1 -1
  47. package/dist/services/orcid/normalizers.js +81 -0
  48. package/dist/services/orcid/normalizers.js.map +1 -1
  49. package/dist/services/orcid/orcid-service.d.ts +11 -1
  50. package/dist/services/orcid/orcid-service.d.ts.map +1 -1
  51. package/dist/services/orcid/orcid-service.js +23 -1
  52. package/dist/services/orcid/orcid-service.js.map +1 -1
  53. package/dist/services/orcid/types.d.ts +142 -2
  54. package/dist/services/orcid/types.d.ts.map +1 -1
  55. package/package.json +4 -3
  56. package/server.json +3 -3
package/CLAUDE.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # Developer Protocol
2
2
 
3
3
  **Server:** orcid-mcp-server
4
- **Version:** 0.1.5
5
- **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.9.13`
4
+ **Version:** 0.2.0
5
+ **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.9.16`
6
6
  **Engines:** Bun ≥1.3.0, Node ≥24.0.0
7
7
  **MCP SDK:** `@modelcontextprotocol/sdk` ^1.29.0
8
8
  **Zod:** ^4.4.3
@@ -152,6 +152,10 @@ export function getServerConfig() {
152
152
 
153
153
  `parseEnvConfig` maps Zod schema paths → env var names so errors name the variable (`MY_API_KEY`) not the path (`apiKey`). Throws `ConfigurationError`, which the framework prints as a clean startup banner.
154
154
 
155
+ ### Server instructions
156
+
157
+ `createApp({ instructions })` — optional server-level orientation, sent to clients on every `initialize` as session-level context. Use it for deployment guidance (connection aliases, regional notes, scope hints) instead of repeating the same context across tool descriptions. Client adoption is uneven, but there's no downside when set.
158
+
155
159
  ---
156
160
 
157
161
  ## Context
@@ -305,7 +309,8 @@ When you complete a skill's checklist, check the boxes and add a completion time
305
309
  | `npm run devcheck` | Lint + format + typecheck + security + changelog sync |
306
310
  | `bun run audit:refresh` | Delete `bun.lock`, reinstall, and re-run `bun audit`. Use when `devcheck` flags a transitive advisory — Bun's `update` is sticky on transitive resolutions, so the advisory may be a stale-lockfile false positive. If it survives the refresh, it's real. |
307
311
  | `npm run tree` | Generate directory structure doc |
308
- | `npm run format` | Auto-fix formatting |
312
+ | `npm run format` | Auto-fix formatting (safe fixes only) |
313
+ | `npm run format:unsafe` | Also apply Biome's unsafe autofixes — review the diff; they can change behavior |
309
314
  | `npm test` | Run tests |
310
315
  | `npm run start:stdio` | Production mode (stdio) |
311
316
  | `npm run start:http` | Production mode (HTTP) |
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  <div align="center">
9
9
 
10
- [![Version](https://img.shields.io/badge/Version-0.1.5-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/orcid-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/orcid-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/orcid-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-v1.3.2-blueviolet.svg?style=flat-square)](https://bun.sh/)
10
+ [![Version](https://img.shields.io/badge/Version-0.2.0-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/orcid-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/orcid-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/orcid-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-v1.3.2-blueviolet.svg?style=flat-square)](https://bun.sh/)
11
11
 
12
12
  </div>
13
13
 
@@ -29,16 +29,18 @@
29
29
 
30
30
  ## Tools
31
31
 
32
- Seven tools organized around three workflows — author disambiguation, researcher profiling, and cross-server identifier chaining:
32
+ Nine tools organized around three workflows — author disambiguation, researcher profiling, and cross-server identifier chaining:
33
33
 
34
34
  | Tool | Description |
35
35
  |:-----|:------------|
36
36
  | `orcid_search_researchers` | Search the ORCID registry using structured field params (name, affiliation, keyword, ROR ID, DOI, PMID). All params are ANDed into a Solr query against the expanded-search endpoint, returning ORCID iDs with inline name and institution data. |
37
37
  | `orcid_get_profile` | Fetch a researcher's public profile: name, biography, keywords, researcher URLs, and external identifiers (Scopus Author ID, ResearcherID, Loop, etc.). |
38
- | `orcid_get_works` | Retrieve works (publications, datasets, software, preprints) for a researcher. Returns titles, types, publication dates, journal names, and all external identifiers DOIs, PMIDs, arXiv IDs — ready for chaining to Crossref, PubMed, or arXiv servers. |
38
+ | `orcid_get_works` | Retrieve works (publications, datasets, software, preprints) for a researcher. Returns summaries with put-codes, titles, types, dates, journal names, and external identifiers. Pass put-codes to `orcid_get_work_detail` for abstracts and full contributor lists. |
39
+ | `orcid_get_work_detail` | Fetch the full detail record for a single work by its put-code (from `orcid_get_works`). Returns the abstract, all contributors with CRediT roles, complete external IDs, citation metadata, journal title, and URL. |
39
40
  | `orcid_get_affiliations` | Fetch affiliation records for a researcher. Accepts a `types` list to filter which sections to return: `employment`, `education`, `invited-positions`, `distinctions`, `memberships`, `qualifications`, `services`, or `all`. |
40
41
  | `orcid_get_funding` | Fetch funding records: grants, contracts, awards, and salary awards, with funder names, grant numbers, and funding periods. |
41
42
  | `orcid_get_peer_reviews` | Fetch peer review activity: convening organizations, reviewer role, review type, completion dates, and ISSN-keyed group identifiers. |
43
+ | `orcid_get_research_resources` | List research resources associated with a researcher — compute allocations, equipment access, lab facilities, and data resources. Sparsely populated; most researchers have no entries. |
42
44
  | `orcid_resolve_researcher` | Disambiguate an ambiguous author name to a verified ORCID iD. Returns a ranked list of up to 5 candidates with transparent signals: name match type, institution overlap, and whether a DOI or PMID anchor was used. |
43
45
 
44
46
  ### `orcid_search_researchers`
@@ -75,6 +77,16 @@ Retrieve the works list for a researcher.
75
77
 
76
78
  ---
77
79
 
80
+ ### `orcid_get_work_detail`
81
+
82
+ Fetch the full detail record for a single work by its put-code.
83
+
84
+ - Put-codes come from `orcid_get_works` — each work summary now carries its `put_code`
85
+ - Returns the abstract, all contributors with CRediT roles, the complete external ID list, citation metadata (BibTeX or other formats when deposited), journal title, and URL
86
+ - The works list is intentionally lightweight; use this when you need the abstract or contributor list without a round-trip to Crossref or PubMed
87
+
88
+ ---
89
+
78
90
  ### `orcid_get_affiliations`
79
91
 
80
92
  Fetch affiliation records by type, using a single `/activities` call filtered client-side.
@@ -105,6 +117,17 @@ Fetch peer review activity for a researcher.
105
117
 
106
118
  ---
107
119
 
120
+ ### `orcid_get_research_resources`
121
+
122
+ List research resources associated with a researcher.
123
+
124
+ - Covers compute allocations, equipment access, lab facilities, data resources, and clinical study registrations
125
+ - A newer ORCID section that is sparsely populated — most researchers have no entries, and absence does not imply none exist
126
+ - Entries are typically deposited by resource-allocation systems (e.g. ACCESS, XSEDE) rather than self-reported
127
+ - Returns resource title, hosting organization (with disambiguated org ID), external identifiers (often a portal URI), and access period
128
+
129
+ ---
130
+
108
131
  ### `orcid_resolve_researcher`
109
132
 
110
133
  Disambiguate an author name to a verified ORCID iD.
@@ -0,0 +1,17 @@
1
+ ---
2
+ summary: "Enrichment adoption: query echoes, result totals, empty-result guidance in typed enrichment block; dead error contracts removed (no_results, no_candidates)"
3
+ breaking: false
4
+ security: false
5
+ ---
6
+
7
+ # 0.1.6 — 2026-05-30
8
+
9
+ ## Changed
10
+
11
+ - **`orcid_search_researchers`** — `effectiveQuery` and `numFound` moved from `output` to `enrichment`; both channels (structuredContent + content[]) now receive these alongside any empty-result or pagination-overshoot guidance. `notice` likewise moved to enrichment. Removed unreachable `no_results` error contract (#6) — empty results return success with an enrichment notice.
12
+ - **`orcid_resolve_researcher`** — `queryUsed`, `relaxedQuery`, `totalFound`, and `notice` moved from `output` to `enrichment`; an `enrichmentTrailer` surfaces them in the content[] markdown trailer. Removed unreachable `no_candidates` error contract (#7) — no-match conditions return success with an enrichment notice.
13
+ - **Collection tools** (`orcid_get_works`, `orcid_get_affiliations`, `orcid_get_funding`, `orcid_get_peer_reviews`) — `notice` moved from `output` to `enrichment`; empty-result guidance now surfaces in both channels without occupying the domain return schema.
14
+
15
+ ## Dependencies
16
+
17
+ - `@cyanheads/mcp-ts-core` ^0.9.13 → ^0.9.16
@@ -0,0 +1,22 @@
1
+ ---
2
+ summary: "Work detail fetch, research resources tool, notFound guard for missing ORCID iDs, Solr quote fixes for name searches"
3
+ breaking: false
4
+ security: false
5
+ ---
6
+
7
+ # 0.2.0 — 2026-05-30
8
+
9
+ ## Added
10
+
11
+ - **`orcid_get_work_detail`** — fetches a full work record by `putCode` via `GET /v3.0/{orcid}/work/{putCode}`. Returns abstract, all contributors with CRediT roles, complete external IDs (DOI, PMID, arXiv, etc.), citation, journal title, and URL. ([#5](https://github.com/cyanheads/orcid-mcp-server/issues/5))
12
+ - **`orcid_get_research_resources`** — lists research resources (lab equipment, clinical study registrations, institutional facilities) via `GET /v3.0/{orcid}/research-resources`. Returns resource name, hosting organization, type, external IDs, and URL. ([#5](https://github.com/cyanheads/orcid-mcp-server/issues/5))
13
+ - **`orcid_get_works`** — now exposes `put_code` per work, enabling the list → detail chain with `orcid_get_work_detail`. ([#5](https://github.com/cyanheads/orcid-mcp-server/issues/5))
14
+
15
+ ## Changed
16
+
17
+ - **`researcher-works` resource** — non-existent or fully private ORCID iDs now surface a structured `notFound()` instead of a raw upstream error, consistent with the `researcher-profile` resource. ([#8](https://github.com/cyanheads/orcid-mcp-server/issues/8))
18
+
19
+ ## Fixed
20
+
21
+ - **`orcid_resolve_researcher`** — the `given-and-family-names` Solr clause is now quoted (`given-and-family-names:"Jennifer Doudna"` instead of `given-and-family-names:Jennifer Doudna`). Unquoted names OR-matched tokens, returning wrong candidates and inflated `numFound`. ([#4](https://github.com/cyanheads/orcid-mcp-server/issues/4))
22
+ - **`orcid_search_researchers`** — `given_name` and `family_name` Solr values are now quoted. Multi-word names (Mary Ann, Van Damme) now phrase-match correctly. ([#9](https://github.com/cyanheads/orcid-mcp-server/issues/9))
@@ -43,7 +43,7 @@ security: false
43
43
  name the symbol, state what changed, stop. Use a second sentence only when
44
44
  it carries weight. If a bullet feels long, it is.
45
45
 
46
- Cut: mechanism walkthroughs (those belong in JSDoc, AGENTS.md, or the
46
+ Cut: mechanism walkthroughs (those belong in JSDoc, CLAUDE.md/AGENTS.md, or the
47
47
  relevant skill), ceremonial framings ("This release introduces…",
48
48
  backwards-compat paragraphs), file-by-file test enumerations, internal
49
49
  implementation notes. Prefer code/symbol names over English re-explanations.
package/dist/index.js CHANGED
@@ -11,6 +11,8 @@ import { orcidGetAffiliations } from './mcp-server/tools/definitions/get-affilia
11
11
  import { orcidGetFunding } from './mcp-server/tools/definitions/get-funding.tool.js';
12
12
  import { orcidGetPeerReviews } from './mcp-server/tools/definitions/get-peer-reviews.tool.js';
13
13
  import { orcidGetProfile } from './mcp-server/tools/definitions/get-profile.tool.js';
14
+ import { orcidGetResearchResources } from './mcp-server/tools/definitions/get-research-resources.tool.js';
15
+ import { orcidGetWorkDetail } from './mcp-server/tools/definitions/get-work-detail.tool.js';
14
16
  import { orcidGetWorks } from './mcp-server/tools/definitions/get-works.tool.js';
15
17
  import { orcidResolveResearcher } from './mcp-server/tools/definitions/resolve-researcher.tool.js';
16
18
  import { orcidSearchResearchers } from './mcp-server/tools/definitions/search-researchers.tool.js';
@@ -20,9 +22,11 @@ await createApp({
20
22
  orcidGetProfile,
21
23
  orcidSearchResearchers,
22
24
  orcidGetWorks,
25
+ orcidGetWorkDetail,
23
26
  orcidGetAffiliations,
24
27
  orcidGetFunding,
25
28
  orcidGetPeerReviews,
29
+ orcidGetResearchResources,
26
30
  orcidResolveResearcher,
27
31
  ],
28
32
  resources: [researcherProfileResource, researcherWorksResource],
@@ -30,7 +34,7 @@ await createApp({
30
34
  setup(core) {
31
35
  initOrcidService(core.config, core.storage);
32
36
  },
33
- instructions: 'ORCID researcher registry server. Use orcid_search_researchers for exact field lookups (name + institution + DOI/PMID). Use orcid_resolve_researcher when the input is an ambiguous author name needing ranked disambiguation. Use orcid_get_profile → orcid_get_works → orcid_get_affiliations to build a researcher dossier. DOIs and PMIDs from orcid_get_works are ready for chaining to Crossref or PubMed servers.',
37
+ instructions: 'ORCID researcher registry server. Use orcid_search_researchers for exact field lookups (name + institution + DOI/PMID). Use orcid_resolve_researcher when the input is an ambiguous author name needing ranked disambiguation. Use orcid_get_profile → orcid_get_works → orcid_get_affiliations to build a researcher dossier. Pass put-codes from orcid_get_works to orcid_get_work_detail for abstracts and contributor lists. DOIs and PMIDs from orcid_get_works are ready for chaining to Crossref or PubMed servers.',
34
38
  landing: { requireAuth: false },
35
39
  });
36
40
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mEAAmE,CAAC;AAC9G,OAAO,EAAE,uBAAuB,EAAE,MAAM,iEAAiE,CAAC;AAC1G,OAAO,EAAE,oBAAoB,EAAE,MAAM,yDAAyD,CAAC;AAC/F,OAAO,EAAE,eAAe,EAAE,MAAM,oDAAoD,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yDAAyD,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,MAAM,oDAAoD,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,kDAAkD,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,2DAA2D,CAAC;AACnG,OAAO,EAAE,sBAAsB,EAAE,MAAM,2DAA2D,CAAC;AACnG,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,MAAM,SAAS,CAAC;IACd,KAAK,EAAE;QACL,eAAe;QACf,sBAAsB;QACtB,aAAa;QACb,oBAAoB;QACpB,eAAe;QACf,mBAAmB;QACnB,sBAAsB;KACvB;IACD,SAAS,EAAE,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;IAC/D,OAAO,EAAE,EAAE;IACX,KAAK,CAAC,IAAI;QACR,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IACD,YAAY,EACV,0ZAA0Z;IAC5Z,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;CAChC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mEAAmE,CAAC;AAC9G,OAAO,EAAE,uBAAuB,EAAE,MAAM,iEAAiE,CAAC;AAC1G,OAAO,EAAE,oBAAoB,EAAE,MAAM,yDAAyD,CAAC;AAC/F,OAAO,EAAE,eAAe,EAAE,MAAM,oDAAoD,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yDAAyD,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,MAAM,oDAAoD,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,+DAA+D,CAAC;AAC1G,OAAO,EAAE,kBAAkB,EAAE,MAAM,wDAAwD,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAE,MAAM,kDAAkD,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,2DAA2D,CAAC;AACnG,OAAO,EAAE,sBAAsB,EAAE,MAAM,2DAA2D,CAAC;AACnG,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,MAAM,SAAS,CAAC;IACd,KAAK,EAAE;QACL,eAAe;QACf,sBAAsB;QACtB,aAAa;QACb,kBAAkB;QAClB,oBAAoB;QACpB,eAAe;QACf,mBAAmB;QACnB,yBAAyB;QACzB,sBAAsB;KACvB;IACD,SAAS,EAAE,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;IAC/D,OAAO,EAAE,EAAE;IACX,KAAK,CAAC,IAAI;QACR,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IACD,YAAY,EACV,4fAA4f;IAC9f,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;CAChC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"researcher-works.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/researcher-works.resource.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAY,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAGrD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;6BAmElC,CAAC"}
1
+ {"version":3,"file":"researcher-works.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/researcher-works.resource.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAY,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAIrD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;6BA+ElC,CAAC"}
@@ -4,6 +4,7 @@
4
4
  * @module mcp-server/resources/definitions/researcher-works.resource
5
5
  */
6
6
  import { resource, z } from '@cyanheads/mcp-ts-core';
7
+ import { JsonRpcErrorCode, McpError, notFound } from '@cyanheads/mcp-ts-core/errors';
7
8
  import { getOrcidService, normalizeOrcidId } from '../../../services/orcid/orcid-service.js';
8
9
  export const researcherWorksResource = resource('orcid://researcher/{orcid_id}/works', {
9
10
  name: 'orcid-researcher-works',
@@ -42,7 +43,16 @@ export const researcherWorksResource = resource('orcid://researcher/{orcid_id}/w
42
43
  const service = getOrcidService();
43
44
  const bareId = normalizeOrcidId(params.orcid_id);
44
45
  ctx.log.debug('orcid-researcher-works resource', { orcidId: bareId });
45
- const works = await service.getWorks(params.orcid_id, ctx);
46
+ let works;
47
+ try {
48
+ works = await service.getWorks(params.orcid_id, ctx);
49
+ }
50
+ catch (err) {
51
+ if (err instanceof McpError && err.code === JsonRpcErrorCode.NotFound) {
52
+ throw notFound(`No works record found for ORCID iD ${bareId}. The record may not exist or may be fully private.`, { orcidId: bareId }, { cause: err });
53
+ }
54
+ throw err;
55
+ }
46
56
  return {
47
57
  orcidId: bareId,
48
58
  orcidUri: `https://orcid.org/${bareId}`,
@@ -1 +1 @@
1
- {"version":3,"file":"researcher-works.resource.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/researcher-works.resource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"researcher-works.resource.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/researcher-works.resource.ts"],"names":[],"mappings":"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"}
@@ -37,11 +37,12 @@ export declare const orcidGetAffiliations: import("@cyanheads/mcp-ts-core").Tool
37
37
  url: z.ZodOptional<z.ZodString>;
38
38
  }, z.core.$strip>>;
39
39
  requestedTypes: z.ZodArray<z.ZodString>;
40
- notice: z.ZodOptional<z.ZodString>;
41
40
  }, z.core.$strip>, readonly [{
42
41
  readonly reason: "profile_not_found";
43
42
  readonly code: JsonRpcErrorCode.NotFound;
44
43
  readonly when: "The ORCID iD does not correspond to a registered researcher.";
45
44
  readonly recovery: "Verify the ORCID iD is correct and try orcid_search_researchers to find valid iDs.";
46
- }]>;
45
+ }], {
46
+ readonly notice: z.ZodOptional<z.ZodString>;
47
+ }>;
47
48
  //# sourceMappingURL=get-affiliations.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-affiliations.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-affiliations.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAY,MAAM,+BAA+B,CAAC;AAmB3E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0L/B,CAAC"}
1
+ {"version":3,"file":"get-affiliations.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-affiliations.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAY,MAAM,+BAA+B,CAAC;AAmB3E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2L/B,CAAC"}
@@ -75,11 +75,15 @@ export const orcidGetAffiliations = tool('orcid_get_affiliations', {
75
75
  requestedTypes: z
76
76
  .array(z.string().describe('Affiliation type.'))
77
77
  .describe('Affiliation types that were requested.'),
78
+ }),
79
+ // Agent-facing context: empty-result notice surfaces in structuredContent and content[]
80
+ // without occupying the domain return.
81
+ enrichment: {
78
82
  notice: z
79
83
  .string()
80
84
  .optional()
81
85
  .describe('Note when no affiliations were found — may indicate private visibility or no self-reported affiliations.'),
82
- }),
86
+ },
83
87
  errors: [
84
88
  {
85
89
  reason: 'profile_not_found',
@@ -106,16 +110,15 @@ export const orcidGetAffiliations = tool('orcid_get_affiliations', {
106
110
  orcidId: bareId,
107
111
  affiliationCount: affiliations.length,
108
112
  });
109
- const notice = affiliations.length === 0
110
- ? `No affiliations found for the requested types (${input.types.join(', ')}). These may be set to private or not self-reported.`
111
- : undefined;
113
+ if (affiliations.length === 0) {
114
+ ctx.enrich.notice(`No affiliations found for the requested types (${input.types.join(', ')}). These may be set to private or not self-reported.`);
115
+ }
112
116
  return {
113
117
  orcidId: bareId,
114
118
  orcidUri: `https://orcid.org/${bareId}`,
115
119
  affiliationCount: affiliations.length,
116
120
  affiliations,
117
121
  requestedTypes: input.types,
118
- ...(notice && { notice }),
119
122
  };
120
123
  },
121
124
  format: (result) => {
@@ -125,9 +128,6 @@ export const orcidGetAffiliations = tool('orcid_get_affiliations', {
125
128
  `**Types Requested:** ${result.requestedTypes.join(', ')}`,
126
129
  `**Total Affiliations:** ${result.affiliationCount}`,
127
130
  ];
128
- if (result.notice) {
129
- lines.push('', `> ${result.notice}`);
130
- }
131
131
  if (result.affiliations.length === 0) {
132
132
  return [{ type: 'text', text: lines.join('\n') }];
133
133
  }
@@ -1 +1 @@
1
- {"version":3,"file":"get-affiliations.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-affiliations.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-affiliations.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-affiliations.tool.ts"],"names":[],"mappings":"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"}
@@ -26,11 +26,12 @@ export declare const orcidGetFunding: import("@cyanheads/mcp-ts-core").ToolDefin
26
26
  grantNumbers: z.ZodArray<z.ZodString>;
27
27
  url: z.ZodOptional<z.ZodString>;
28
28
  }, z.core.$strip>>;
29
- notice: z.ZodOptional<z.ZodString>;
30
29
  }, z.core.$strip>, readonly [{
31
30
  readonly reason: "profile_not_found";
32
31
  readonly code: JsonRpcErrorCode.NotFound;
33
32
  readonly when: "The ORCID iD does not correspond to a registered researcher.";
34
33
  readonly recovery: "Verify the ORCID iD is correct and try orcid_search_researchers to find valid iDs.";
35
- }]>;
34
+ }], {
35
+ readonly notice: z.ZodOptional<z.ZodString>;
36
+ }>;
36
37
  //# sourceMappingURL=get-funding.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-funding.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-funding.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAY,MAAM,+BAA+B,CAAC;AAI3E,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0J1B,CAAC"}
1
+ {"version":3,"file":"get-funding.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-funding.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAY,MAAM,+BAA+B,CAAC;AAI3E,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2J1B,CAAC"}
@@ -59,11 +59,15 @@ export const orcidGetFunding = tool('orcid_get_funding', {
59
59
  })
60
60
  .describe('Funding record.'))
61
61
  .describe('Funding records associated with this ORCID iD.'),
62
+ }),
63
+ // Agent-facing context: empty-result notice surfaces in structuredContent and content[]
64
+ // without occupying the domain return.
65
+ enrichment: {
62
66
  notice: z
63
67
  .string()
64
68
  .optional()
65
69
  .describe('Note when no funding is found — absence of records does not mean absence of funding.'),
66
- }),
70
+ },
67
71
  errors: [
68
72
  {
69
73
  reason: 'profile_not_found',
@@ -87,15 +91,14 @@ export const orcidGetFunding = tool('orcid_get_funding', {
87
91
  }
88
92
  const bareId = normalizeOrcidId(input.orcid_id);
89
93
  ctx.log.info('orcid_get_funding completed', { orcidId: bareId, fundingCount: records.length });
90
- const notice = records.length === 0
91
- ? 'No funding records found. ORCID funding data is self-reported and most researchers do not enter funding details. Absence does not imply no funding.'
92
- : undefined;
94
+ if (records.length === 0) {
95
+ ctx.enrich.notice('No funding records found. ORCID funding data is self-reported and most researchers do not enter funding details. Absence does not imply no funding.');
96
+ }
93
97
  return {
94
98
  orcidId: bareId,
95
99
  orcidUri: `https://orcid.org/${bareId}`,
96
100
  fundingCount: records.length,
97
101
  funding: records,
98
- ...(notice && { notice }),
99
102
  };
100
103
  },
101
104
  format: (result) => {
@@ -104,9 +107,6 @@ export const orcidGetFunding = tool('orcid_get_funding', {
104
107
  `**URI:** ${result.orcidUri}`,
105
108
  `**Total Funding Records:** ${result.fundingCount}`,
106
109
  ];
107
- if (result.notice) {
108
- lines.push('', `> ${result.notice}`);
109
- }
110
110
  if (result.funding.length === 0) {
111
111
  return [{ type: 'text', text: lines.join('\n') }];
112
112
  }
@@ -1 +1 @@
1
- {"version":3,"file":"get-funding.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-funding.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-funding.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-funding.tool.ts"],"names":[],"mappings":"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"}
@@ -25,11 +25,12 @@ export declare const orcidGetPeerReviews: import("@cyanheads/mcp-ts-core").ToolD
25
25
  reviewUrl: z.ZodOptional<z.ZodString>;
26
26
  groupIssn: z.ZodOptional<z.ZodString>;
27
27
  }, z.core.$strip>>;
28
- notice: z.ZodOptional<z.ZodString>;
29
28
  }, z.core.$strip>, readonly [{
30
29
  readonly reason: "profile_not_found";
31
30
  readonly code: JsonRpcErrorCode.NotFound;
32
31
  readonly when: "The ORCID iD does not correspond to a registered researcher.";
33
32
  readonly recovery: "Verify the ORCID iD is correct and try orcid_search_researchers to find valid iDs.";
34
- }]>;
33
+ }], {
34
+ readonly notice: z.ZodOptional<z.ZodString>;
35
+ }>;
35
36
  //# sourceMappingURL=get-peer-reviews.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-peer-reviews.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-peer-reviews.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAY,MAAM,+BAA+B,CAAC;AAI3E,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;GAkK9B,CAAC"}
1
+ {"version":3,"file":"get-peer-reviews.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-peer-reviews.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAY,MAAM,+BAA+B,CAAC;AAI3E,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmK9B,CAAC"}
@@ -62,11 +62,15 @@ export const orcidGetPeerReviews = tool('orcid_get_peer_reviews', {
62
62
  })
63
63
  .describe('Peer review record.'))
64
64
  .describe('Peer review records for this ORCID iD.'),
65
+ }),
66
+ // Agent-facing context: empty-result notice surfaces in structuredContent and content[]
67
+ // without occupying the domain return.
68
+ enrichment: {
65
69
  notice: z
66
70
  .string()
67
71
  .optional()
68
72
  .describe('Note when no peer reviews are found — coverage varies by researcher and publisher participation.'),
69
- }),
73
+ },
70
74
  errors: [
71
75
  {
72
76
  reason: 'profile_not_found',
@@ -93,15 +97,14 @@ export const orcidGetPeerReviews = tool('orcid_get_peer_reviews', {
93
97
  orcidId: bareId,
94
98
  reviewCount: reviews.length,
95
99
  });
96
- const notice = reviews.length === 0
97
- ? 'No peer review records found. Coverage depends on researcher self-reporting and publisher participation in ORCID peer review import.'
98
- : undefined;
100
+ if (reviews.length === 0) {
101
+ ctx.enrich.notice('No peer review records found. Coverage depends on researcher self-reporting and publisher participation in ORCID peer review import.');
102
+ }
99
103
  return {
100
104
  orcidId: bareId,
101
105
  orcidUri: `https://orcid.org/${bareId}`,
102
106
  reviewCount: reviews.length,
103
107
  peerReviews: reviews,
104
- ...(notice && { notice }),
105
108
  };
106
109
  },
107
110
  format: (result) => {
@@ -110,9 +113,6 @@ export const orcidGetPeerReviews = tool('orcid_get_peer_reviews', {
110
113
  `**URI:** ${result.orcidUri}`,
111
114
  `**Total Reviews:** ${result.reviewCount}`,
112
115
  ];
113
- if (result.notice) {
114
- lines.push('', `> ${result.notice}`);
115
- }
116
116
  if (result.peerReviews.length === 0) {
117
117
  return [{ type: 'text', text: lines.join('\n') }];
118
118
  }
@@ -1 +1 @@
1
- {"version":3,"file":"get-peer-reviews.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-peer-reviews.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-peer-reviews.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-peer-reviews.tool.ts"],"names":[],"mappings":"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"}
@@ -35,5 +35,5 @@ export declare const orcidGetProfile: import("@cyanheads/mcp-ts-core").ToolDefin
35
35
  readonly code: JsonRpcErrorCode.NotFound;
36
36
  readonly when: "The ORCID iD does not correspond to a registered researcher.";
37
37
  readonly recovery: "Verify the ORCID iD is correct and try orcid_search_researchers to find valid iDs.";
38
- }]>;
38
+ }], undefined>;
39
39
  //# sourceMappingURL=get-profile.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-profile.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-profile.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAY,MAAM,+BAA+B,CAAC;AAI3E,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuK1B,CAAC"}
1
+ {"version":3,"file":"get-profile.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-profile.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAY,MAAM,+BAA+B,CAAC;AAI3E,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuK1B,CAAC"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * @fileoverview List research resources (equipment, facilities, compute allocations, etc.)
3
+ * associated with an ORCID researcher.
4
+ * @module mcp-server/tools/definitions/get-research-resources
5
+ */
6
+ import { z } from '@cyanheads/mcp-ts-core';
7
+ import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
8
+ export declare const orcidGetResearchResources: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
9
+ orcid_id: z.ZodString;
10
+ }, z.core.$strip>, z.ZodObject<{
11
+ orcidId: z.ZodString;
12
+ orcidUri: z.ZodString;
13
+ resourceCount: z.ZodNumber;
14
+ resources: z.ZodArray<z.ZodObject<{
15
+ putCode: z.ZodNumber;
16
+ title: z.ZodOptional<z.ZodString>;
17
+ hostOrganization: z.ZodOptional<z.ZodObject<{
18
+ name: z.ZodOptional<z.ZodString>;
19
+ city: z.ZodOptional<z.ZodString>;
20
+ country: z.ZodOptional<z.ZodString>;
21
+ disambiguatedId: z.ZodOptional<z.ZodString>;
22
+ disambiguationSource: z.ZodOptional<z.ZodString>;
23
+ }, z.core.$strip>>;
24
+ externalIds: z.ZodArray<z.ZodObject<{
25
+ type: z.ZodString;
26
+ value: z.ZodString;
27
+ url: z.ZodOptional<z.ZodString>;
28
+ relationship: z.ZodOptional<z.ZodString>;
29
+ }, z.core.$strip>>;
30
+ startDate: z.ZodOptional<z.ZodString>;
31
+ endDate: z.ZodOptional<z.ZodString>;
32
+ url: z.ZodOptional<z.ZodString>;
33
+ }, z.core.$strip>>;
34
+ }, z.core.$strip>, readonly [{
35
+ readonly reason: "profile_not_found";
36
+ readonly code: JsonRpcErrorCode.NotFound;
37
+ readonly when: "The ORCID iD does not correspond to a registered researcher.";
38
+ readonly recovery: "Verify the ORCID iD is correct and try orcid_search_researchers to find valid iDs.";
39
+ }], {
40
+ readonly notice: z.ZodOptional<z.ZodString>;
41
+ }>;
42
+ //# sourceMappingURL=get-research-resources.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-research-resources.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-research-resources.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAY,MAAM,+BAA+B,CAAC;AA6B3E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuJpC,CAAC"}