Sandbox
@afrise/academic-search-mcp-server

MCP server for academic paper search and lookup

This server connects an MCP client to Semantic Scholar and Crossref. It exposes tools for searching papers, fetching paper metadata, and filtering by topic and year range.

117 stars11 forksPythonUpdated 1y ago
Who it's for

Builders who want their agent to search academic papers and pull back metadata from external sources.

What it delivers

You can research papers inside your agent instead of switching to separate search tools.

What it does

Search papers across sources

`search_papers` takes a query and optional limit, then returns formatted results from multiple academic sources.

Fetch paper details

`fetch_paper_details` looks up a paper by DOI or Semantic Scholar ID and returns title, authors, year, venue, abstract, and other metadata.

Search by topic and date range

`search_by_topic` searches for papers on a topic and can narrow results by start and end year.

Claude Desktop setup

The README includes a Claude Desktop MCP config example for running the server with `uv` and environment variables.

How to get it

  1. 1To install Academic Paper Search Server for Claude Desktop automatically via Smithery
    npx -y @smithery/cli install @afrise/academic-search-mcp-server --client claude
  2. 2Install dependencies
    uv add "mcp[cli]" httpx
  3. 3Set up required API keys in your environment or .env file
    #  These are not actually implemented
    SEMANTIC_SCHOLAR_API_KEY=your_key_here 
    CROSSREF_API_KEY=your_key_here  # Optional but recommended
  4. 4Run the server
    uv run server.py

README

Academic Paper Search MCP Server

smithery badge

A Model Context Protocol (MCP) server that enables searching and retrieving academic paper information from multiple sources.

The server provides LLMs with:

  • Real-time academic paper search functionality
  • Access to paper metadata and abstracts
  • Ability to retrieve full-text content when available
  • Structured data responses following the MCP specification

While primarily designed for integration with Anthropic's Claude Desktop client, the MCP specification allows for potential compatibility with other AI models and clients that support tool/function calling capabilities (e.g. OpenAI's API).

Note: This software is under active development. Features and functionality are subject to change.

Academic Paper Search Server MCP server

Features

This server exposes the following tools:

  • search_papers: Search for academic papers across multiple sources

    • Parameters:
      • query (str): Search query text
      • limit (int, optional): Maximum number of results to return (default: 10)
    • Returns: Formatted string containing paper details
  • fetch_paper_details: Retrieve detailed information for a specific paper

    • Parameters:
      • paper_id (str): Paper identifier (DOI or Semantic Scholar ID)
      • source (str, optional): Data source ("crossref" or "semantic_scholar", default: "crossref")
    • Returns: Formatted string with comprehensive paper metadata including:
      • Title, authors, year, DOI
      • Venue, open access status, PDF URL (Semantic Scholar only)
      • Abstract and TL;DR summary (when available)
  • search_by_topic: Search for papers by topic with optional date range filter

    • Parameters:
      • topic (str): Search query text (limited to 300 characters)
      • year_start (int, optional): Start year for date range
      • year_end (int, optional): End year for date range
      • limit (int, optional): Maximum number of results to return (default: 10)
    • Returns: Formatted string containing search results including:
      • Paper titles, authors, and years
      • Abstracts and TL;DR summaries when available
      • Venue and open access information

Setup

Installing via Smithery

To install Academic Paper Search Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @afrise/academic-search-mcp-server --client claude

note this method is largely untested, as their server seems to be having trouble. you can follow the standalone instructions until smithery gets fixed.

Installing via uv (manual install):

  1. Install dependencies:
uv add "mcp[cli]" httpx
  1. Set up required API keys in your environment or .env file:
#  These are not actually implemented
SEMANTIC_SCHOLAR_API_KEY=your_key_here 
CROSSREF_API_KEY=your_key_here  # Optional but recommended
  1. Run the server:
uv run server.py

Usage with Claude Desktop

  1. Add the server to your Claude Desktop configuration (claude_desktop_config.json):
{
  "mcpServers": {
    "academic-search": {
      "command": "uv",
      "args": ["run ", "/path/to/server/server.py"],
      "env": {
        "SEMANTIC_SCHOLAR_API_KEY": "your_key_here",
        "CROSSREF_API_KEY": "your_key_here"
      }
    }
  }
}
  1. Restart Claude Desktop

Development

This server is built using:

  • Python MCP SDK
  • FastMCP for simplified server implementation
  • httpx for API requests

API Sources

  • Semantic Scholar API
  • Crossref API

License

This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). This license ensures that:

  • You can freely use, modify, and distribute this software
  • Any modifications must be open-sourced under the same license
  • Anyone providing network services using this software must make the source code available
  • Commercial use is allowed, but the software and any derivatives must remain free and open source

See the LICENSE file for the full license text.

Contributing

Contributions are welcome! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Please note:

  • Follow the existing code style and conventions
  • Add tests for any new functionality
  • Update documentation as needed
  • Ensure your changes respect the AGPL-3.0 license terms

By contributing to this project, you agree that your contributions will be licensed under the AGPL-3.0 license.

Files in the repo

Repository payload11 top-level entries
  • .vscode
  • .gitignore
  • .python-version
  • Dockerfile
  • launch.json
  • LICENSE
  • pyproject.toml
  • README.md
  • server.py
  • smithery.yaml
  • uv.lock

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More connectors

Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface

86k

High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

43k

Universal provider proxy for OpenAI Codex & Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code

14k
okf-memory/
okf-agent-memory

Git-native persistent memory for AI coding agents. Implements Google OKF v0.2 with sub-300µs in-memory BM25 search, embedded MCP server, and progressive disclosure. Slashes token bloat by 80% with zero external databases or dependencies. Built in pure Go.

547
2akouwu/
reverify

Stop your AI from making things up — it proposes, deterministic tools decide, every claim checked against ground truth with evidence. Grounded facts and context survive resets. Reverse engineering is the proving ground. MCP server + CLI.

1.1k

x64dbg-MCP Server is a native MCP (Model Context Protocol) plugin for x64dbg that exposes the debugger's full functionality over HTTP. Connect any MCP-compatible AI assistant and control x64dbg programmatically: set breakpoints, step through code, read memory, dump registers, and more. Built with Zig — zero dependencies, single-binary output, cros

1.9k