Skip to content
Eden Engine

Related & Recommended Papers (by Seed Paper or Topic)

omnial/related-papers

Given a seed paper (by arXiv id or DOI) or a free-text topic query, returns a list of semantically related or recommended scholarly papers -- title, abstract, published author list, year, venue, DOI, and citation counts -- for expanding a reading list or literature review. The input schema requires at least one of `id`, `doi`, or `q`; supply exactly one (supplying more than one is not rejected by the schema).

activeper callv2

Price

$0.0451 per call

You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $0.50.

Data source

Semantic Scholar and OpenAlex

Data from Semantic Scholar and OpenAlex.

Use it

Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.

Connect once and your AI can find and run this tool, and any other it needs.

agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "omnial/related-papers" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "omnial/related-papers" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/related-papers", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/related-papers", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Per call
$0.0451
Updated
Oct 25, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "anyOf": [
    {
      "required": [
        "id"
      ]
    },
    {
      "required": [
        "doi"
      ]
    },
    {
      "required": [
        "q"
      ]
    }
  ],
  "properties": {
    "q": {
      "type": "string",
      "description": "query (alternative to id â relevance search)"
    },
    "id": {
      "type": "string",
      "description": "paper arXiv id, DOI, or OpenAlex id"
    },
    "doi": {
      "type": "string",
      "description": "alias for id (DOI form)"
    },
    "maxItems": {
      "type": "string",
      "default": "15",
      "description": "1-50"
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "properties": {
    "count": {
      "type": "number",
      "description": "Number of items in `items` for this call -- e.g. 15 (the default `maxItems`) for a seed-paper lookup, 5 for a topic query with an explicit `maxItems` of 5."
    },
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "doi": {
            "type": [
              "string",
              "null"
            ],
            "description": "DOI string when the paper has one (e.g. \"10.1109/cvpr.2016.90\"); observed null on OpenAlex-sourced items the vendor has no DOI on file for."
          },
          "url": {
            "type": "null",
            "description": "Always null; the paper's landing-page URL is not returned."
          },
          "type": {
            "type": "string",
            "description": "Constant \"related_paper\" on every item observed."
          },
          "year": {
            "type": "number",
            "description": "Publication year, present on every item observed."
          },
          "title": {
            "type": "string",
            "description": "The paper's title, present on every item observed."
          },
          "venue": {
            "type": [
              "string",
              "null"
            ],
            "description": "Journal or venue name when known; observed null on several items with none on file, including arXiv preprints and some OpenAlex items."
          },
          "pdfUrl": {
            "type": "null",
            "description": "Always null; a direct PDF URL is not returned."
          },
          "source": {
            "type": "string",
            "description": "Which backing catalog surfaced this item, e.g. \"openalex\" or \"arxiv\"."
          },
          "authors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Published author list, in the order returned by the source. In one observed entry the source folded institutional affiliation/address fragments into this array."
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Present only for a topic query, not a seed-paper lookup -- which backing catalog(s) match this item for a topic search; a single-element array matching `source` on every item observed."
          },
          "abstract": {
            "type": "string",
            "description": "Full abstract text on every item observed."
          },
          "published": {
            "type": "string",
            "description": "Publication date. Format varies by source: bare date (e.g. \"2016-06-01\") on OpenAlex-sourced items, full ISO-8601 timestamp (e.g. \"2015-03-25T21:11:05Z\") on arXiv-sourced items."
          },
          "relatedBy": {
            "type": "string",
            "description": "How this item was matched: \"openalex\" for a seed-paper lookup, \"query\" for a topic query."
          },
          "citedByCount": {
            "type": [
              "number",
              "null"
            ],
            "description": "Citation count on OpenAlex-sourced items; observed null on every arXiv-sourced item (arXiv's own index does not track this)."
          },
          "citationCount": {
            "type": [
              "number",
              "null"
            ],
            "description": "Same value as `citedByCount` on every item observed; null wherever `citedByCount` is null."
          },
          "openAccessUrl": {
            "type": "null",
            "description": "Always null; an open-access copy URL is not returned."
          }
        },
        "additionalProperties": false
      }
    }
  },
  "description": "The related-papers result.",
  "additionalProperties": false
}