Researcher Reading List
Build a curated reading list for a researcher, organized by intellectual thread, by triangulating off their most representative recent and most-cited work.
Input
The user provides an author name (e.g., "David W. Hogg", "Yoshua Bengio", "Jennifer Doudna").
Tool Chain
Use the Valency MCP tools — they come from the valency MCP server registered
by the companion Valency connector extension. If no valency server is
registered, tell the user to install the connector and run /mcp auth valency.
Stop here.
Step 1: Verify the author exists
Call get_author_profile with:
author(string): the author name provided by the user
If no results are found, tell the user the author was not found and suggest checking the spelling or trying a partial name. Stop here.
Note the author's top categories from this result — you'll use them later to interpret which themes the reading list is covering. Also note the resolved author name (resolved_name) — use it consistently in subsequent calls and when filtering self-citations.
Step 2: Get top-cited papers (career anchors)
Call search_by_author with:
author(string): the author namelimit(integer): 5sort_by(string): "citations"strict_mode(string): "fuzzy"
These are the author's most influential works — they anchor the "what defined their career so far" threads.
Step 3: Get recent papers (current direction)
Call search_by_author with:
author(string): the author namelimit(integer): 5sort_by(string): "relevance"strict_mode(string): "fuzzy"
The default relevance sort orders by recency. These represent the author's current intellectual direction, which may differ from their most-cited work.
Step 4: Select 3–5 representative seed papers
From the combined Step 2 + Step 3 results, select 3 to 5 seed papers that best represent the author's distinct intellectual threads:
- Always include the single most-cited paper (career anchor).
- Always include the most recent paper that has a substantive abstract (current direction).
- Fill the remaining slots by picking papers whose category lists differ — i.e. cover different threads of the author's work, not five papers in the same subfield.
If two papers have nearly identical category lists and similar topics, pick only one.
Step 5: Find similar papers for each seed
For each seed paper from Step 4, call find_similar_papers with:
paper_id(string): the seed paper's IDlimit(integer): 10include_abstract(boolean): false
If a seed paper has no embedding and the call returns an error, skip that seed and continue with the others. Note the skip in the output.
Step 6: Aggregate and clean
After all find_similar_papers calls complete:
- Tag each result with the seed paper that surfaced it.
- Deduplicate — if a paper appears in multiple seeds' similar lists, keep the entry with the highest similarity score and merge the seed tags.
- Filter out self-citations — drop any paper whose author list contains the focal author (use the
resolved_namefrom Step 1 to match, since name normalization may matter). - Group by seed — partition the cleaned results by which seed paper(s) surfaced them. This grouping defines the reading-list "threads."
Output Format
Researcher Summary
A short block:
- Name: full name as it appears in the corpus
- Total papers: from Step 1
- Primary domains: top 3 categories from Step 1
Reading List by Thread
For each seed paper from Step 4, produce a thread section:
Thread N:
Anchored by the seed paper:
- Seed: Title (paper ID), year, categories
Recommended reading (5–8 papers per thread, ordered by similarity score):
- Title (paper ID) — first 3 authors, year, category — one-sentence reason it matters here
- ...
If a seed paper was skipped because it had no embedding, add a note under that thread: "This seed had no embedding; no similar papers could be retrieved."
Cross-Thread Highlights
If any paper appeared as similar to multiple seeds, highlight it as a cross-thread find — these are often the most interesting recommendations because they sit at the intersection of the author's threads:
- Title (paper ID) — surfaced by Seed A and Seed C — why this matters
If no cross-thread papers were found, omit this section.
Suggested Follow-ups
/valency:profile <author>— for any author that appears across multiple recommendations/valency:similar <paper_id>— to dig deeper into any specific recommendation/valency:fresh-collaborators <author>— if the user is interested in who (not what) to engage with next