Skip to content
Eden Engine

Research Works Search (SHARE)

shareresearch/works-search

Searches SHARE, the research-metadata aggregator of the Center for Open Science, for scholarly works (articles, preprints, datasets, registrations and more) harvested from many registries, among them CrossRef, DataCite, ClinicalTrials.gov, OSF, HAL, PubMed Central and arXiv. Returns up to limit records (1 to 25, default 10) in relevance order with total matching, and for each the title, type, the registries it came from, up to 10 contributor names, publishers, subjects, up to 10 tags, the first 1000 characters of the description, dates, language, whether it is retracted, and the DOI with its doi.org link when it has one. There is no paging: only the first limit hits can be fetched, so narrow the query instead. The query may contain only plain words and balanced double-quoted phrases (a hyphen only inside a word such as covid-19; no uppercase AND, OR or NOT; no other punctuation than space, dot, comma, apostrophe and underscore); anything else is refused with a validation error. A query with no match returns total 0. Contributor names are people named in the records. Typically 2 to 25 KB. Metadata aggregated by SHARE (Center for Open Science). Served by Eden Engine; not an official SHARE product.

activeper callv1

Price

$0.0026 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

SHARE (Center for Open Science)

Metadata aggregated by SHARE (share.osf.io, Center for Open Science) from the registries named in each record's sources field. Served by Eden Engine; not an official SHARE or Center for Open Science product.

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: "shareresearch/works-search" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "shareresearch/works-search" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "shareresearch/works-search", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "shareresearch/works-search", 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.0026
Updated
Oct 25, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "q"
  ],
  "properties": {
    "q": {
      "type": "string",
      "pattern": "^(?!.*\\b(?:AND|OR|NOT)\\b)(?:[A-Za-z0-9\\u00a1-\\uffff](?:-(?=[A-Za-z0-9\\u00a1-\\uffff]))?|[ .,'_]|\"[^\"\\\\\\r\\n]*\")+$",
      "maxLength": 200,
      "minLength": 1,
      "description": "Words or \"quoted phrases\" to search for, for example climate adaptation or \"machine learning\"."
    },
    "limit": {
      "type": "integer",
      "default": 10,
      "maximum": 25,
      "minimum": 1,
      "description": "Records to return (1-25, default 10)."
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "required": [
    "total",
    "results",
    "count"
  ],
  "properties": {
    "count": {
      "type": "integer",
      "description": "Number of records returned."
    },
    "total": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Number of matching records in SHARE (not the number returned)."
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "title",
          "sources",
          "retracted"
        ],
        "properties": {
          "id": {
            "type": [
              "string",
              "null"
            ],
            "description": "SHARE record id."
          },
          "doi": {
            "type": [
              "string",
              "null"
            ],
            "description": "DOI when the record has one, without the resolver prefix."
          },
          "url": {
            "type": [
              "string",
              "null"
            ],
            "description": "https://doi.org link for the DOI; null when the record has no DOI."
          },
          "date": {
            "type": [
              "string",
              "null"
            ],
            "description": "Record date as SHARE holds it (ISO 8601)."
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Keywords, first 10."
          },
          "type": {
            "type": [
              "string",
              "null"
            ],
            "description": "Kind of work as SHARE classifies it (article, dataset, preprint, registration, ...)."
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Registries the record was harvested from, for example CrossRef, DataCite MDS, arXiv."
          },
          "language": {
            "type": [
              "string",
              "null"
            ]
          },
          "subjects": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "retracted": {
            "type": "boolean",
            "description": "true when the record is marked retracted."
          },
          "publishers": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "description": {
            "type": [
              "string",
              "null"
            ],
            "description": "Abstract or description, first 1000 characters; null when the record has none."
          },
          "contributors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Names of the contributors, first 10."
          },
          "date_published": {
            "type": [
              "string",
              "null"
            ],
            "description": "Publication date when the source gave one."
          },
          "contributors_total": {
            "type": "integer",
            "description": "Full number of contributors."
          }
        },
        "additionalProperties": false
      }
    }
  },
  "additionalProperties": false
}