Skip to content
Eden Engine

Academic Paper Search (Field or Question, Auto-Routed)

omnial/smart-search

Given a broad field term or a natural-language research question, returns a set of matching academic papers. A field term (e.g. 'machine learning') is grounded against a research-topic taxonomy and returned as a coherent, citation-ranked cluster of papers in that field, along with the alternate topics considered. A natural-language question instead runs a hybrid search across multiple paper indexes with a semantic rerank. Each paper carries title, abstract, authors, year, venue, citation count, and DOI; a query nothing matches returns an empty result set rather than an error.

activeper callv1
Provider
Web & Business Data Network
Category
research
Provider price
$0.03003 per call
Latency p50 / p95
— / —
Success rate
—
Verified
—

Provider list price; Omnial MCP charges provider cost plus a platform markup on top.

Contract

input_schema.json
{
  "type": "object",
  "required": [
    "q"
  ],
  "properties": {
    "q": {
      "type": "string",
      "description": "a field term OR a natural-language research question"
    },
    "rerank": {
      "type": "string",
      "default": "true",
      "description": "apply the SPECTER2 semantic rerank on the hybrid path"
    },
    "maxItems": {
      "type": "string",
      "default": "15",
      "description": "max results (1-40)"
    }
  },
  "additionalProperties": false
}
output_schema.json
{
  "type": "object",
  "properties": {
    "count": {
      "type": "number",
      "description": "Number of entries in `items`; 1 on both fixtures observed."
    },
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "mode": {
            "type": "string",
            "description": "'topic' when the query grounds cleanly to a single research topic (observed on the field-term fixture); 'hybrid' when it instead runs multi-index hybrid retrieval (observed on the natural-language-question fixture)."
          },
          "type": {
            "type": "string",
            "description": "Observed as the literal string 'smart_search' on both fixtures."
          },
          "count": {
            "type": "number",
            "description": "Number of entries in this item's `results` array."
          },
          "query": {
            "type": "string",
            "description": "Echoes the requested `q` input."
          },
          "results": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "doi": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Null on papers with no DOI on file."
                },
                "type": {
                  "type": "string",
                  "description": "Observed as the literal string 'paper'."
                },
                "year": {
                  "type": "number"
                },
                "title": {
                  "type": "string"
                },
                "venue": {
                  "type": "string"
                },
                "source": {
                  "type": "string",
                  "description": "e.g. 'openalex'."
                },
                "authors": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Byline author names of the published paper, as recorded by the source index."
                },
                "abstract": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Null on some papers where no abstract is on file."
                },
                "published": {
                  "type": "string",
                  "description": "Date string, e.g. '2013-07-01'."
                },
                "clusterRole": {
                  "type": "string",
                  "description": "e.g. 'top_cited', 'recent_influential'."
                },
                "citedByCount": {
                  "type": "number"
                },
                "citationCount": {
                  "type": "number"
                }
              },
              "additionalProperties": true
            },
            "description": "Matched papers; empty when nothing matched a natural-language question."
          },
          "routing": {
            "type": "object",
            "properties": {
              "fusion": {
                "type": "string",
                "description": "Hybrid-mode only, e.g. 'openalex-only'."
              },
              "s2Hits": {
                "type": "number",
                "description": "Hybrid-mode only."
              },
              "reranked": {
                "type": "boolean",
                "description": "Hybrid-mode only."
              },
              "wordCount": {
                "type": "number"
              },
              "confidence": {
                "type": "number",
                "description": "Topic-mode only: grounding confidence, 0-1."
              },
              "isQuestion": {
                "type": "boolean"
              },
              "matchedVia": {
                "type": "string",
                "description": "Topic-mode only, e.g. 'topic-name'."
              },
              "openAlexHits": {
                "type": "number",
                "description": "Hybrid-mode only."
              },
              "groundingLevel": {
                "type": "string",
                "description": "Topic-mode only, e.g. 'topic'."
              }
            },
            "description": "Routing diagnostics explaining how the query was interpreted; its fields differ by mode -- confidence/groundingLevel/matchedVia are observed only in topic mode, fusion/openAlexHits/s2Hits/reranked only in hybrid mode.",
            "additionalProperties": true
          },
          "grounding": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "id": {
                "type": "string",
                "description": "The provider's internal topic id."
              },
              "name": {
                "type": "string",
                "description": "The topic's display label, not a person's name."
              },
              "field": {
                "type": "string"
              },
              "level": {
                "type": "string"
              },
              "subfield": {
                "type": "string"
              }
            },
            "description": "The research topic the query grounded to. Null when the query does not ground to a clear topic (observed on the empty-result, hybrid-mode fixture).",
            "additionalProperties": true
          },
          "candidateTopics": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "name": {
                  "type": "string",
                  "description": "The topic's display label, not a person's name."
                },
                "field": {
                  "type": "string"
                },
                "share": {
                  "type": "number",
                  "description": "0-1."
                },
                "votes": {
                  "type": "number"
                },
                "subfield": {
                  "type": "string"
                }
              },
              "additionalProperties": true
            },
            "description": "Alternate topics considered while grounding the query, with a vote share. Observed only on the topic-mode fixture -- may be absent in hybrid mode."
          }
        },
        "additionalProperties": true
      }
    }
  },
  "description": "The search result, as returned at routing.responseResultPath ($.output).",
  "additionalProperties": true
}

Pricing

Every real charge, itemised. A model that quietly omits one is a slow financial leak, so nothing here is rolled up, and a charge that only applies to some inputs says so rather than being added in.

Prices in this catalog are the provider's own list price, not your bill: Omnial MCP charges provider cost plus a platform markup on top, so what you are charged is higher than the figure shown. For the exact amount a specific call will cost, run omnial_execute with dry_run: true; that number includes the markup and is what we hold while the call runs. It is a quote, not a cap on the charge.

ChargeRate
Per call
Flat, regardless of what comes back
$0.03003
Cost basis
Not recorded

This tool's catalog entry does not record how its final bill is determined, so we will not tell you whether its cost is fixed before the call or reported by the provider afterwards. Either way what is held is a quote rather than a cap: you are charged what the call actually costs, bounded at 2x the quote.

Updated
Sep 23, 2026