A Model Context Protocol server for the Elsevier Scopus API
中文 | English
💡 Check out the Interaction Guide & Prompt Examples to see how to chat with this tool!
This is a Model Context Protocol (MCP) server that provides access to the Elsevier Scopus API. It allows AI assistants to search for academic papers, retrieve abstracts, and look up author profiles.
Please note that requesting an Elsevier Scopus API key generally requires that your organization or institution has a subscription to Elsevier database services. Additionally, to run this tool without manual setup, your device must have the uv package manager installed.
config.json file in the project root (or copy from config.json.example) and fill in your key:
{
"api_key": "YOUR_KEY_HERE"
}MCP_tool_config.json, modifying the folder path (pay attention to the slash direction).MCP_tool_config.json.Prerequisite: You must have uv installed.
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"curl -LsSf https://astral.sh/uv/install.sh | shIf you use Claude Desktop, you can skip downloading the code and just configure it directly:
%APPDATA%\Claude\claude_desktop_config.json (Windows) or ~/Library/Application Support/Claude/claude_desktop_config.json (macOS).{
"mcpServers": {
"scopus-assistant": {
"command": "uvx",
"args": [
"scopus-mcp"
],
"env": {
"SCOPUS_API_KEY": "PUT_YOUR_KEY_HERE"
}
}
}
}(If you don't have uv, see Installation for manual setup)
In Trae Settings -> MCP Servers -> Click Add -> Select Manual Configuration (JSON), then paste:
{
"mcpServers": {
"scopus-assistant": {
"command": "uvx",
"args": [
"scopus-mcp"
],
"env": {
"SCOPUS_API_KEY": "PUT_YOUR_KEY_HERE"
}
}
}
}scopus-mcpcommand (stdio)uvx scopus-mcpSCOPUS_API_KEY in your system environment variables.pip install .You can run the server using uvx (recommended) or directly with python.
# Using uvx
uvx --from . scopus-mcp
# Or directly
python -m scopus_mcp.serversearch_scopus
query (string): The search query (e.g., TITLE("Artificial Intelligence")).count (integer): Number of results to return (default: 5).sort (string): Sort order (e.g., coverDate).get_abstract_details
scopus_id (string): The Scopus ID of the document.get_author_profile
author_id (string): The Scopus Author ID.Run tests with:
pytestThis project is licensed under the MIT License - see the LICENSE file for details.