search_openaire
Search academic papers from OpenAIRE's European Open Access infrastructure to find relevant research publications using query-based discovery.
Instructions
Search academic papers from OpenAIRE European Open Access infrastructure.
Args: query: Search query string (e.g., 'machine learning'). max_results: Maximum number of papers to return (default: 10). Returns: List of paper metadata in dictionary format.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| max_results | No |
Implementation Reference
- paper_search_mcp/server.py:933-943 (handler)The `search_openaire` handler in server.py which calls the `openaire_searcher` helper to perform the search.
async def search_openaire(query: str, max_results: int = 10) -> List[Dict]: """Search academic papers from OpenAIRE European Open Access infrastructure. Args: query: Search query string (e.g., 'machine learning'). max_results: Maximum number of papers to return (default: 10). Returns: List of paper metadata in dictionary format. """ papers = await async_search(openaire_searcher, query, max_results) return papers if papers else [] - The `OpenAiresearcher.search` method in academic_platforms/openaire.py which performs the actual API requests to OpenAIRE.
def search(self, query: str, max_results: int = 10, **kwargs) -> List[Paper]: - paper_search_mcp/server.py:300-301 (registration)Registration logic where `search_openaire` is called based on the `source` parameter in `server.py`.
elif source == "openaire": task_map[source] = search_openaire(query, max_results_per_source)