mcp-semantic-scholar
MCP server for Semantic Scholar to search for papers
claude mcp add --transport stdio benhaotang-mcp-semantic-scholar-server uv run --with mcp mcp run /path/to/semantic-scholar-plugin.py \ --env SEMANTIC_SCHOLAR_API_KEY="your_api_key"
How to use
This MCP server wraps the Semantic Scholar API so you can query scholarly data through the MCP framework. It leverages a Python-based plugin (semantic-scholar-plugin.py) that talks to Semantic Scholar and exposes methods via the MCP interface, enabling Claude or other clients to make API calls through the MCP layer. To enable higher rate limits, you can supply your Semantic Scholar API key as an environment variable or via the MCP config. You can start development mode with mcp dev and install the server into Claude with mcp install so that Claude can route requests to this MCP service.
Once installed, you can invoke the server by addressing its MCP endpoint through the configured route (e.g., the semantic-scholar MCP name in Claude). The server reads SEMANTIC_SCHOLAR_API_KEY from the environment when making API requests. If you encounter issues with the underlying cline parser or console messages, these are non-functional warnings in some environments and do not affect API calls.
How to install
Prerequisites:
- Python 3.8+ and pip
- Access to install Python dependencies listed in requirements.txt
- The MCP toolchain (mcp) installed on your system
-
Install Python dependencies
- Ensure you are in the repository root and run: pip install -r requirements.txt
-
Run in development mode to test locally
- Start the server in development mode: mcp dev path/to/semantic-scholar-plugin.py
-
Install into Claude (for deployment)
- Use the provided install command snippet as a starting point: mcp install path/to/semantic-scholar-plugin.py
- Alternatively, add the following to claude/cline config to run with uv: { "semantic-scholar": { "command": "uv", "args": [ "run", "--with", "mcp", "mcp", "run", "/path/to/semantic-scholar-plugin.py" ] } }
-
Set the API key (optional but recommended)
- Either export the key in your environment: export SEMANTIC_SCHOLAR_API_KEY="your_api_key"
- Or include it in the MCP config: { "semantic-scholar": { "command": "uv", "args": ["run", "--with", "mcp", "mcp", "run", "/path/to/semantic-scholar-plugin.py"], "env": {"SEMANTIC_SCHOLAR_API_KEY": "your_api_key"} } }
Notes:
- The README describes two ways to run: a development approach with mcp dev and a deployment approach with mcp install and claude integration.
- If you see extraneous INFO messages from the CLI tooling, they are non-critical and not indicative of a failed API call.
Additional notes
Tips and potential issues:
- If Claude on Linux/macOS shows issues with running via uv (as noted in the README), consider pointing directly to the MCP executable in the command path, e.g. "command": "/path/to/mcp" and provide the plugin path as the sole argument.
- Ensure SEMANTIC_SCHOLAR_API_KEY is kept secret and not committed to version control.
- If you modify the plugin path, ensure the path is accessible by the environment in which Claude runs.
- This MCP server is Python-based; ensure Python dependencies in requirements.txt are up to date and compatible with your runtime.
- The Known issues section mentions non-blocking console messages; these do not affect API functionality.
Related MCP Servers
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
mcp-yfinance
Real-time stock API with Python, MCP server example, yfinance stock analysis dashboard
pfsense
pfSense MCP Server enables security administrators to manage their pfSense firewalls using natural language through AI assistants like Claude Desktop. Simply ask "Show me blocked IPs" or "Run a PCI compliance check" instead of navigating complex interfaces. Supports REST/XML-RPC/SSH connections, and includes built-in complian
cloudwatch-logs
MCP server from serkanh/cloudwatch-logs-mcp
servicenow-api
ServiceNow MCP Server and API Wrapper
the -company
TheMCPCompany: Creating General-purpose Agents with Task-specific Tools