Arxiv Semantic Search
About
A lightweight MCP server that lets AI assistants query the arXiv API. It provides two powerful search approaches:
Details
- Author
- icyclv
- Downloads
- 316
- Categories
- Search
Jump to
- Semantic search using vector embeddings for natural language queries
- Keyword search with multiple filters and date ranges
- Retrieve detailed paper information by arXiv ID
- Get a list of available arXiv categories
- Requires Python 3.12+ and the uv package manager
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Arxiv Semantic SearchCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Clone the repository, install dependencies with uv sync, and start the server with uv run main.py. Then configure your AI client (e.g., Claude Desktop) by adding a JSON block pointing to the server’s directory and the uv run main.py command.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"arxiv semantic search": {
"arxiv-semantic-search-mcp": {
"command": "uv",
"args": [
"sync"
]
}
}
}
}
McpServers
{
"arxiv-semantic-search-mcp": {
"command": "uv",
"args": [
"sync"
]
}
}
arXiv Search MCP
A lightweight Model Context Protocol server that lets AI assistants query the arXiv API. It provides two powerful search approaches:
- Semantic Search: Uses vector embeddings to understand the meaning of your query, powered by ArxivSearch
> Note: Currently, semantic search only supports papers in Computer Science (cs.) categories
- Keyword Search: Supports structured queries with multiple filters including categories, date ranges, and field-specific searches
> Note: Supports papers from all arXiv categories
Requirements
Python 3.12 or higher
- uv package manager (dependency resolver & runner)
Getting Started
1. Clone & install dependencies
# Clone the repository
git clone https://github.com/icyclv/arxiv-semantic-search-mcp.git
cd arxiv-semantic-search-mcp
Install all project dependencies listed in pyproject.toml
uv sync
2. Run the server locally
# Start the MCP server
uv run main.py
Editor / Client Configuration
To use this MCP server with your AI assistant tools (e.g. Claude Desktop, VS Code MCP extension), add the following configuration:
{
"mcpServers": {
"arxiv-semantic-search": {
"command": "uv",
"args": [
"--directory",
"/path/to/arxiv-semantic-search-mcp", // Replace with actual path
"run",
"main.py"
]
}
}
}
Note: Replace /path/to/arxiv-semantic-search-mcp with the actual path where you cloned the repository.
Available Functions
| Function | Description |
| ----------------- | --------------------------------------------------------------------- |
| search_semantic | Semantic search for papers using natural language queries and embeddings |
| search_keyword | Search papers using structured keyword queries with multiple filters |
| get_details | Retrieve detailed information for a specific paper by arXiv ID |
| get_categories | Get list of arXiv categories and their descriptions |
| get_current_time| Get current server time in specified format |
See src/server.py for detailed documentation and examples.
Usage Examples
Semantic Search
# Search for papers about deep learning in computer vision
search_semantic(
query="recent advances in vision transformers for medical image segmentation",
categories=["cs.CV", "cs.AI"]
)
Keyword Search
# Search for recent machine learning papers in multiple categories
search_keyword(
categories=["cs.AI", "cs.LG"],
start_date="2024-01-01",
all_fields="transformer",
sort_by="submittedDate",
sort_order="descending"
)
Get Paper Details
# Get detailed information for a specific paper
get_details("2401.00001")
License
This project is released under the MIT License.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.

