Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.cyanheads/orcid-mcp-server

REMOTE · ORCID.CASEYJHAND.COM · 2 COMPONENTS

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

0 this week 89 Trust /100

Last scanned (3 hours ago)

Scores higher than 97% of remote servers

Reachable. Last reached 5 Nov 2026.

Category Education and Research

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security83
Transport & Reachability100
Schema Quality & AI Usability75
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 3648 tokens (~364/item across 10 items; 9 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 9 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 11 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 28 Oct 26 +3
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “orcid_get_funding” rewrote its description, which is the text the model reads security
    • Tool “orcid_get_research_resources” rewrote its description, which is the text the model reads security
    • Tool “orcid_get_work_detail” rewrote its description, which is the text the model reads security
    • Tool “orcid_get_works” rewrote its description, which is the text the model reads security
    • Tool “orcid_resolve_researcher” rewrote its description, which is the text the model reads security
    • Tool “orcid_search_researchers” rewrote its description, which is the text the model reads security
    • Schema quality: 414 → 364 ▲ functional
    • Schema quality: unverified → 100 ▲ functional
    • New resource “orcid-guide” functional
    • Server version: 0.3.4 → 0.4.0 functional
    • “orcid_get_works” added an optional parameter “year_from” cosmetic
    • “orcid_get_works” added an optional parameter “work_types” cosmetic
    • “orcid_get_works” added an optional parameter “year_to” cosmetic
    • “orcid_get_peer_reviews” reworded the description of “limit” cosmetic
    • “orcid_get_research_resources” reworded the description of “item_limit” cosmetic
    • “orcid_get_research_resources” reworded the description of “item_offset” cosmetic
    • “orcid_get_work_detail” reworded the description of “put_codes” cosmetic
    • “orcid_get_works” reworded the description of “limit” cosmetic
    • “orcid_get_works” reworded the description of “offset” cosmetic
    • “orcid_resolve_researcher” reworded the description of “rows” cosmetic
    • “orcid_search_researchers” reworded the description of “rows” cosmetic
    • “orcid_get_funding” dropped the optional parameter “description_offset” cosmetic
  • 24 Oct 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “orcid_resolve_researcher” rewrote its description, which is the text the model reads security
    • Tool “orcid_get_funding” rewrote its description, which is the text the model reads security
    • Server version: 0.3.3 → 0.3.4 functional
    • “orcid_get_funding” added an optional parameter “put_code” cosmetic
    • “orcid_get_funding” added an optional parameter “description_offset” cosmetic
    • “orcid_resolve_researcher” reworded the description of “rows” cosmetic
  • 19 Oct 26 −1
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “orcid_get_work_detail” rewrote its description, which is the text the model reads security
    • Tool “orcid_get_research_resources” rewrote its description, which is the text the model reads security
    • Schema quality: 344 → 390 ▼ functional
    • Server version: 0.3.2 → 0.3.3 functional
    • “orcid_get_research_resources” added an optional parameter “put_code” cosmetic
    • “orcid_get_research_resources” added an optional parameter “item_offset” cosmetic
    • “orcid_get_research_resources” added an optional parameter “item_limit” cosmetic
    • “orcid_get_peer_reviews” added an optional parameter “offset” cosmetic
    • “orcid_get_peer_reviews” added an optional parameter “limit” cosmetic
    • “orcid_search_researchers” reworded the description of “rows” cosmetic
    • “orcid_search_researchers” reworded the description of “doi” cosmetic
    • “orcid_resolve_researcher” reworded the description of “pmid” cosmetic
    • “orcid_resolve_researcher” reworded the description of “doi” cosmetic
    • “orcid_get_works” reworded the description of “limit” cosmetic
    • “orcid_get_work_detail” reworded the description of “put_codes” cosmetic
    • “orcid_search_researchers” reworded the description of “pmid” cosmetic
  • 13 Oct 26 0
    • MCP protocol: Implements a current MCP spec version (2026-07-28). functional
    • MCP protocol version: 2025-11-25 → 2026-07-28 functional
  • 12 Oct 26 0
    • MCP protocol: Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28. functional
    • MCP protocol version: 2026-07-28 → 2025-11-25 functional
  • 3 Oct 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “orcid_get_works” rewrote its description, which is the text the model reads security
    • Tool “orcid_get_peer_reviews” rewrote its description, which is the text the model reads security
    • Tool “orcid_get_profile” rewrote its description, which is the text the model reads security
    • Tool “orcid_get_research_resources” rewrote its description, which is the text the model reads security
    • Tool “orcid_get_work_detail” rewrote its description, which is the text the model reads security
    • Tool “orcid_resolve_researcher” rewrote its description, which is the text the model reads security
    • Tool “orcid_search_researchers” rewrote its description, which is the text the model reads security
    • Tool “orcid_get_affiliations” rewrote its description, which is the text the model reads security
    • Tool “orcid_get_funding” rewrote its description, which is the text the model reads security
    • Schema quality: 282 → 344 ▼ functional
    • Server version: 0.3.1 → 0.3.2 functional
    • “orcid_search_researchers” reworded the description of “rows” cosmetic
    • “orcid_search_researchers” reworded the description of “ror_id” cosmetic
    • “orcid_get_funding” reworded the description of “orcid_id” cosmetic
    • “orcid_get_peer_reviews” reworded the description of “orcid_id” cosmetic
    • “orcid_get_profile” reworded the description of “orcid_id” cosmetic
    • “orcid_get_research_resources” reworded the description of “orcid_id” cosmetic
    • “orcid_get_work_detail” reworded the description of “orcid_id” cosmetic
    • “orcid_get_works” reworded the description of “orcid_id” cosmetic
    • “orcid_resolve_researcher” reworded the description of “name” cosmetic
    • “orcid_search_researchers” reworded the description of “given_name” cosmetic
    • “orcid_search_researchers” reworded the description of “query” cosmetic
    • “orcid_get_affiliations” reworded the description of “orcid_id” cosmetic
  • 28 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 25 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Probed https://orcid.caseyjhand.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=caseyjhand.com CN=WE1,O=Google Trust Services,C=US 2 Nov 2026 31 Jan 2027 ECDSA 256 ECDSA-SHA256 995a30681ab772540e934241ca1d576c
SANs: caseyjhand.com, *.caseyjhand.com
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC secure

Validation of orcid.caseyjhand.com. — Secure

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
caseyjhand.com. present 2371 13 Verified
orcid.caseyjhand.com. Verified address RRset verified with the apex keys
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=63072000; includeSubDomains; preload
x-content-type-options nosniff

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://orcid.caseyjhand.com/mcp Verified 200
http (plaintext) http://orcid.caseyjhand.com/mcp HTTPS enforced 301 https://orcid.caseyjhand.com/mcp
MCP tools · 9 exposed · ~3,139 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
orcid_get_affiliations ~215

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.

NameTypeReqDescription
orcid_idstringyesORCID iD — bare (0000-0001-2345-6789) or as an orcid.org URI (https://orcid.org/0000-0001-2345-6789). The check digit may be X or x.
typesarray–Which affiliation types to return. Defaults to employment and education. Use ["all"] to get every section.
NameTypeReqDescription
affiliationCountnumber–Total number of affiliation records returned.
affiliationsarray–Affiliation records for the requested types.
errorobject–Present when the call failed. Absent on success.
noticestring–Note when no affiliations were found — they may be private, or neither the researcher nor a member organization added any — or when a deprecated iD was served from its primary iD.
orcidIdstring–Normalized ORCID iD (bare format).
orcidUristring–Full ORCID URI.
requestedTypesarray–Unique caller affiliation selectors in first-occurrence order, retaining all when requested.

No examples provided.

orcid_get_funding ~182

List funding for an ORCID researcher, or supply a summary putCode as put_code to fetch one deposited award. Summary returns one preferred record per grant group with all sources and distinct periods. Detail returns that deposit alone with its own source, optional exact decimal amount and currency, URL, and its whole deposited description (ORCID caps it at 5,000 characters). Funding records are sparse; absence does not imply no funding.

NameTypeReqDescription
orcid_idstringyesORCID iD — bare (0000-0001-2345-6789) or as an orcid.org URI (https://orcid.org/0000-0001-2345-6789). The check digit may be X or x.
put_codeinteger–Selected deposit putCode from a funding summary. Omit to list grouped summaries.
NameTypeReqDescription
errorobject–Present when the call failed. Absent on success.
fundingarray–Funding group summaries or one selected funding deposit.
fundingCountnumber–Number of funding items returned: one per group in summary, one deposit in detail.
noticestring–Note when no funding is found — absence of records does not mean absence of funding — or when a deprecated iD was served from its primary iD.
orcidIdstring–Normalized ORCID iD (bare format).
orcidUristring–Full ORCID URI.
viewstring–Grouped summaries or one selected deposit.

No examples provided.

orcid_get_peer_reviews ~253

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.

NameTypeReqDescription
limitinteger–Reviews per page. Default 25; a larger value returns at most 1,000 and says so.
offsetinteger–Zero-based review offset; continue with nextOffset.
orcid_idstringyesORCID iD — bare (0000-0001-2345-6789) or as an orcid.org URI (https://orcid.org/0000-0001-2345-6789). The check digit may be X or x.
NameTypeReqDescription
errorobject–Present when the call failed. Absent on success.
nextOffsetnumber–First omitted review offset; absent on final, empty, or past-end pages.
noticestring–Deprecated-iD disclosure naming the primary iD, requested/effective limit disclosure, past-end guidance, or empty-history guidance.
offsetnumber–Zero-based offset applied to this page.
orcidIdstring–Normalized ORCID iD (bare format).
orcidUristring–Full ORCID URI.
peerReviewsarray–Peer review records for this ORCID iD.
reviewCountnumber–Total number of peer review records returned.
totalCountnumber–Total reviews before pagination.
truncatedboolean–True when more reviews remain after this page.

No examples provided.

orcid_get_profile ~180

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.

NameTypeReqDescription
orcid_idstringyesORCID iD — bare (0000-0001-2345-6789) or as an orcid.org URI (https://orcid.org/0000-0001-2345-6789). The check digit may be X or x.
NameTypeReqDescription
biographystring–Researcher biography, if publicly visible.
countriesarray–Countries listed in the researcher's address section.
creditNamestring–Published credit name, if set.
emailsarray–Publicly visible email addresses.
errorobject–Present when the call failed. Absent on success.
externalIdentifiersarray–External identifiers from scholarly systems (Scopus, Web of Science, Loop, etc.).
familyNamestring–Family (last) name, if publicly visible.
givenNamesstring–Given (first) name, if publicly visible.
keywordsarray–Research keywords set by the researcher.
noticestring–Names the profile sections with no public data — ORCID visibility is set per field, so an empty section may be private — and, for a deprecated iD, the primary iD it was merged into.
orcidIdstring–Normalized ORCID iD (bare format without URI prefix).
orcidUristring–Full ORCID URI (https://orcid.org/{id}).
otherNamesarray–Other names listed on the ORCID record.
researcherUrlsarray–Researcher-provided URLs (personal site, lab page, blog, etc.).

No examples provided.

orcid_get_research_resources ~252

List allocation proposals for an ORCID researcher, or supply put_code from a summary record to retrieve its actual resource items. Summary is the default view and includes every proposal host, identifiers, access period, and source provenance; hostOrganization remains the first proposal host. Detail adds item names, types, all operators, identifiers, and URLs, paged by item_offset and item_limit (both require put_code); continue at nextItemOffset with the same put_code. Most researchers have no entries; allocation systems such as ACCESS deposit these records.

NameTypeReqDescription
item_limitinteger–Items per detail page. Default 25; a larger value returns at most 100 and says so. Requires put_code.
item_offsetinteger–Detail item offset. Default 0; requires put_code.
orcid_idstringyesORCID iD — bare (0000-0001-2345-6789) or as an orcid.org URI (https://orcid.org/0000-0001-2345-6789). The check digit may be X or x.
put_codeinteger–Proposal put-code from summary mode; selects the full allocation detail.
NameTypeReqDescription
errorobject–Present when the call failed. Absent on success.
itemLimitNoticestring–Notice when the requested item limit is reduced to the effective maximum of 100.
noticestring–Note when no research resources are found — this section is sparsely populated across ORCID profiles — or when a deprecated iD was served from its primary iD.
orcidIdstring–Normalized ORCID iD (bare format).
orcidUristring–Full ORCID URI.
putCodenumber–Selected proposal put-code in detail mode.
resourceCountnumber–Total number of research resources returned.
resourcesarray–Research resources associated with this ORCID iD.
truncatedboolean–Detail-page indicator: true exactly when the selected resource has allocation items remaining after this page; mirrors itemsTruncated. Absent in summary mode.
viewstring–Summary list or selected allocation detail.

No examples provided.

orcid_get_work_detail ~344

Fetch full work details by put-code from orcid_get_works. Accepts 1–1,000 raw codes, deduplicates in first-occurrence order, and fetches the first 100 distinct codes in one request, returning every record ORCID sends. Returns abstracts, contributors with CRediT roles, the record's external IDs (DOI, PMID, arXiv, ISBN, etc.), citation metadata, journal title, URL, and source provenance. A record listing more than 100 contributors keeps the first 100 plus the requested researcher's own entries, with contributorCount and contributorsTruncated; a citation over 8,192 bytes is left out and flagged by citationOmitted. Per-record errors are returned alongside successful works. deferredPutCodes lists, in request order, the codes past the 100-code fetch cap and any ORCID returned no result for; pass them as put_codes in another call.

NameTypeReqDescription
orcid_idstringyesORCID iD — bare (0000-0001-2345-6789) or as an orcid.org URI (https://orcid.org/0000-0001-2345-6789). The check digit may be X or x.
put_codesarrayyesArray of 1–1,000 raw work put-codes from orcid_get_works. Deduplicated in first-occurrence order; the first 100 distinct codes are fetched and the rest return in deferredPutCodes. A record costs what…
NameTypeReqDescription
deferredPutCodesarray–Requested distinct put-codes no returned work or error settled, in request order: those past the 100-code fetch cap and any ORCID returned no result for. Pass as put_codes in another call. Omitted wh…
errorobject–Present when the call failed. Absent on success.
errorsarray–Per-record errors for put-codes that could not be resolved (not found or inaccessible). Empty when all put-codes resolved successfully.
noticestring–Deprecated-iD disclosure naming the primary iD, then separate notices for put-codes past the 100-code fetch cap and put-codes ORCID returned no result for; call again with deferredPutCodes.
orcidIdstring–Normalized ORCID iD (bare format).
orcidUristring–Full ORCID URI.
worksarray–Successfully resolved work detail records.

No examples provided.

orcid_get_works ~519

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). Narrow the list with work_types and year_from/year_to; the filters run over the whole record before paging, so matchedCount counts every match and workCount the whole record. The first 25 matching works are returned by default; page with offset and the returned nextOffset, or raise limit. 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.

NameTypeReqDescription
include_external_idsboolean–When true (default), each work carries its external identifiers (DOIs, PMIDs, arXiv IDs, ISBNs). Set false to omit them for a lighter payload when only titles, types, and dates are needed.
limitinteger–Works per page. Default 25; a larger value returns at most 1,000 and says so.
offsetinteger–Zero-based index of the first matching work to return (default 0). Continue with nextOffset.
orcid_idstringyesORCID iD — bare (0000-0001-2345-6789) or as an orcid.org URI (https://orcid.org/0000-0001-2345-6789). The check digit may be X or x.
work_typesarray–Keep only works of these types, matched against each workType (e.g. ["journal-article", "preprint"]; ORCID spells datasets data-set). Any listed type matches; an empty list keeps every type.
year_frominteger–Keep only works published in or after this year, read from the first four digits of publicationDate. Under either year bound, works with no publication date are left out and counted in the notice.
year_tointeger–Keep only works published in or before this year; not before year_from.
NameTypeReqDescription
appliedFiltersobject–The filters applied before paging, present only when one is set.
errorobject–Present when the call failed. Absent on success.
matchedCountnumber–Works matching work_types and the year range, before offset and limit; equals workCount when no filter is set.
nextOffsetnumber–Offset to pass on the next call, with the same filters, to continue paging. Omitted when this response includes the last matching work.
noticestring–Deprecated-iD disclosure naming the primary iD, requested/effective limit disclosure, the count of undated works a year filter left out, no-match or past-end guidance, or empty-record guidance: works…
offsetnumber–Zero-based offset into the matching works applied for this response.
orcidIdstring–Normalized ORCID iD (bare format).
orcidUristring–Full ORCID URI.
returnedCountnumber–Number of works returned in this response.
truncatedboolean–True when more matching works follow this page — fetch them with nextOffset.
workCountnumber–Total works on this ORCID record, before filters, offset, and limit.
worksarray–Matching works in ORCID order, sliced to the requested offset and limit.

No examples provided.

orcid_resolve_researcher ~513

Disambiguate an author name to a verified ORCID iD. Returns ranked candidates (5 by default, at most 20 per search stage) 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.

NameTypeReqDescription
affiliationstring–Researcher's institution or organization name. Used for institution overlap scoring and optionally as a search constraint.
doistring–Complete DOI of a work authored by this researcher, bare (10.1126/science.1225829) or as a https://doi.org/, https://dx.doi.org/, or doi: form. Requires 10., digits, a slash, and a non-whitespace suf…
namestringyesAuthor name to disambiguate: a full name ("Jennifer Doudna"), a byline with initials ("J. Doudna", "Jennifer A. Doudna"), or "Family, Given" ("Doudna, Jennifer", read as Jennifer Doudna). The exact p…
pmidstring–Numeric PubMed ID of a work authored by this researcher, bare (22745249), as PMID:22745249, or as a pubmed.ncbi.nlm.nih.gov or ncbi.nlm.nih.gov/pubmed URL. Blank means unset; a label or URL without d…
rowsinteger–Candidates to return. Default 5; a larger value returns at most 20 per search stage and says so.
NameTypeReqDescription
candidatesarray–Ranked candidates, ordered by name match quality then institution overlap.
errorobject–Present when the call failed. Absent on success.
noticestring–Requested/effective candidate cap notice, composed with recovery guidance when no candidates are found or the anchor query failed to match.
primaryQuerystring–The primary, most-constrained Solr query attempted first (exact name phrase + optional anchor + optional affiliation). Always populated; equals queryUsed when no fallback ran.
primaryTotalFoundnumber–Total ORCID records matching primaryQuery. Zero when the primary query found nothing and a relaxed fallback produced the returned candidates.
queryUsedstring–The Solr query that produced the returned candidates — the primary query, or the last fallback stage run when the primary found nothing. Paired with totalFound.
relaxedQuerystring–The last fallback stage run (byline initials, affiliation dropped, other names, or an anchor alone), present only when the primary query found nothing.
totalFoundnumber–Total ORCID records matching queryUsed (the query that produced the returned candidates).

No examples provided.

orcid_search_researchers ~681

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. Continue a page from nextStart; the ORCID Public API pages only the first 10,000 matches, so narrow the query to reach the rest.

NameTypeReqDescription
affiliationstring–Organization name to filter by. Phrase match.
doistring–Complete DOI to anchor the search, bare (10.1126/science.1225829) or as a https://doi.org/, https://dx.doi.org/, or doi: form. Requires 10., digits, a slash, and a non-whitespace suffix; blank means…
family_namestring–Researcher's family (last) name.
given_namestring–Researcher's given (first) name. Phrase match; a value of only initials (J. or J. A.) matches given names starting with each letter.
grant_numberstring–Grant or award number on a funding item in the researcher record (e.g. 5F31MH010500-03). Matched as a case-insensitive phrase over the parts between separators such as hyphens and slashes: 5F31MH0105…
keywordstring–Keyword to search in the researcher's keyword fields. Phrase match.
pmidstring–Numeric PubMed ID to anchor the search, bare (22745249), as PMID:22745249, or as a pubmed.ncbi.nlm.nih.gov or ncbi.nlm.nih.gov/pubmed URL. Blank means unset; a label or URL without digits is invalid.…
querystring–Raw Solr query string. Sent as written when it is the only field; beside structured params it is ANDed as one parenthesized group, so a top-level OR keeps its alternatives (an exclusion-only query su…
ror_idstring–ROR organization ID to filter by, bare (00f54p054) or as a ror.org URL (https://ror.org/00f54p054). Returns researchers affiliated with this organization.
rowsinteger–Results per page. Default 20; a larger value returns at most 1,000 (the most ORCID serves per request) and says so.
startinteger–Pagination offset (0-based), 0–10,000. The ORCID Public API rejects start > 10,000 for unauthenticated requests.
NameTypeReqDescription
effectiveQuerystring–Solr query sent to the ORCID API.
errorobject–Present when the call failed. Absent on success.
nextStartnumber–Offset to pass as start on the next call to continue paging. Present only when more matches remain below the ORCID Public API 10,000-offset ceiling; omitted at the final reachable page and when this…
noticestring–Requested/effective rows disclosure and recovery guidance for empty results, past-end pagination, or the 10,000-offset retrieval ceiling.
numFoundnumber–Total number of matching records in ORCID (before pagination).
resultsarray–Matching researchers with inline name and institution data.
rowsnumber–Number of results returned in this response: the requested rows, fewer only on the last page.
startnumber–Pagination offset used for this response.
truncatedboolean–True when numFound exceeds the ORCID Public API's 10,000-offset retrieval ceiling, so some matches cannot be paged to with the current query. Narrow or partition the query to reach them.

No examples provided.

Install

How do I install the io.github.cyanheads/orcid-mcp-server server?

io.github.cyanheads/orcid-mcp-server is a hosted endpoint at https://orcid.caseyjhand.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · orcid.caseyjhand.com

# add to Claude Code
claude mcp add --transport http cyanheads-orcid-mcp-server 'https://orcid.caseyjhand.com/mcp'
Common questions

What is the io.github.cyanheads/orcid-mcp-server server?

io.github.cyanheads/orcid-mcp-server is listed in the public MCP registry as io.github.cyanheads/orcid-mcp-server. Researcher profiles, works, affiliations, funding, and peer reviews from the ORCID registry. This page covers its hosted endpoint (https://orcid.caseyjhand.com/mcp).

Is the io.github.cyanheads/orcid-mcp-server server safe to use?

io.github.cyanheads/orcid-mcp-server scores 89 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.cyanheads/orcid-mcp-server server expose?

io.github.cyanheads/orcid-mcp-server exposes 9 tools: orcid_get_profile, orcid_search_researchers, orcid_get_works, orcid_get_work_detail, orcid_get_affiliations, and 4 more. Their descriptions and schemas cost roughly 3,139 tokens of context every time the server is loaded.

Does the io.github.cyanheads/orcid-mcp-server server require authentication?

No. We connected to io.github.cyanheads/orcid-mcp-server without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the io.github.cyanheads/orcid-mcp-server server still maintained?

io.github.cyanheads/orcid-mcp-server is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.