{
  "service": "semantic_scholar",
  "displayName": "Semantic Scholar",
  "categories": [
    "AI",
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "SEMANTIC_SCHOLAR_API_KEY",
      "description": "Semantic Scholar API key sent in the x-api-key header. Request a key from the official API page: https://www.semanticscholar.org/product/api#api-key-form."
    }
  ],
  "homepageUrl": "https://www.semanticscholar.org/",
  "actions": [
    {
      "id": "semantic_scholar.autocomplete_papers",
      "service": "semantic_scholar",
      "name": "autocomplete_papers",
      "description": "Suggest Semantic Scholar paper query completions.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "description": "The plain-text search query. Semantic Scholar does not support special query syntax.",
            "pattern": "\\S"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The maximum number of results to return."
          }
        },
        "additionalProperties": false,
        "required": [
          "query"
        ],
        "description": "The input payload for Semantic Scholar paper autocomplete."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "completions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One autocomplete suggestion returned by Semantic Scholar."
            },
            "description": "The autocomplete suggestions returned by Semantic Scholar."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Semantic Scholar response payload."
          }
        },
        "additionalProperties": false,
        "description": "The response returned by Semantic Scholar paper autocomplete."
      }
    },
    {
      "id": "semantic_scholar.bulk_search_papers",
      "service": "semantic_scholar",
      "name": "bulk_search_papers",
      "description": "Bulk-search Semantic Scholar papers and page through large result sets with tokens.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "description": "The plain-text search query. Semantic Scholar does not support special query syntax.",
            "pattern": "\\S"
          },
          "fields": {
            "type": "string",
            "minLength": 1,
            "description": "A comma-separated list of Semantic Scholar fields to return, using dot notation for nested fields when needed.",
            "pattern": "\\S"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The maximum number of results to return."
          },
          "token": {
            "type": "string",
            "minLength": 1,
            "description": "The continuation token returned by Semantic Scholar.",
            "pattern": "\\S"
          },
          "year": {
            "type": "string",
            "minLength": 1,
            "description": "The publication year or inclusive year range, such as 2019, 2016-2020, 2010-, or -2015.",
            "pattern": "\\S"
          },
          "venue": {
            "type": "string",
            "minLength": 1,
            "description": "A comma-separated list of publication venues to filter by, using full names or abbreviations.",
            "pattern": "\\S"
          },
          "fieldsOfStudy": {
            "type": "string",
            "minLength": 1,
            "description": "A comma-separated list of fields of study to filter by.",
            "pattern": "\\S"
          },
          "publicationTypes": {
            "type": "string",
            "minLength": 1,
            "description": "A comma-separated list of publication types to filter by, such as Review, JournalArticle, or Conference.",
            "pattern": "\\S"
          },
          "publicationDateOrYear": {
            "type": "string",
            "minLength": 1,
            "description": "The publication date or year filter, such as 2019, 2020-06, 2016-03-05:2020-06-06, 1981-08-25:, or :2015-01.",
            "pattern": "\\S"
          },
          "minCitationCount": {
            "type": "integer",
            "minimum": 0,
            "description": "The minimum number of citations a paper must have."
          },
          "openAccessPdf": {
            "type": "boolean",
            "description": "Whether to restrict results to papers with a public PDF available."
          }
        },
        "additionalProperties": false,
        "required": [
          "query"
        ],
        "description": "The input payload for bulk-searching Semantic Scholar papers."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "total": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The total result count when Semantic Scholar returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "offset": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The returned result offset when Semantic Scholar returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "next": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The next offset when Semantic Scholar returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "token": {
            "anyOf": [
              {
                "type": "string",
                "description": "The continuation token when Semantic Scholar returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "papers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The paper object returned by Semantic Scholar."
            },
            "description": "The papers returned by Semantic Scholar."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Semantic Scholar response payload."
          }
        },
        "additionalProperties": false,
        "description": "A Semantic Scholar paper list response."
      }
    },
    {
      "id": "semantic_scholar.get_author",
      "service": "semantic_scholar",
      "name": "get_author",
      "description": "Get details for a Semantic Scholar author.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "authorId": {
            "type": "string",
            "minLength": 1,
            "description": "The Semantic Scholar author ID.",
            "pattern": "\\S"
          },
          "fields": {
            "type": "string",
            "minLength": 1,
            "description": "A comma-separated list of Semantic Scholar fields to return, using dot notation for nested fields when needed.",
            "pattern": "\\S"
          }
        },
        "additionalProperties": false,
        "required": [
          "authorId"
        ],
        "description": "The input payload for retrieving a Semantic Scholar author."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "author": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The author object returned by Semantic Scholar."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when retrieving a Semantic Scholar author."
      }
    },
    {
      "id": "semantic_scholar.get_author_papers",
      "service": "semantic_scholar",
      "name": "get_author_papers",
      "description": "List papers written by a Semantic Scholar author.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "authorId": {
            "type": "string",
            "minLength": 1,
            "description": "The Semantic Scholar author ID.",
            "pattern": "\\S"
          },
          "fields": {
            "type": "string",
            "minLength": 1,
            "description": "A comma-separated list of Semantic Scholar fields to return, using dot notation for nested fields when needed.",
            "pattern": "\\S"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The maximum number of results to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "The zero-based pagination offset."
          }
        },
        "additionalProperties": false,
        "required": [
          "authorId"
        ],
        "description": "The input payload for listing Semantic Scholar author papers."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "total": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The total result count when Semantic Scholar returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "offset": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The returned result offset when Semantic Scholar returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "next": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The next offset when Semantic Scholar returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "token": {
            "anyOf": [
              {
                "type": "string",
                "description": "The continuation token when Semantic Scholar returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "papers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The paper object returned by Semantic Scholar."
            },
            "description": "The papers returned by Semantic Scholar."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Semantic Scholar response payload."
          }
        },
        "additionalProperties": false,
        "description": "A Semantic Scholar paper list response."
      }
    },
    {
      "id": "semantic_scholar.get_authors",
      "service": "semantic_scholar",
      "name": "get_authors",
      "description": "Get details for multiple Semantic Scholar authors at once.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "authorIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "The Semantic Scholar author ID.",
              "pattern": "\\S"
            },
            "description": "The author IDs to request.",
            "minItems": 1,
            "maxItems": 1000
          },
          "fields": {
            "type": "string",
            "minLength": 1,
            "description": "A comma-separated list of Semantic Scholar fields to return, using dot notation for nested fields when needed.",
            "pattern": "\\S"
          }
        },
        "additionalProperties": false,
        "required": [
          "authorIds"
        ],
        "description": "The input payload for retrieving multiple Semantic Scholar authors."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "authors": {
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The author object returned by Semantic Scholar."
                },
                {
                  "type": "null"
                }
              ]
            },
            "description": "The authors returned in the same order as the requested IDs."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when retrieving multiple Semantic Scholar authors."
      }
    },
    {
      "id": "semantic_scholar.get_paper",
      "service": "semantic_scholar",
      "name": "get_paper",
      "description": "Get details for a Semantic Scholar paper by paper ID or external identifier.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "paperId": {
            "type": "string",
            "minLength": 1,
            "description": "The Semantic Scholar paper ID, CorpusId, DOI:<doi>, ARXIV:<id>, MAG:<id>, ACL:<id>, PMID:<id>, or PMCID:<id>.",
            "pattern": "\\S"
          },
          "fields": {
            "type": "string",
            "minLength": 1,
            "description": "A comma-separated list of Semantic Scholar fields to return, using dot notation for nested fields when needed.",
            "pattern": "\\S"
          }
        },
        "additionalProperties": false,
        "required": [
          "paperId"
        ],
        "description": "The input payload for retrieving a Semantic Scholar paper."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "paper": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The paper object returned by Semantic Scholar."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when retrieving a Semantic Scholar paper."
      }
    },
    {
      "id": "semantic_scholar.get_paper_authors",
      "service": "semantic_scholar",
      "name": "get_paper_authors",
      "description": "List authors for a Semantic Scholar paper.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "paperId": {
            "type": "string",
            "minLength": 1,
            "description": "The Semantic Scholar paper ID, CorpusId, DOI:<doi>, ARXIV:<id>, MAG:<id>, ACL:<id>, PMID:<id>, or PMCID:<id>.",
            "pattern": "\\S"
          },
          "fields": {
            "type": "string",
            "minLength": 1,
            "description": "A comma-separated list of Semantic Scholar fields to return, using dot notation for nested fields when needed.",
            "pattern": "\\S"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The maximum number of results to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "The zero-based pagination offset."
          }
        },
        "additionalProperties": false,
        "required": [
          "paperId"
        ],
        "description": "The input payload for listing Semantic Scholar paper authors."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "total": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The total result count when Semantic Scholar returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "offset": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The returned result offset when Semantic Scholar returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "next": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The next offset when Semantic Scholar returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "authors": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The author object returned by Semantic Scholar."
            },
            "description": "The authors returned by Semantic Scholar."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Semantic Scholar response payload."
          }
        },
        "additionalProperties": false,
        "description": "A Semantic Scholar author list response."
      }
    },
    {
      "id": "semantic_scholar.get_paper_citations",
      "service": "semantic_scholar",
      "name": "get_paper_citations",
      "description": "List papers that cite a Semantic Scholar paper.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "paperId": {
            "type": "string",
            "minLength": 1,
            "description": "The Semantic Scholar paper ID, CorpusId, DOI:<doi>, ARXIV:<id>, MAG:<id>, ACL:<id>, PMID:<id>, or PMCID:<id>.",
            "pattern": "\\S"
          },
          "fields": {
            "type": "string",
            "minLength": 1,
            "description": "A comma-separated list of Semantic Scholar fields to return, using dot notation for nested fields when needed.",
            "pattern": "\\S"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The maximum number of results to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "The zero-based pagination offset."
          }
        },
        "additionalProperties": false,
        "required": [
          "paperId"
        ],
        "description": "The input payload for listing Semantic Scholar paper citations."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "total": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The total edge count when Semantic Scholar returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "offset": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The returned result offset when Semantic Scholar returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "next": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The next offset when Semantic Scholar returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One paper edge returned by Semantic Scholar."
            },
            "description": "The citation or reference edges returned by Semantic Scholar."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Semantic Scholar response payload."
          }
        },
        "additionalProperties": false,
        "description": "A Semantic Scholar paper edge list response."
      }
    },
    {
      "id": "semantic_scholar.get_paper_references",
      "service": "semantic_scholar",
      "name": "get_paper_references",
      "description": "List papers referenced by a Semantic Scholar paper.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "paperId": {
            "type": "string",
            "minLength": 1,
            "description": "The Semantic Scholar paper ID, CorpusId, DOI:<doi>, ARXIV:<id>, MAG:<id>, ACL:<id>, PMID:<id>, or PMCID:<id>.",
            "pattern": "\\S"
          },
          "fields": {
            "type": "string",
            "minLength": 1,
            "description": "A comma-separated list of Semantic Scholar fields to return, using dot notation for nested fields when needed.",
            "pattern": "\\S"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The maximum number of results to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "The zero-based pagination offset."
          }
        },
        "additionalProperties": false,
        "required": [
          "paperId"
        ],
        "description": "The input payload for listing Semantic Scholar paper references."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "total": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The total edge count when Semantic Scholar returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "offset": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The returned result offset when Semantic Scholar returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "next": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The next offset when Semantic Scholar returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One paper edge returned by Semantic Scholar."
            },
            "description": "The citation or reference edges returned by Semantic Scholar."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Semantic Scholar response payload."
          }
        },
        "additionalProperties": false,
        "description": "A Semantic Scholar paper edge list response."
      }
    },
    {
      "id": "semantic_scholar.get_papers",
      "service": "semantic_scholar",
      "name": "get_papers",
      "description": "Get details for multiple Semantic Scholar papers at once.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "paperIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "The Semantic Scholar paper ID, CorpusId, DOI:<doi>, ARXIV:<id>, MAG:<id>, ACL:<id>, PMID:<id>, or PMCID:<id>.",
              "pattern": "\\S"
            },
            "description": "The paper IDs to request.",
            "minItems": 1,
            "maxItems": 500
          },
          "fields": {
            "type": "string",
            "minLength": 1,
            "description": "A comma-separated list of Semantic Scholar fields to return, using dot notation for nested fields when needed.",
            "pattern": "\\S"
          }
        },
        "additionalProperties": false,
        "required": [
          "paperIds"
        ],
        "description": "The input payload for retrieving multiple Semantic Scholar papers."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "papers": {
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The paper object returned by Semantic Scholar."
                },
                {
                  "type": "null"
                }
              ]
            },
            "description": "The papers returned in the same order as the requested IDs."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when retrieving multiple Semantic Scholar papers."
      }
    },
    {
      "id": "semantic_scholar.match_paper_title",
      "service": "semantic_scholar",
      "name": "match_paper_title",
      "description": "Find the best Semantic Scholar paper match for a paper title.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "description": "The plain-text search query. Semantic Scholar does not support special query syntax.",
            "pattern": "\\S"
          },
          "fields": {
            "type": "string",
            "minLength": 1,
            "description": "A comma-separated list of Semantic Scholar fields to return, using dot notation for nested fields when needed.",
            "pattern": "\\S"
          }
        },
        "additionalProperties": false,
        "required": [
          "query"
        ],
        "description": "The input payload for matching a Semantic Scholar paper title."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "paper": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The paper object returned by Semantic Scholar."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Semantic Scholar response payload."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when matching a Semantic Scholar paper title."
      }
    },
    {
      "id": "semantic_scholar.recommend_for_paper",
      "service": "semantic_scholar",
      "name": "recommend_for_paper",
      "description": "Get recommended Semantic Scholar papers for one positive example paper.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "paperId": {
            "type": "string",
            "minLength": 1,
            "description": "The Semantic Scholar paper ID, CorpusId, DOI:<doi>, ARXIV:<id>, MAG:<id>, ACL:<id>, PMID:<id>, or PMCID:<id>.",
            "pattern": "\\S"
          },
          "fields": {
            "type": "string",
            "minLength": 1,
            "description": "A comma-separated list of Semantic Scholar fields to return, using dot notation for nested fields when needed.",
            "pattern": "\\S"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500,
            "description": "The maximum number of recommendations to return."
          }
        },
        "additionalProperties": false,
        "required": [
          "paperId"
        ],
        "description": "The input payload for recommending papers from one Semantic Scholar paper."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "total": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The total result count when Semantic Scholar returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "offset": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The returned result offset when Semantic Scholar returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "next": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The next offset when Semantic Scholar returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "token": {
            "anyOf": [
              {
                "type": "string",
                "description": "The continuation token when Semantic Scholar returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "papers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The paper object returned by Semantic Scholar."
            },
            "description": "The papers returned by Semantic Scholar."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Semantic Scholar response payload."
          }
        },
        "additionalProperties": false,
        "description": "A Semantic Scholar paper list response."
      }
    },
    {
      "id": "semantic_scholar.recommend_papers",
      "service": "semantic_scholar",
      "name": "recommend_papers",
      "description": "Get recommended Semantic Scholar papers from positive and optional negative examples.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "positivePaperIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "The Semantic Scholar paper ID, CorpusId, DOI:<doi>, ARXIV:<id>, MAG:<id>, ACL:<id>, PMID:<id>, or PMCID:<id>.",
              "pattern": "\\S"
            },
            "description": "The paper IDs that represent positive examples.",
            "minItems": 1,
            "maxItems": 500
          },
          "negativePaperIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "The Semantic Scholar paper ID, CorpusId, DOI:<doi>, ARXIV:<id>, MAG:<id>, ACL:<id>, PMID:<id>, or PMCID:<id>.",
              "pattern": "\\S"
            },
            "description": "The paper IDs that represent negative examples.",
            "minItems": 1,
            "maxItems": 500
          },
          "fields": {
            "type": "string",
            "minLength": 1,
            "description": "A comma-separated list of Semantic Scholar fields to return, using dot notation for nested fields when needed.",
            "pattern": "\\S"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500,
            "description": "The maximum number of recommendations to return."
          }
        },
        "additionalProperties": false,
        "required": [
          "positivePaperIds"
        ],
        "description": "The input payload for recommending Semantic Scholar papers from example paper IDs."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "total": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The total result count when Semantic Scholar returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "offset": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The returned result offset when Semantic Scholar returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "next": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The next offset when Semantic Scholar returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "token": {
            "anyOf": [
              {
                "type": "string",
                "description": "The continuation token when Semantic Scholar returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "papers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The paper object returned by Semantic Scholar."
            },
            "description": "The papers returned by Semantic Scholar."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Semantic Scholar response payload."
          }
        },
        "additionalProperties": false,
        "description": "A Semantic Scholar paper list response."
      }
    },
    {
      "id": "semantic_scholar.search_authors",
      "service": "semantic_scholar",
      "name": "search_authors",
      "description": "Search Semantic Scholar authors by name.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "description": "The plain-text search query. Semantic Scholar does not support special query syntax.",
            "pattern": "\\S"
          },
          "fields": {
            "type": "string",
            "minLength": 1,
            "description": "A comma-separated list of Semantic Scholar fields to return, using dot notation for nested fields when needed.",
            "pattern": "\\S"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The maximum number of results to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "The zero-based pagination offset."
          }
        },
        "additionalProperties": false,
        "required": [
          "query"
        ],
        "description": "The input payload for searching Semantic Scholar authors."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "total": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The total result count when Semantic Scholar returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "offset": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The returned result offset when Semantic Scholar returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "next": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The next offset when Semantic Scholar returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "authors": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The author object returned by Semantic Scholar."
            },
            "description": "The authors returned by Semantic Scholar."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Semantic Scholar response payload."
          }
        },
        "additionalProperties": false,
        "description": "A Semantic Scholar author list response."
      }
    },
    {
      "id": "semantic_scholar.search_papers",
      "service": "semantic_scholar",
      "name": "search_papers",
      "description": "Search Semantic Scholar papers by relevance with optional publication filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "description": "The plain-text search query. Semantic Scholar does not support special query syntax.",
            "pattern": "\\S"
          },
          "fields": {
            "type": "string",
            "minLength": 1,
            "description": "A comma-separated list of Semantic Scholar fields to return, using dot notation for nested fields when needed.",
            "pattern": "\\S"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The maximum number of results to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "The zero-based pagination offset."
          },
          "year": {
            "type": "string",
            "minLength": 1,
            "description": "The publication year or inclusive year range, such as 2019, 2016-2020, 2010-, or -2015.",
            "pattern": "\\S"
          },
          "venue": {
            "type": "string",
            "minLength": 1,
            "description": "A comma-separated list of publication venues to filter by, using full names or abbreviations.",
            "pattern": "\\S"
          },
          "fieldsOfStudy": {
            "type": "string",
            "minLength": 1,
            "description": "A comma-separated list of fields of study to filter by.",
            "pattern": "\\S"
          },
          "publicationTypes": {
            "type": "string",
            "minLength": 1,
            "description": "A comma-separated list of publication types to filter by, such as Review, JournalArticle, or Conference.",
            "pattern": "\\S"
          },
          "publicationDateOrYear": {
            "type": "string",
            "minLength": 1,
            "description": "The publication date or year filter, such as 2019, 2020-06, 2016-03-05:2020-06-06, 1981-08-25:, or :2015-01.",
            "pattern": "\\S"
          },
          "minCitationCount": {
            "type": "integer",
            "minimum": 0,
            "description": "The minimum number of citations a paper must have."
          },
          "openAccessPdf": {
            "type": "boolean",
            "description": "Whether to restrict results to papers with a public PDF available."
          }
        },
        "additionalProperties": false,
        "required": [
          "query"
        ],
        "description": "The input payload for searching Semantic Scholar papers by relevance."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "total": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The total result count when Semantic Scholar returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "offset": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The returned result offset when Semantic Scholar returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "next": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The next offset when Semantic Scholar returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "token": {
            "anyOf": [
              {
                "type": "string",
                "description": "The continuation token when Semantic Scholar returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "papers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The paper object returned by Semantic Scholar."
            },
            "description": "The papers returned by Semantic Scholar."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Semantic Scholar response payload."
          }
        },
        "additionalProperties": false,
        "description": "A Semantic Scholar paper list response."
      }
    },
    {
      "id": "semantic_scholar.search_snippets",
      "service": "semantic_scholar",
      "name": "search_snippets",
      "description": "Search text snippets in Semantic Scholar papers.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "description": "The plain-text search query. Semantic Scholar does not support special query syntax.",
            "pattern": "\\S"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The maximum number of results to return."
          }
        },
        "additionalProperties": false,
        "required": [
          "query"
        ],
        "description": "The input payload for searching Semantic Scholar text snippets."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "total": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The total result count when Semantic Scholar returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "offset": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The returned result offset when Semantic Scholar returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "next": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The next offset when Semantic Scholar returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "snippets": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The text snippet object returned by Semantic Scholar."
            },
            "description": "The snippets returned by Semantic Scholar."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Semantic Scholar response payload."
          }
        },
        "additionalProperties": false,
        "description": "The response returned by Semantic Scholar text snippet search."
      }
    }
  ]
}
