Keystone
Server Details
What an arXiv paper builds on, disputes and assumes, read verbatim from its LaTeX. No LLM.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- Srikarmk/Keystone
- GitHub Stars
- 0
TDQS
Scored across 3 tools
read_paper is clearly distinct as a single-paper reader, while list_disagreements and search_library both surface disputes. The descriptions clarify that list_disagreements is a curated complete enumeration and search_library is a query interface, so the overlap is manageable but still a potential source of confusion.
All three tool names follow a consistent verb_noun pattern: list_disagreements, read_paper, search_library. The convention is predictable and easy to parse.
Three tools is slightly lean for a paper-analysis server, but each tool serves a distinct purpose: searching the library, enumerating all disagreements, and reading a single paper. No tool feels redundant, though the surface could be a touch richer.
The surface covers search, enumeration, and per-paper reading, which are the core operations for citation-stance analysis. Minor gaps remain, such as browsing the library's papers or getting aggregate views beyond the predefined disagreement list, but agents can work around these via search_library.
Available Tools
3 toolslist_disagreementsWhere the library argues with itselfCInspect
Every sentence in the library where a paper says prior work is wrong, or puts itself beside it to win. Small on purpose — disagreement is rare and concentrated, and the whole set is readable.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | Default disputes. | |
| limit | No | Default 40. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does add genuine behavioral context: the result set is deliberately small and bounded ('Small on purpose', 'the whole set is readable'), which tells the agent it can consume everything at once. However, it says nothing about permissions, error modes, or the shape of returned items.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences that lead with the resource definition. However, the figurative phrasing ('argues with itself', 'puts itself beside it to win') spends words on atmosphere rather than precision, which slightly undercuts an otherwise efficient structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should say more about what each returned item looks like; it only hints at volume. Parameters are fully covered by the schema, and there is no required-argument burden, so the definition is workable but leaves the return shape underspecified for a no-output-schema tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters and their enum values are already documented, making 3 the baseline. The description loosely maps onto the enum values ('says prior work is wrong' = disputes, 'puts itself beside it to win' = comparisons), adding marginal interpretive value, but it never addresses limits or defaults beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys that this returns sentences where papers dispute or compare against prior work, which is a specific-ish resource. But it never states the operation plainly (no explicit 'list') and leans on metaphor ('says prior work is wrong', 'puts itself beside it to win') rather than naming the two result kinds the schema exposes. It does not distinguish itself from search_library or read_paper at all.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of the sibling tools (read_paper, search_library) that an agent must choose between. The only implicit hint is 'the whole set is readable,' suggesting you need not paginate, but nothing tells the agent when this is the right call versus a general search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_paperRead one paper's citations and assumptionsAInspect
Everything Keystone reads out of one arXiv paper: what it adopts, extends, disputes and measures against, and the assumptions it states with a citation, its own evidence, or nothing at all. Works for any paper on arXiv that ships LaTeX source — one outside the library is parsed on demand, which takes a few seconds. Nothing is summarised or inferred; every line is the paper's own.
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | Default all. | |
| arxiv_id | Yes | An arXiv id or link, e.g. 1706.03762 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does well: it discloses the LaTeX-source requirement, the on-demand parse latency for out-of-library papers, and a strong fidelity guarantee ('nothing is summarised or inferred; every line is the paper's own'). It does not say what happens when a paper has no LaTeX source or how errors surface.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with what the tool returns before the operational caveats. The opening phrase 'Everything Keystone reads out of one arXiv paper' is slightly branded/abstract, but otherwise every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must characterize the return, and it does so in detail by listing the citation relationships and assumption provenance categories. Gaps are minor: no error/edge behavior for non-LaTeX papers and no sense of output volume or pagination.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters are documented in-schema, so the baseline is 3. The description adds interpretive color for the enum values by explaining what 'citations' (adopts/extends/disputes/measures against) and 'assumptions' (cited, own evidence, or none) mean, but never maps these to the include parameter explicitly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (read one arXiv paper) and enumerates the output categories — adopts, extends, disputes, measures against, stated assumptions. It implies single-paper scope versus library-wide siblings, but never names list_disagreements or search_library, so sibling differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear applicability condition: works for any arXiv paper with LaTeX source, and papers outside the library are parsed on demand with a few seconds of latency. What is missing is any explicit steering between this tool and list_disagreements/search_library.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_librarySearch what Keystone readAInspect
Search 2118 readings taken from 197 arXiv papers' LaTeX source: citation stances (adopts, extends, disputes, measures against) and stated assumptions. Matches on the quoted sentence, the cue phrase that decided it, and the work cited. Returns the sentence verbatim with a link to the exact line.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Default 15. | |
| query | Yes | Text to look for, e.g. 'layer normalization' | |
| stance | No | Optional filter. The first five are citation stances; bare/cited/shown are what an assumption's own sentence offers for it. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so reasonably: it discloses the corpus size, what fields are matched (quoted sentence, cue phrase, cited work), and the return shape ('sentence verbatim with a link to the exact line'). It still omits read-only/immutability framing, result ordering, and whether the corpus is a static snapshot.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the corpus scope and density, then the matching and return behavior. Every clause is informative; the numeric detail (2118 readings, 197 papers) earns its place as scope-setting.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description does cover corpus scope, matching semantics, and return format, which is most of what an agent needs. Remaining gaps (no guidance on result ordering or the relationship to sibling tools) are minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters are already documented, giving a baseline of 3. The description does add one useful nuance, that the query is matched across the sentence, the cue phrase and the cited work, but the stance enum values themselves are explained in the schema, not here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (search) and a concrete resource scope: 2118 readings, 197 arXiv papers, citation stances and assumptions. It is clearly distinct from read_paper in what it retrieves, but it never names or contrasts the sibling tools list_disagreements/read_paper.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: 'Search ... citation stances ... and stated assumptions' tells the agent what kind of question this answers, but there is no explicit when-to-use, when-not-to-use, or routing to list_disagreements or read_paper.
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.
3 tool updates
- First observed
list_disagreements - First observed
read_paper - First observed
search_library
Related MCP Connectors
Reviews of arXiv papers for AI agents: verdicts, claims, flaws, compiled records, citation graphs.
Cite the claim, not the paper: 5,033 assertions, each hash-verifiable against its source PDF
Research intelligence for AI coding agents. 2M+ CS papers with evidence and tradeoffs.
Search your own PDF library and write LaTeX with every claim anchored to its source paragraph.
Related MCP Servers
- AlicenseCqualityBmaintenanceEnables AI agents to turn local and arXiv LaTeX papers into queryable theorem-proof dependency graphs, making mathematical relationships easier to explore.31MIT
- FlicenseNot gradedqualityAmaintenanceEnables MCP clients such as Claude Desktop, Claude Code, and Cursor to fetch and process arXiv papers from their LaTeX sources, so equations and mathematical expressions can be interpreted accurately.-
- FlicenseNot gradedqualityAmaintenanceEnables MCP clients such as Claude Desktop, Claude Code, and Cursor to access and process arXiv papers by fetching their LaTeX source, with tools for full paper prompts, abstracts, section listings, and specific sections. This allows accurate interpretation of mathematical expressions and notation in equation-heavy papers.-
- FlicenseNot gradedqualityAmaintenanceEnables MCP clients to fetch and process arXiv LaTeX sources, giving LLMs accurate access to equations, notations, abstracts, and individual paper sections for precise mathematical interpretation.-
Glama MCP Gateway
Add one secure layer between your agents and this server.