Skip to main content
Glama

Inciteful

Server Details

Citation graph search over OpenAlex: similar papers, citation networks, paths and BibTeX export.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over the last 24 hours
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
inciteful-xyz/inciteful-mcp
GitHub Stars
3
Server Listing
Inciteful MCP
ChatGPT
–
Claude
–

TDQS

Score is being calculated.

Available Tools

8 tools
connect_papersConnect two papersA
Read-onlyIdempotent
Inspect

Find citation paths between two papers (DOI, OpenAlex ID or PMID), treating each citation as a link in either direction. Returns the paths, the citation edges (citing → cited), the papers on the paths, and each path's hop count in provenance.hops. extended: true also returns longer paths, aiming for at least 5. It shows how two lines of work relate.

NameRequiredDescriptionDefault
toYesDOI, OpenAlex ID or PMID.
fromYesDOI, OpenAlex ID or PMID.
extendedNoAlso return longer paths.

Output Schema

NameRequiredDescription
rowsYes
edgesYes
pathsYes
truncatedYes
provenanceYes
diagnosticsNo
inciteful_urlYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds genuinely non-obvious behavior: edges are directional (citing → cited) while traversal is bidirectional, and hop counts land in provenance.hops. It stops short of noting path explosion, timeouts, or result caps for extended mode.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact sentences, front-loaded with the core action, then output shape, then the one optional flag, closing with the motivating use case. No sentence is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be spelled out, and the annotations carry the safety profile, so the description covers what remains: directionality semantics and the extended flag's effect. Minor gaps around performance/limits in extended mode keep it from a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description restates the accepted identifier formats already documented in the schema, but does add meaning for extended by specifying the target ('aiming for at least 5' longer paths), which is more concrete than the schema's 'Also return longer paths.'

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — 'Find citation paths between two papers' — and clarifies the semantic model ('treating each citation as a link in either direction') plus the practical payoff ('shows how two lines of work relate'). It is clear on its own, though it never names the adjacent siblings (query_citation_graph, explore_citation_network) to draw the boundary explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: the reader infers this is for pairwise connectivity questions and that extended=true is for weakly connected works. There is no explicit when-not-to-use guidance or pointer to the sibling graph tools, which matters given query_citation_graph and explore_citation_network overlap in territory.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

explore_citation_networkExplore a citation networkA
Read-onlyIdempotent
Inspect

Map a field by its citations rather than its keywords: rank papers, authors, journals or institutions in the depth-2 citation graph Inciteful builds around 1–500 seed papers. analysis: similar (shared references and co-citation with the seeds), important (local PageRank), reviews (papers citing many others in the graph), recent (PageRank among papers from the last 3 years), authors, journals, institutions; or references / citations: the seeds' reference lists or citing papers from OpenAlex, sorted by global cited_by_count, with the total count. A graph that is not cached yet can take a minute to build. title_all / title_any / title_none filter by words in paper titles. They match titles only (not abstracts or full text), with Porter stemming. year_from / year_to filter by publication year. Title and year filters apply to the graph analyses, not to references or citations. limit is at most 100. Results carry provenance (method, graph size and depth, the SQL run) and diagnostics.

NameRequiredDescriptionDefault
limitNo
seedsYes1–500 seed papers: DOIs, OpenAlex IDs (W…) or PMIDs. Duplicates count once.
year_toNo
analysisYes
title_allNoEvery term must be in the title.
title_anyNoAt least one term must be in the title.
year_fromNo
title_noneNoNo term may be in the title; needs title_all or title_any.

Output Schema

NameRequiredDescription
rowsYes
analysisYes
truncatedYes
provenanceYes
diagnosticsNo
inciteful_urlYes

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds real value beyond that: an uncached graph 'can take a minute to build', limit caps at 100, and results carry provenance and diagnostics. It omits auth/rate-limit behavior and says nothing about failure modes for unresolvable seeds, so it is good but not exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Nearly every clause carries information, but it is delivered as one dense semicolon-chained block with no front-loading of the most decision-relevant facts (enum semantics, filter applicability). It reads as a wall of text an agent must parse rather than a structured summary, though little is genuinely wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter, enum-heavy tool with an output schema, the description covers the seed format, every analysis mode, filter scope and stemming rules, the limit cap, latency expectations and provenance in results. Nothing an agent needs to invoke it correctly appears missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With only 50% schema coverage, the description compensates heavily: it defines each analysis mode's meaning (enum values are otherwise opaque in the schema), explains that title filters match titles only with Porter stemming, notes title_none requires title_all or title_any, caps limit at 100, and states that title/year filters apply to graph analyses but not to references/citations.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening clause names a specific verb and resource ('Map a field by its citations rather than its keywords') and immediately scopes it to the depth-2 Inciteful graph around 1–500 seed papers. It contrasts itself against keyword search, which cleanly separates it from siblings like search_literature.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a clear selection axis (citation-based vs keyword-based) and explains what each of the nine analyses is for, so an agent can pick 'similar' vs 'important' vs 'reviews'. It stops short of explicitly naming sibling tools such as query_citation_graph or connect_papers as alternatives, so routing between those still needs inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

export_citationsExport citationsA
Read-onlyIdempotent
Inspect

Build BibTeX or RIS citations for up to 100 papers (DOI, OpenAlex ID, PMID or PMCID) from their OpenAlex records, with entry types, years, volume, issue, pages and escaping. Each row holds one entry; join the entries with a blank line to make a .bib or .ris file. Inputs it cannot match are listed in unresolved.

NameRequiredDescriptionDefault
idsYes1–100 DOIs, OpenAlex IDs, PMIDs or PMCIDs.
formatYes

Output Schema

NameRequiredDescription
rowsYes
formatYes
truncatedYes
unresolvedYes
diagnosticsNo

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish read-only, idempotent, open-world, non-destructive behavior, so the bar is lower. The description adds real value beyond that: entries come back as separate rows rather than a finished file, entries must be joined with a blank line, and unmatched inputs surface in an 'unresolved' collection — none of which the annotations convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the capability, then the gotcha about row joining, then the failure mode. Every sentence carries information an agent needs; nothing is redundant with the title or schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value structure need not be restated, and the description still flags the 'unresolved' field an agent should check. For a two-parameter, no-nesting formatting tool with full annotations, nothing needed to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50% (only 'ids' is documented in the schema), so the description must carry the load for 'format'. It does: it names both output formats, enumerates the four accepted identifier kinds, and restates the 1–100 bound, adding meaning beyond the schema's minItems/maxItems constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and artifact (build BibTeX or RIS citations) plus the accepted identifier types and the 100-item ceiling, which is far more precise than the title alone. It does not name or contrast any sibling tool, so an agent must infer that this is the only export/formatter tool among fetch/query siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: the description reveals this returns rows rather than a file, which tells an agent it must assemble the output itself, and that is useful context. There is no explicit when-to-use routing, no statement of when a sibling like get_papers would be better, and no note on prerequisites such as resolve failure handling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_similar_papersFind similar papersA
Read-onlyIdempotent
Inspect

Ranks papers by their citation links to the seeds, which surfaces related work that keyword search misses. Give 1–500 seed papers (DOIs, OpenAlex IDs or PMIDs); returns the papers most similar to them by citation links, sorted by score. Method: fast similarity, Adamic/Adar plus Salton co-citation on a depth-1 citation graph. With 2–15 seeds, each seed is ranked separately and the rankings are merged by reciprocal rank, so papers that rank well for several seeds come out on top; above 15, it uses Adamic/Adar against a synthetic paper that cites all the seeds. Seeds are left out of the results, and scores rank within one result set. limit is at most 100. Unresolved seeds are listed in diagnostics.

NameRequiredDescriptionDefault
limitNo
seedsYes1–500 seed papers: DOIs, OpenAlex IDs (W…) or PMIDs. Duplicates count once.

Output Schema

NameRequiredDescription
rowsYes
truncatedYes
provenanceYes
diagnosticsNo
inciteful_urlYes

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/openWorld, so the description is free to add genuinely new behavior: the algorithm changes at the 15-seed threshold, seeds are excluded from results, scores are only comparable within a single result set, and unresolved seeds appear in diagnostics. These are non-obvious traits an agent could not derive from annotations or schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is front-loaded with purpose and input contract, and nearly every sentence carries information. The middle technical run ('Adamic/Adar plus Salton co-citation on a depth-1 citation graph') is dense jargon in a single unbroken paragraph, which slightly hurts scanability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists, so return values need no explanation, and this is a read-only tool with annotation coverage. The description covers input format, algorithm-dependent behavior, scoring comparability caveats, and error surfacing via diagnostics - nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 50%, and the description compensates well: it explains the 2-15 reciprocal-rank merge versus the synthetic-paper approach above 15, which materially changes how seeds should be chosen, and it restates the limit ceiling. The 50% gap is the undocumented limit default, which is low-impact.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource and mechanism: 'Ranks papers by their citation links to the seeds, which surfaces related work that keyword search misses.' That last clause explicitly distinguishes it from keyword-based siblings such as search_literature, so an agent can pick it without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It establishes the triggering condition (you have seed papers; you want related work keyword search misses) and the input contract of 1-500 seeds. It does not name or route to concrete alternatives among connect_papers, explore_citation_network, or query_citation_graph, so the agent must infer which citation tool to prefer.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_papersGet paper detailsA
Read-onlyIdempotent
Inspect

Fetch OpenAlex records for up to 100 papers by DOI, OpenAlex ID (W…), PMID or PMCID: abstract, authors, venue, type and version, is_retracted, PMID/PMCID and the best open-access link with its licence. It does not use the citation graph. Inputs it cannot match come back in unresolved with a reason.

NameRequiredDescriptionDefault
idsYes1–100 DOIs, OpenAlex IDs, PMIDs or PMCIDs.

Output Schema

NameRequiredDescription
rowsYes
truncatedYes
unresolvedYes
diagnosticsNo

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent and openWorld, so the description only needs to add context — which it does by disclosing the batch limit and, importantly, the partial-failure behavior ('Inputs it cannot match come back in unresolved with a reason'). It does not cover rate limits, auth requirements, or ordering of results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The identifier formats and returned fields are front-loaded in the first sentence, with scope exclusion and error behavior following. It is dense but every clause carries information; the field list is slightly long given an output schema exists.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter batch lookup with full annotation coverage and an output schema, this leaves nothing an agent needs to call it correctly: accepted identifiers, batch cap, scope exclusion, and unresolved-input handling are all present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single parameter already documents all four accepted identifier forms, so the baseline is 3. The description adds only the 'W…' OpenAlex prefix hint and the 1–100 cap, which largely restate the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Fetch OpenAlex records ... by DOI, OpenAlex ID (W…), PMID or PMCID') and enumerates the returned payload. The clause 'It does not use the citation graph' separates it from the graph-oriented siblings without naming one.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'It does not use the citation graph' implicitly routes citation-graph needs to query_citation_graph/explore_citation_network, and the batch cap of 100 gives a concrete usage boundary. No sibling is named explicitly and there is no explicit when-not guidance, so it stops short of 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

query_citation_graphQuery a citation graph with SQLA
Read-onlyIdempotent
Inspect

Run your own read-only SQLite query on the citation graph Inciteful builds around 1–500 seed papers (depth 2). It queries the Inciteful citation graph API; schema: https://incitefulmed.com/academic/help/power-users#database-schema Rules: a single SELECT statement. Rows returned: the limit argument if given, else the query's trailing LIMIT, else 100; at most 500. OFFSET (and LIMIT a, b) is rejected; page with a narrower WHERE or an ORDER BY instead.

Schema:

  • papers(paper_id TEXT: OpenAlex ID (W…); doi TEXT without the https://doi.org/ prefix; authors TEXT: JSON array of {author_id, name, sequence, position, institution {id, name, ror}}; num_authors INTEGER; title TEXT; published_year INTEGER; journal TEXT; num_citing INTEGER; num_cited_by INTEGER; distance INTEGER; page_rank REAL; adamic_adar REAL; cocite REAL). num_citing and num_cited_by are in-graph counts (citations between papers in this graph), not global citation counts.

  • authors(author_id TEXT: OpenAlex author ID without the A prefix; paper_id TEXT; name TEXT; sequence INTEGER, from 0; affiliation TEXT; affiliation_id TEXT: OpenAlex institution ID without the I prefix; ror TEXT: ROR URL; published_year INTEGER; partial_page_rank REAL: the author's share of the paper's page_rank)

  • metadata(name TEXT, value TEXT): one row each for graph_depth, graph_snapshot, prune_threshold, highly_cited_not_expanded, seeds_not_expanded, paper_count, citation_count. value is TEXT; use CAST(value AS INTEGER) to compare numbers.

  • title_search(paper_id, search_text): an FTS5 index of the titles with Porter stemming; search_text holds the titles (paper IDs are indexed too). Query it as a table function, starting the match text with the column filter: SELECT paper_id FROM title_search('search_text: vagus AND nerve'). AND, OR, NOT and parentheses work; bm25(title_search) ranks matches, smaller is better.

  • title_terms(term, doc_count): the stemmed title terms and the number of papers each appears in, leaving out a few common words.

  • The Research Organization Registry (active organizations), attached as ror; join on authors.ror = ror.organizations.ror_url: organizations(ror_id, ror_url, display_name, status, established, types, country_code, country_name, city, latitude, longitude), names(ror_id, name, name_types, language), external_ids(ror_id, id_type, preferred_id, external_id), relationships(ror_id, related_ror_id, related_name, relationship_type).

What the schema cannot tell you:

  • There is no edge table, so SQL cannot tell which papers cite which.

  • Papers with no citation inside the graph have NULL num_citing, num_cited_by, distance, page_rank, adamic_adar and cocite.

  • With one seed, the seed is at distance 0, its citing and cited papers at 1 and their neighbours at 2, so distance > 0 leaves the seed out. With several seeds a synthetic paper W0 ("Temp Paper", year 1900) cites every seed: W0 is at distance 0, the seeds at 1 and their neighbours at 2, so distance > 1 leaves out W0 and the seeds; otherwise add paper_id <> 'W0'. Then cocite is NULL in every row (nothing cites W0) and adamic_adar is measured against W0.

Examples:

  1. One seed: the highest-PageRank papers since 2020 with "stimulation" in the title: SELECT paper_id, title, published_year, page_rank FROM papers WHERE distance > 0 AND published_year >= 2020 AND paper_id IN (SELECT paper_id FROM title_search('search_text: stimulation')) ORDER BY page_rank DESC LIMIT 20

  2. Authors ranked by their share of PageRank: SELECT author_id, name, COUNT(*) AS papers, SUM(partial_page_rank) AS influence FROM authors GROUP BY author_id, name ORDER BY influence DESC LIMIT 20

NameRequiredDescriptionDefault
sqlYesA single SQLite SELECT statement.
limitNoRows to return, at most 500. Default: the query's trailing LIMIT (capped at 500), else 100.
seedsYes1–500 seed papers: DOIs, OpenAlex IDs (W…) or PMIDs. Duplicates count once.

Output Schema

NameRequiredDescription
rowsYes
truncatedYes
provenanceYes
diagnosticsNo
inciteful_urlYes

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/idempotent annotations, it discloses row-return precedence and the 500 cap, the absence of an edge table (so no paper-to-paper citation edges), NULL semantics for isolated papers, and the subtle synthetic W0 behavior with multiple seeds that silently breaks cocite and shifts adamic_adar. These are exactly the traps that produce wrong results silently, and they are stated up front.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is long, but it is clearly sectioned into purpose, rules, schema, caveats, and examples, and the single most important constraint is front-loaded in the first sentence. A few schema lines are dense but none are filler given that this is a general-purpose SQL surface.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a free-form SQL tool the description carries the full burden of the queryable schema, and it delivers that plus documented gotchas and runnable examples. An output schema exists, so the absence of return-value prose is not a gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: it explains what seeds actually do (they determine the graph that is materialized, depth 2) and clarifies the limit resolution chain. The examples also demonstrate the sql parameter's practical shape beyond 'a single SELECT statement'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

It names a specific verb and resource — 'Run your own read-only SQLite query on the citation graph' — and immediately bounds scope to a graph built around 1–500 seed papers at depth 2. That framing makes it distinguishable from siblings like explore_citation_network or search_literature without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives concrete operating rules (single SELECT only, OFFSET and LIMIT a,b rejected, page with narrower WHERE or ORDER BY) and two worked examples that show intended use. What's missing is an explicit routing statement such as 'prefer get_papers/explore_citation_network for simple lookups; use this only for aggregation the other tools can't express'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_paperRead a paperA
Read-onlyIdempotent
Inspect

Read the full text of an open-access paper from PubMed Central (PMC BioC) in chunks: pass offset (0 to start) and max_chars (up to 40000), then continue from next_offset until it is null. Returns the article's licence and a sha256 of the whole text. When PMC has no text for the paper, returns candidate open-access links (publisher or repository) in rows instead. Accepts a DOI, OpenAlex ID, PMID or PMCID.

NameRequiredDescriptionDefault
idYesDOI, OpenAlex ID, PMID or PMCID.
offsetNoCharacter offset; 0 to start, then next_offset.
max_charsNo

Output Schema

NameRequiredDescription
doiYes
rowsYes
textYes
pmcidYes
titleYes
offsetYes
sha256Yes
licenseYes
truncatedYes
diagnosticsNo
next_offsetYes
openalex_idYes
inciteful_urlYes

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered; the description adds genuinely new behavior (chunked retrieval, the next_offset continuation protocol, licence and sha256 in the response, and the open-access-links fallback in rows). That is meaningful context beyond the annotations, though it does not mention rate limits or what happens on a failed/unknown ID.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the core action and pagination contract, followed by return-value and fallback notes. Every clause carries information an agent needs; nothing is repeated from the schema or annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-parameter read tool with an output schema already present, the description covers the retrieval mechanics, the pagination termination rule, the degraded-mode return shape, and accepted ID formats. An agent can invoke and iterate this tool correctly without further guessing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 67% schema coverage (max_chars has no schema description), the description compensates by documenting the 40000 cap and the offset/next_offset pagination loop, including the termination condition. It also enumerates the accepted identifier forms (DOI, OpenAlex ID, PMID, PMCID) beyond the schema's single-line note, and introduces next_offset, which is not an input parameter at all.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource — reading the full text of an open-access paper from PubMed Central (PMC BioC) — and scopes it to open-access content, which sets it apart from search_literature, get_papers and the citation-network siblings. It stops short of naming an alternative tool for the case where the caller wants metadata rather than full text, so it is clear but not fully sibling-differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives concrete calling context: pass offset=0 to start, continue from next_offset until null, and it flags the fallback behavior when PMC has no text. There is no explicit statement of when NOT to use this tool or which sibling to prefer for metadata-only lookups, which keeps it below a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_literatureSearch the literatureA
Read-onlyIdempotent
Inspect

A live keyword search of OpenAlex (CC0 metadata), not of the citation graph snapshot. It matches titles, abstracts and full text where OpenAlex has it, ranked by relevance. Use it to find seed papers when you have a topic but no DOIs yet. Keyword matches miss related work that uses different words, which the citation graph finds. It is not a systematic search. Returns OpenAlex ID, DOI, title, year, venue, global cited_by_count, type, is_retracted and has_abstract; page with next_cursor. limit is at most 50. Rows carry no abstracts or authors.

NameRequiredDescriptionDefault
limitNo
queryYesKeywords, a title or a phrase.
cursorNonext_cursor from the previous page.
year_toNo
year_fromNo
open_accessNotrue keeps open-access papers.

Output Schema

NameRequiredDescription
rowsYes
truncatedYes
diagnosticsNo
next_cursorYes

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare safety properties (read-only, idempotent, open-world), so the description carries the rest and does: it discloses that the index is live rather than a snapshot, that matching covers titles/abstracts/full text where available, that results are relevance-ranked, and that rows omit abstracts and authors — a limitation that materially affects downstream tool choice.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the identity and scope in the first sentence, then usage, then caveats, then return shape — a sensible priority order. Despite its length, each sentence supplies a distinct fact (source, ranking, alternative routing, return fields, pagination, limit cap) with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a six-parameter, open-world search tool with an output schema, this covers what to call it with, when to prefer a sibling, what the ranking means, what comes back and how to page. The only real gap is the year-range filter semantics, which is minor against otherwise thorough coverage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%: query, cursor and open_access are documented in the schema, while limit, year_from and year_to are not. The description repeats the limit cap and explains cursor paging but adds little beyond the schema on those, and never explains what year_from/year_to filter or whether bounds are inclusive, leaving two parameters undocumented anywhere.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("live keyword search of OpenAlex") and immediately scopes it against the alternative ("not of the citation graph snapshot"), which is exactly the distinction an agent needs given siblings like query_citation_graph and explore_citation_network.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit when-to-use ("find seed papers when you have a topic but no DOIs yet") and an explicit when-not, both as an exclusion ("not a systematic search") and as a named alternative behavior ("keyword matches miss related work that uses different words, which the citation graph finds"). The routing decision is fully determined.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 8 tool updates
    • First observedconnect_papers
    • First observedexplore_citation_network
    • First observedexport_citations
    • First observedfind_similar_papers
    • First observedget_papers
    • First observedquery_citation_graph
    • First observedread_paper
    • First observedsearch_literature

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to find related scientific papers through their citation network, using scholarly works in OpenAlex and Semantic Scholar. Supports searching papers by title, DOI or link, generating citation-based recommendations, retrieving paper details and references, and listing citing papers.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Searches academic references from arXiv, DBLP, Semantic Scholar, and OpenAlex concurrently and generates BibTeX citations.
    4
    11
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.