Skip to main content

🎓 Semantic Scholar MCP Server

smithery badge

This project implements a Model Context Protocol (MCP) server for interacting with the Semantic Scholar API. It provides tools for searching papers, retrieving paper and author details, and fetching citations and references.

✨ Features

  • 🔍 Search for papers on Semantic Scholar
  • 📄 Retrieve detailed information about specific papers
  • 👤 Get author details
  • 🔗 Fetch citations and references for a paper

📋 Prerequisites

  • 🐍 Python 3.10+
  • 📚 semanticscholar Python package
  • 🔧 mcp Python package (Model Context Protocol)

🚀 Installation

Installing via Smithery

To install semanticscholar Server for Claude Desktop automatically via Smithery:

claude

npx -y @smithery/cli@latest install @JackKuo666/semanticscholar-mcp-server --client claude --config "{}"

Cursor

Paste the following into Settings → Cursor Settings → MCP → Add new server:

  • Mac/Linux
npx -y @smithery/cli@latest run @JackKuo666/semanticscholar-mcp-server --client cursor --config "{}" 

Windsurf

npx -y @smithery/cli@latest install @JackKuo666/semanticscholar-mcp-server --client windsurf --config "{}"

CLine

npx -y @smithery/cli@latest install @JackKuo666/semanticscholar-mcp-server --client cline --config "{}"
  1. Clone this repository:

    git clone https://github.com/JackKuo666/semanticscholar-MCP-Server.git
    cd semanticscholar-mcp-server
    
  2. Install the required packages:

    pip install semanticscholar mcp
    

🖥️ Usage

  1. Start the Semantic Scholar MCP server:

    python semantic_scholar_server.py
    
  2. The server will start and listen for MCP requests.

  3. Use an MCP client to interact with the server and access the following tools:

    • 🔍 search_semantic_scholar: Search for papers using a query string
    • 📄 get_semantic_scholar_paper_details: Get details of a specific paper
    • 👤 get_semantic_scholar_author_details: Get details of a specific author
    • 🔗 get_semantic_scholar_citations_and_references: Get citations and references for a paper

Usage with Claude Desktop

Add this configuration to your claude_desktop_config.json:

(Mac OS)

{
  "mcpServers": {
    "semanticscholar": {
      "command": "python",
      "args": ["-m", "semanticscholar_mcp_server"]
      }
  }
}

(Windows version):

{
  "mcpServers": {
    "semanticscholar": {
      "command": "C:\\Users\\YOUR\\PATH\\miniconda3\\envs\\mcp_server\\python.exe",
      "args": [
        "D:\\code\\YOUR\\PATH\\semanticscholar-MCP-Server\\semanticscholar_server.py"
      ],
      "env": {},
      "disabled": false,
      "autoApprove": []
    }
  }
}

Using with Cline

{
  "mcpServers": {
    "semanticscholar": {
      "command": "bash",
      "args": [
        "-c",
        "source /home/YOUR/PATH/.venv/bin/activate && python /home/YOUR/PATH/semanticscholar_mcp_server.py"
      ],
      "env": {},
      "disabled": false,
      "autoApprove": []
    }
  }
}

📁 File Structure

  • 📜 semantic_scholar_search.py: Contains functions for interacting with the Semantic Scholar API
  • 🖥️ semantic_scholar_server.py: Implements the MCP server and defines the available tools

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

Metadata

Release files for iflow-mcp_jackkuo666-semanticscholar-mcp-server 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iflow-mcp_jackkuo666-semanticscholar-mcp-server 0.1.0
File Size Uploaded
iflow_mcp_jackkuo666_semanticscholar_mcp_server-0.1.0.tar.gz 4.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iflow-mcp_jackkuo666-semanticscholar-mcp-server 0.1.0
File Interpreter ABI Platform
iflow_mcp_jackkuo666_semanticscholar_mcp_server-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 14.2 kB

Release files / iflow_mcp_jackkuo666_semanticscholar_mcp_server-0.1.0.tar.gz

Download URL iflow_mcp_jackkuo666_semanticscholar_mcp_server-0.1.0.tar.gz
Size 4.1 kB
Tags Source
SHA-256 checksum
How to use checksums
1fedc68f732d9de940677aa1ca8cc735e50bf1daf76848e1fd044d357b08cd34
BLAKE2b-256 checksum
How to use checksums
72be82623b38850e0dc33f6959431dbc6e26ba82f10ef50aaa98181d908f77f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / iflow_mcp_jackkuo666_semanticscholar_mcp_server-0.1.0-py3-none-any.whl

Download URL iflow_mcp_jackkuo666_semanticscholar_mcp_server-0.1.0-py3-none-any.whl
Size 10.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e23775b2cabb311f1e7d7087740b0005e21a3f12f2f9902a7a99fc7ea288c18a
BLAKE2b-256 checksum
How to use checksums
2d67686b57fdfe520f2084fc13b4a0f154645dd48fd539eefb58e82e3e117491
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page