# API Features for paperscraper-mcpserver

This document lists all planned tools for the paperscraper MCP server. The server exposes the core search functionality of the `paperscraper` package, allowing agents to search for academic papers across multiple databases.

## 1. Tool: search_pubmed_papers

- **Functional description:** Search for papers on PubMed using a query string.
- **Original API method name:** `paperscraper.pubmed.pubmed.get_pubmed_papers`
- **Input fields:**
  - `query` (str): The search query formatted for the PubMed API. Required.
  - `max_results` (int): Maximum number of papers to retrieve (max 9998). Optional, defaults to 10.
- **Output fields:** A JSON list of objects containing the fields:
  - `title` (str)
  - `authors` (list of str)
  - `date` (str)
  - `abstract` (str)
  - `journal` (str)
  - `doi` (str)

## 2. Tool: search_scholar_papers

- **Functional description:** Search for a specific paper title on Google Scholar and retrieve its metadata, including citation count. Note that Google Scholar does not support complex Boolean logic.
- **Original API method name:** `paperscraper.scholar.scholar.get_scholar_papers`
- **Input fields:**
  - `title` (str): The specific title or simple search string to look up on Google Scholar. Required.
- **Output fields:** A JSON list of objects containing the fields:
  - `title` (str)
  - `authors` (list of str)
  - `year` (int)
  - `abstract` (str)
  - `journal` (str)
  - `citations` (int)
