A Python-based chatbot that helps users search and retrieve information from arXiv papers using natural language queries. The chatbot uses the Claude API for natural language processing, the arXiv API for paper searches, and integrates with the Model Context Protocol (MCP) for enhanced functionality.
- Search for papers on arXiv based on topics
- Store paper information (title, authors, summary, URL, publication date)
- Retrieve information about specific papers
- Interactive chat interface
- Organized storage of paper information by topics
- MCP integration for enhanced context and research capabilities
- Python 3.11 or higher
- Anthropic API key (for Claude API access)
- Node.js and npm (for MCP filesystem server)
- UV package manager (for Python dependencies)
- Clone the repository:
git clone <repository-url>
cd <repository-name>- Install the required packages:
uv pip install -r requirements.txt- Create a
.envfile in the project root directory and add your Anthropic API key:
anthropic_key=your_api_key_here
- Install MCP dependencies:
npm install -g @modelcontextprotocol/server-filesystemMCP_project/: Main project directoryresearch_server.py: MCP research server implementationpapers/: Directory where paper information is stored- Organized by topics in subdirectories
- Each topic directory contains a
papers_info.jsonfile
requirements.txt: Python package dependenciesclaude_desktop_config.json: MCP server configuration
The project uses three MCP servers:
- Filesystem Server: Manages file system operations
- Research Server: Handles research-related queries and operations
- Fetch Server: Manages data fetching operations
- Start the MCP servers:
# Start the research server
uv run research_server.py
# Start the filesystem server
npx @modelcontextprotocol/server-filesystem- Open the chat interface and start interacting with the chatbot. Example queries:
- "Search for 2 papers on LLM interpretability"
- "Find information about paper 1310.7911v2"
-
search_papers: Searches for papers on arXiv based on a topic- Parameters:
topic: The topic to search formax_results: Maximum number of results (default: 5)
- Parameters:
-
extract_info: Retrieves information about a specific paper- Parameters:
paper_id: The ID of the paper to look for
- Parameters:
- The chatbot integrates with MCP for enhanced context awareness
- Paper information is stored locally in JSON files
- The
papersdirectory is automatically created when searching for papers