tomesphere

Search 8.5M scientific papers with LLM TLDRs, citations, linked entities, figures, and full text.

Should I use this

Quality & Safety

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

Findings (1)

  • LOWTool 'get_structure' description lacks action verbin get_structure

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,354Tokens (tool definitions)
~598 BTypical response size
Moderate attention impact (1.06% 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": {
    "tomesphere": {
      "url": "https://mcp.tomesphere.com/api/mcp"
    }
  }
}

Remote endpoints

https://mcp.tomesphere.com/api/mcpstreamable-http

What it can do

Tool inventory

Tools (9)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_papers(query, k, year_min, year_max)

Search 8.5 million academic papers (arXiv + biomedical: PMC / bioRxiv / medRxiv, all disciplines) by topic, keyword, author, or linked entity (gene / protein / disease). Each hit returns id, title, TLDR, type, and links. Use to find papers about a topic, e.g. 'transformer efficiency' or 'CRISPR base editing'.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Natural-language search query. E.g. 'transformer attention efficiency', 'graph neural networks for molecular property prediction'."
    },
    "k": {
      "type": "integer",
      "description": "Number of results (default 10, max 25).",
      "default": 10
    },
    "year_min": {
      "type": "integer",
      "description": "Earliest publication year, e.g. 2024."
    },
    "year_max": {
      "type": "integer",
      "description": "Latest publication year."
    }
  },
  "required": [
    "query"
  ]
}
🟢get_paper(id)

Fetch a paper's full metadata: title, authors, year, abstract, TLDR (LLM-generated), key findings, citation count, GitHub repos, HuggingFace models/datasets, videos, peer reviews, and links. Accepts an arXiv ID (e.g. '2401.12345' or '1706.03762v5') or an OpenAlex Work ID (e.g. 'W4390723197'). Use when the user names a specific paper or pastes an arXiv link.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "arXiv ID like '2401.12345' or OpenAlex Work ID like 'W4390723197'."
    }
  },
  "required": [
    "id"
  ]
}
🟢similar_papers(id, k)

Find papers semantically similar to a given paper using SPECTER2 embeddings (trained on scientific-citation triplets). Returns nearest neighbors with TLDR. Use when the user wants 'papers like X' or 'what's adjacent to this work'.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "arXiv ID or OpenAlex Work ID."
    },
    "k": {
      "type": "integer",
      "description": "Number of neighbors (default 10, max 25).",
      "default": 10
    }
  },
  "required": [
    "id"
  ]
}
🟢citations(id, k)

Get papers that cite the given paper (who refers to this work). Use when the user asks 'who cites X', 'what's the impact', or wants follow-up work. Note: 2024+ citation coverage is sparse; indexing in progress.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "arXiv ID or OpenAlex Work ID."
    },
    "k": {
      "type": "integer",
      "description": "Max citing papers (default 25, max 100).",
      "default": 25
    }
  },
  "required": [
    "id"
  ]
}
🟢references(id, k)

Get the papers that this paper cites (its bibliography). Use when the user asks 'what does X cite' or 'show me the references'.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "arXiv ID or OpenAlex Work ID."
    },
    "k": {
      "type": "integer",
      "description": "Max references (default 25, max 100).",
      "default": 25
    }
  },
  "required": [
    "id"
  ]
}
🟢get_full_text(id)

Fetch a paper's full body text as Markdown (methods, results, protocols, inline tables) — use for deep questions the abstract can't answer. Accepts an arXiv ID (2401.12345), a PMC ID (PMC5339222), or a bioRxiv/medRxiv DOI (10.1101/…).

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "arXiv ID, PMC ID, or 10.1101/… DOI."
    }
  },
  "required": [
    "id"
  ]
}
🟢get_figures(id)

Get a paper's real figure images — URLs, labels, and captions. Most biomedical papers have figures; arXiv papers often don't. Accepts an arXiv ID, PMC ID, or bioRxiv/medRxiv DOI.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "arXiv ID, PMC ID, or 10.1101/… DOI."
    }
  },
  "required": [
    "id"
  ]
}
🟢get_entities(id)

Get the biomedical entities linked to a paper: genes, proteins, chemicals, diseases, species, mutations, cell lines, and clinical-trial (NCT) IDs. Accepts an arXiv ID, PMC ID, or bioRxiv/medRxiv DOI.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "arXiv ID, PMC ID, or 10.1101/… DOI."
    }
  },
  "required": [
    "id"
  ]
}
🟢get_structure(name)

Resolve a gene/protein name (e.g. 'TP53', 'CD44') or UniProt accession to its 3D structure — returns the UniProt accession + AlphaFold model URL (and PDB when available). Great for a gene named in a paper's entities.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Gene/protein symbol (TP53, CD44) or UniProt accession (P04637)."
    }
  },
  "required": [
    "name"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded9 tools
verifiedversion not recorded9 tools