← Back to search

io.github.cyanheads/orcid-mcp-server

cyanheads streamable_http Scanned 22h ago

Researcher profiles, works, affiliations, funding, and peer reviews from the ORCID registry.

B
87.4 / 100

Versions

0.1.2latest
first seen Jun 5, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 9

orcid_get_research_resources
annotations: verified low

List research resources associated with an ORCID researcher — compute allocations, equipment access, lab facilities, data resources, and clinical study registrations. This is a newer ORCID section; most researchers have no entries. Returns the resource title, hosting organization, external identifiers (often a URI to the allocation portal), access period, and the source that added each entry. Most entries are deposited by resource-allocation systems (e.g. ACCESS, XSEDE) rather than researchers themselves.

url string input object output object orcidId string putCode number orcidUri string resourceCount number
readOnlyHint true openWorldHint true idempotentHint true
orcid_get_peer_reviews
annotations: verified low

Fetch peer review activity for an ORCID researcher: reviewer role (reviewer, editor, chair, etc.), review type, completion dates, ISSN-keyed group identifiers, and the convening organization as ORCID records it — often the service that imported the review (e.g. Publons, Clarivate). ORCID returns no journal name; groupIssn is the key to the journal, and a review that has one is headed by it. Use to assess editorial activity, journal affiliations, and the scope of a researcher's peer review contributions. Reviews come from the researcher or from member organizations that import them; sources names who added each, and coverage varies by researcher.

city string input object output object country string orcidId string orcidUri string reviewCount number
readOnlyHint true openWorldHint true idempotentHint true
orcid_get_profile
annotations: verified low

Fetch a researcher's public profile from ORCID: name, other names, biography, keywords, researcher URLs, and external identifiers such as Scopus Author ID, ResearcherID, and Loop profile. This is the entry point for building a researcher dossier. Pass a bare ORCID iD (0000-0001-2345-6789) or a full URI (https://orcid.org/0000-0001-2345-6789). The profile contains only publicly visible data — researchers control visibility per field.

url string input object value string output object orcidId string orcidUri string biography string creditName string familyName string givenNames string relationship string
readOnlyHint true openWorldHint true idempotentHint true
orcid_get_works
annotations: verified low

Retrieve works associated with an ORCID iD — publications, datasets, software, preprints, and more. Returns work summaries with put-codes, titles, types, publication dates, journal names, and all external identifiers (DOIs, PMIDs, arXiv IDs, ISBNs). The first 50 works are returned by default; workCount reports the total available, and prolific records are paged with offset and the returned nextOffset (or raise limit). A page also stops early once the response reaches its 64,000-byte budget, so returnedCount can come in below limit; truncated and nextOffset then carry the continuation. Set include_external_ids to false to omit identifier lists for a lighter payload. Pass the putCode from each work to orcid_get_work_detail to retrieve the full record including abstract and contributors. External IDs are ready for chaining to Crossref, PubMed, or arXiv servers. Works come from the researcher or from member organizations such as Crossref or a university system; each work lists its sources and whether the researcher asserted it (selfAsserted). A researcher may not have linked all their publications.

input object output object orcidId string orcidUri string
readOnlyHint true openWorldHint true idempotentHint true
orcid_get_affiliations
annotations: verified low

Fetch affiliation records for an ORCID researcher. The `types` parameter controls which affiliation sections to return: employment, education, invited-positions, distinctions, memberships, qualifications, services, or all. Default is employment and education. Returns organization names, disambiguated organization identifiers (ROR/GRID/Ringgold), departments, roles, date ranges, and sources. Affiliations come from the researcher or from member organizations such as a university research information system; sources names who added each, and selfAsserted tells the two apart. Absence does not mean no affiliation.

city string input object output object country string orcidId string orcidUri string affiliationCount number
readOnlyHint true openWorldHint true idempotentHint true
orcid_resolve_researcher
annotations: verified low

Disambiguate an author name to a verified ORCID iD. Returns ranked candidates (5 by default, up to 20 via the rows parameter) with transparent disambiguation signals: name match type (exact/partial/other-name/none), institution overlap flag, and whether a DOI or PMID anchor was used in the query. The name is searched as an exact phrase first; when that finds nothing, byline initials (J. Doudna, Jennifer A. Doudna) and then the other names listed on ORCID records are tried. A DOI or PMID anchor is near-deterministic — it filters to researchers who have linked that specific work to their ORCID record. Use this tool (not orcid_search_researchers) when the input is an ambiguous name that needs ranked disambiguation. No synthetic scores are used — raw signals only.

input object
readOnlyHint true openWorldHint true idempotentHint true
orcid_search_researchers
annotations: verified low

Search the ORCID registry using structured field parameters or raw Solr syntax. Provide at least one non-blank search field; all provided structured params are ANDed together. The `query` field adds raw Solr syntax, ANDed with the structured params as one group. Returns ORCID iDs with inline name and institution data — no follow-up profile fetches needed for basic disambiguation. For ranked disambiguation of an ambiguous author name, use orcid_resolve_researcher instead. The ORCID Public API caps results at 10,000 — use pagination for large result sets. Each response also stops at 64,000 bytes; continue a cut page from nextStart.

affiliation string family_name string
readOnlyHint true openWorldHint true idempotentHint true
orcid_get_funding
annotations: verified low

Fetch funding records for an ORCID researcher: grants, contracts, awards, and salary awards. Returns funder names, funder organization identifiers, grant numbers, funding periods, and sources. Funding items come from the researcher or from member organizations such as funders, institutions, and search-and-link tools; sources names who added each. Most researchers have no funding entries even when they hold grants, so absence of funding records does not imply absence of funding. When records exist they are high-value for grant tracking and funder analysis.

city string input object output object country string orcidId string orcidUri string
readOnlyHint true openWorldHint true idempotentHint true
orcid_get_work_detail
annotations: verified low

Fetch full detail records for 1–100 works by their put-codes in a single request. Put-codes are returned by orcid_get_works in the putCode field of each work entry. Returns the abstract (short-description), contributors with CRediT roles, the external IDs on that record (DOI, PMID, arXiv, ISBN, etc.), citation metadata (BibTeX or other formats when provided), journal title, URL, and the source that added it for each work. A record listing more than 100 contributors keeps the first 100 plus the requested researcher's own entries, with contributorCount giving the total and contributorsTruncated set; a citation over 8,192 bytes is left out and flagged by citationOmitted. Per-record errors (not-found or inaccessible put-codes) are surfaced as error entries rather than failing the whole call. Records are added while the response stays within its 64,000-byte budget; put-codes left out are returned in deferredPutCodes to pass back in a follow-up call. A repeated put-code is fetched once.

input object works array output object orcidId string orcidUri string
readOnlyHint true openWorldHint true idempotentHint true

Permissions 3

network medium
Server uses network capabilities via: fetch()
shell high
Server uses shell capabilities via: child_process, spawn(), spawnSync()
env_vars low
Server uses env_vars capabilities via: process.env

Scan Findings 28

info
Tool 'orcid_get_research_resources' annotations are consistent annotation_checker · 80%
info
Tool 'orcid_get_peer_reviews' annotations are consistent annotation_checker · 80%
info
Tool 'orcid_get_profile' annotations are consistent annotation_checker · 80%
info
Tool 'orcid_get_works' annotations are consistent annotation_checker · 80%
info
Tool 'orcid_get_affiliations' annotations are consistent annotation_checker · 80%
info
Tool 'orcid_resolve_researcher' annotations are consistent annotation_checker · 80%
info
Tool 'orcid_search_researchers' annotations are consistent annotation_checker · 80%
info
Tool 'orcid_get_funding' annotations are consistent annotation_checker · 80%
info
Tool 'orcid_get_work_detail' annotations are consistent annotation_checker · 80%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
info
package.json metadata manifest_parser · 100%
info
Tool: orcid_get_research_resources manifest_parser · 75%
info
Tool: orcid_get_peer_reviews manifest_parser · 75%
info
Tool: orcid_get_profile manifest_parser · 75%
info
Tool: orcid_get_works manifest_parser · 75%
info
Tool: orcid_get_affiliations manifest_parser · 75%
info
Tool: orcid_resolve_researcher manifest_parser · 75%
info
Tool: orcid_search_researchers manifest_parser · 75%
info
Tool: orcid_get_funding manifest_parser · 75%
info
Tool: orcid_get_work_detail manifest_parser · 75%
info
Required env vars (4) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
Permission: network access detected permission_analyzer · 70%
high
Permission: shell access detected permission_analyzer · 95%
low
Permission: env_vars access detected permission_analyzer · 90%
info
SBOM generated: 13 components sbom_generator · 100%
high
Hardcoded Password found in cyanheads-orcid-mcp-server-f1393e4/framework-skills/api-utils/references/security.md secret_scanner · 65%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%