Keystone

What an arXiv paper builds on, disputes and assumes, read verbatim from its LaTeX. No LLM.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
97%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~479Tokens (tool definitions)
~1004 BTypical response size
Minimal attention impact (0.37% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "keystone": {
      "url": "https://keystone-research.vercel.app/api/mcp"
    }
  }
}

Remote endpoints

https://keystone-research.vercel.app/api/mcpstreamable-http

What it can do

Tool inventory

Tools (3)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_library(query, stance, limit)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Text to look for, e.g. 'layer normalization'"
    },
    "stance": {
      "type": "string",
      "enum": [
        "inherits",
        "extends",
        "contests",
        "compares",
        "background",
        "bare",
        "cited",
        "shown"
      ],
      "description": "Optional filter. The first five are citation stances; bare/cited/shown are what an assumption's own sentence offers for it."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "description": "Default 15."
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}
🟢read_paper(arxiv_id, include)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "arxiv_id": {
      "type": "string",
      "description": "An arXiv id or link, e.g. 1706.03762"
    },
    "include": {
      "type": "string",
      "enum": [
        "all",
        "citations",
        "assumptions"
      ],
      "description": "Default all."
    }
  },
  "required": [
    "arxiv_id"
  ],
  "additionalProperties": false
}
🟡list_disagreements(kind, limit)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "disputes",
        "comparisons"
      ],
      "description": "Default disputes."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "description": "Default 40."
    }
  },
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools