Skip to content
Eden Engine

OSF Public Project Search (Open Science Framework)

osf/search-projects

Searches public projects on the Open Science Framework (osf.io) by words in the title and returns each project's title, description, category, creation and modification times, tags and links to the project page. Returns 1 to 10 projects per call (default 5) with the total match count in links.meta.total; sort by modification or creation date or by title. Open Science Framework data as served by Eden Engine, not an official Center for Open Science 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

Open Science Framework (OSF)

Preprint and project metadata from the Open Science Framework (osf.io), operated by the Center for Open Science. Each preprint carries its own licence (see license_record and the preprint's page); credit OSF and the preprint's authors. Served by Eden Engine; not an official 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: "osf/search-projects" })

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

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

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "title"
  ],
  "properties": {
    "page": {
      "type": "integer",
      "minimum": 1,
      "description": "Page number, from 1, for reading further matches. A page past the last one is refused as VALIDATION. Leave out for the first page."
    },
    "sort": {
      "enum": [
        "-date_modified",
        "date_modified",
        "-date_created",
        "date_created",
        "title",
        "-title"
      ],
      "type": "string",
      "description": "Order of the results: a leading minus means descending, so -date_modified is most recently updated first. Leave out for the API's default order."
    },
    "limit": {
      "type": "integer",
      "default": 5,
      "maximum": 10,
      "minimum": 1,
      "description": "How many records to return per page, 1 to 10. Defaults to 5."
    },
    "title": {
      "type": "string",
      "maxLength": 200,
      "minLength": 2,
      "description": "Words to look for in the project title, for example 'cannabis' or 'climate adaptation'. Matches titles that contain the text."
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "required": [
    "data",
    "links",
    "meta"
  ],
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "type",
          "attributes"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "OSF record id."
          },
          "type": {
            "type": "string",
            "description": "JSON:API type name."
          },
          "links": {
            "type": "object",
            "description": "Links to the record on osf.io and in the API.",
            "additionalProperties": true
          },
          "attributes": {
            "type": "object",
            "required": [
              "title",
              "date_created"
            ],
            "properties": {
              "tags": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Project tags."
              },
              "title": {
                "type": "string",
                "description": "Project title."
              },
              "public": {
                "type": "boolean",
                "description": "Whether the project is public; always true here."
              },
              "category": {
                "type": "string",
                "description": "Project category; empty text when unset."
              },
              "description": {
                "type": "string",
                "description": "Project description."
              },
              "date_created": {
                "type": "string",
                "description": "Creation time, UTC, ISO 8601 without offset."
              },
              "date_modified": {
                "type": "string",
                "description": "Last modification time, UTC."
              }
            },
            "additionalProperties": true
          }
        },
        "additionalProperties": true
      },
      "description": "One entry per project; empty when nothing matches."
    },
    "meta": {
      "type": "object",
      "description": "API version.",
      "additionalProperties": true
    },
    "links": {
      "type": "object",
      "description": "Paging links (first, last, prev, next) and `meta` with `total` and `per_page`.",
      "additionalProperties": true
    }
  },
  "description": "The OSF API's JSON:API response: `data` holds the records, `links.meta.total` the total number of matches.",
  "additionalProperties": false
}