Searches academic papers via Semantic Scholar and Crossref and returns metadata and abstracts to Claude.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add academic-search --env CROSSREF_API_KEY='<CROSSREF_API_KEY>' --env SEMANTIC_SCHOLAR_API_KEY='<SEMANTIC_SCHOLAR_API_KEY>' -- uv 'run ' /path/to/server/server.py~/.codex/config.toml
[mcp_servers.academic-search]
command = "uv"
args = ["run ", "/path/to/server/server.py"]
env = { CROSSREF_API_KEY = "<CROSSREF_API_KEY>", SEMANTIC_SCHOLAR_API_KEY = "<SEMANTIC_SCHOLAR_API_KEY>" }
# codex mcp add academic-search --env CROSSREF_API_KEY='<CROSSREF_API_KEY>' --env SEMANTIC_SCHOLAR_API_KEY='<SEMANTIC_SCHOLAR_API_KEY>' -- uv 'run ' /path/to/server/server.py~/.cursor/mcp.json
{
"mcpServers": {
"academic-search": {
"command": "uv",
"args": [
"run ",
"/path/to/server/server.py"
],
"env": {
"CROSSREF_API_KEY": "<CROSSREF_API_KEY>",
"SEMANTIC_SCHOLAR_API_KEY": "<SEMANTIC_SCHOLAR_API_KEY>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"academic-search": {
"type": "stdio",
"command": "uv",
"args": [
"run ",
"/path/to/server/server.py"
],
"env": {
"CROSSREF_API_KEY": "<CROSSREF_API_KEY>",
"SEMANTIC_SCHOLAR_API_KEY": "<SEMANTIC_SCHOLAR_API_KEY>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"academic-search": {
"command": "uv",
"args": [
"run ",
"/path/to/server/server.py"
],
"env": {
"CROSSREF_API_KEY": "<CROSSREF_API_KEY>",
"SEMANTIC_SCHOLAR_API_KEY": "<SEMANTIC_SCHOLAR_API_KEY>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"academic-search": {
"command": "uv",
"args": [
"run ",
"/path/to/server/server.py"
],
"env": {
"CROSSREF_API_KEY": "<CROSSREF_API_KEY>",
"SEMANTIC_SCHOLAR_API_KEY": "<SEMANTIC_SCHOLAR_API_KEY>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"academic-search": {
"command": "uv",
"args": [
"run ",
"/path/to/server/server.py"
],
"env": {
"CROSSREF_API_KEY": "<CROSSREF_API_KEY>",
"SEMANTIC_SCHOLAR_API_KEY": "<SEMANTIC_SCHOLAR_API_KEY>"
}
}
}
}Environment variables
CROSSREF_API_KEYSEMANTIC_SCHOLAR_API_KEY
Replace the placeholders with your own credentials and keep them out of version control.