ArXiv-MCP

MIT License
  • Linux
  • Apple

Integrations

  • Enables searching for academic papers using keywords, retrieving detailed information about specific papers by ID, extracting full text content from paper PDFs, and generating comprehensive summaries and analyses of papers from the arXiv repository.

  • Provides integration support for n8n workflows, with specific configuration guidance for connecting the MCP server from within n8n's containerized environment.

arXiv (전자 사전 인쇄본의 인기 있는 오픈 액세스 저장소)에서 학술 논문을 검색, 추출 및 분석할 수 있는 AI 에이전트를 지원하는 MCP(모델 컨텍스트 프로토콜) 서버 구현입니다.

개요

이 프로젝트는 AI 에이전트가 arXiv 저장소와 상호작용하고, 키워드를 기반으로 논문을 검색하고, 특정 논문에 대한 상세 정보를 검색하고, 심지어 논문의 내용을 추출 및 분석할 수 있도록 하는 MCP 서버를 제공합니다. 연구 지원을 위한 실용적인 도구이자 MCP 서버 구축을 위한 참조 구현 도구 역할을 합니다.

구현은 MCP 서버를 구축하기 위해 제시된 모범 사례를 따르므로 모든 MCP 호환 클라이언트와 원활하게 통합할 수 있습니다.

특징

이 서버는 학술 연구를 위한 여러 가지 강력한 도구를 제공합니다.

  1. search_papers : 키워드를 사용하여 arXiv에서 논문을 검색하고 포괄적인 요약을 받으세요
  2. get_paper_details : arXiv ID로 특정 논문에 대한 자세한 정보를 검색합니다.
  3. extract_paper_content : 논문의 PDF에서 전체 텍스트 콘텐츠를 다운로드하고 추출합니다.
  4. analyze_paper : 논문의 내용을 분석하고 포괄적인 요약을 생성합니다.

필수 조건

  • 파이썬 3.11+
  • MCP 서버를 컨테이너로 실행하는 경우 Docker(권장)

설치

uv를 사용하여

  1. uv가 없다면 설치하세요:지엑스피1
  2. 이 저장소를 복제하세요:
    git clone https://github.com/kelvingao/arxiv-mcp.git cd arxiv-mcp
  3. 종속성 설치:
    uv pip install -e .
  4. .env.example 기반으로 .env 파일을 만듭니다.
    cp .env.example .env
  5. .env 파일에서 환경 변수를 구성합니다(구성 섹션 참조)

Docker 사용(권장)

  1. Docker 이미지를 빌드합니다.
    docker build -t mcp/arxiv --build-arg PORT=8050 .
  2. .env.example 을 기반으로 .env 파일을 만들고 환경 변수를 구성합니다.

구성

다음 환경 변수는 .env 파일에서 구성할 수 있습니다.

변하기 쉬운설명
TRANSPORT전송 프로토콜(sse 또는 stdio)sse
HOSTSSE 전송을 사용할 때 바인딩할 호스트0.0.0.0
PORTSSE 전송을 사용할 때 수신할 포트8050

서버 실행

uv를 사용하여

SSE 운송

# Set TRANSPORT=sse in .env then: python src/server.py

MCP 서버는 아래에 표시된 구성으로 연결할 수 있는 API 엔드포인트로 실행됩니다.

Stdio Transport

stdio를 사용하면 MCP 클라이언트 자체가 MCP 서버를 시작할 수 있으므로 이 시점에서는 실행할 것이 없습니다.

Docker 사용

SSE 운송

docker run --env-file .env -p 8050:8050 mcp/arxiv

MCP 서버는 아래에 표시된 구성으로 연결할 수 있는 컨테이너 내의 API 엔드포인트로 실행됩니다.

Stdio Transport

stdio를 사용하면 MCP 클라이언트 자체가 MCP 서버 컨테이너를 시작할 수 있으므로 이 시점에서는 실행할 것이 없습니다.

MCP 클라이언트와의 통합

SSE 구성

SSE 전송으로 서버를 실행하면 다음 구성을 사용하여 서버에 연결할 수 있습니다.

{ "mcpServers": { "arxiv": { "transport": "sse", "url": "http://localhost:8050/sse" } } }

Windsurf 사용자를 위한 참고 사항 : 구성에서 url 대신 serverUrl 사용하세요.

{ "mcpServers": { "arxiv": { "transport": "sse", "serverUrl": "http://localhost:8050/sse" } } }

n8n 사용자를 위한 참고 사항 : n8n은 자체 컨테이너 외부에서 호스트 머신에 접속해야 하므로 localhost 대신 host.docker.internal을 사용하세요.

따라서 MCP 노드의 전체 URL은 http://host.docker.internal:8050/sse 가 됩니다.

기본 8050이 아닌 다른 값을 사용하는 경우 포트를 업데이트해야 합니다.

Stdio 구성을 사용한 Python

Claude Desktop, Windsurf 또는 기타 MCP 클라이언트에 대한 MCP 구성에 이 서버를 추가하세요.

{ "mcpServers": { "arxiv": { "command": "your/path/to/arxiv-mcp/.venv/bin/python", "args": ["your/path/to/arxiv-mcp/src/main.py"], "env": { "TRANSPORT": "stdio" } } } }

Stdio 구성을 사용한 Docker

{ "mcpServers": { "arxiv": { "command": "docker", "args": ["run", "--rm", "-i", "-e", "TRANSPORT", "mcp/arxiv"], "env": { "TRANSPORT": "stdio" } } } }

사용 예

다음은 AI 에이전트와 함께 arXiv MCP 서버를 사용하는 방법에 대한 몇 가지 예입니다.

논문 검색

Find recent papers about quantum computing published in the last year.

논문 세부 정보 얻기

Get details for the paper with arXiv ID 2303.08774

종이 내용 추출

Extract the full text from the paper with arXiv ID 2303.08774

논문 분석

Analyze the methodology section of the paper with arXiv ID 2303.08774

나만의 MCP 서버 구축

이 구현은 더욱 복잡한 MCP 서버를 구축하기 위한 기반을 제공합니다. 직접 구축하려면 다음을 수행하세요.

  1. @mcp.tool() 데코레이터를 사용하여 메서드를 생성하여 고유한 도구를 추가하세요.
  2. 자체 종속성(클라이언트, 데이터베이스 연결 등)을 추가하려면 자체 수명 함수를 만듭니다.
  3. 기존 도구를 수정하거나 새로운 도구를 추가하여 기능을 향상시킵니다.
  4. @mcp.resource()@mcp.prompt() 사용하여 프롬프트와 리소스를 추가합니다.

특허

MIT 라이센스

감사의 말

-
security - not tested
A
license - permissive license
-
quality - not tested

AI 에이전트가 arXiv에서 학술 논문을 검색, 추출 및 분석할 수 있도록 하는 모델 컨텍스트 프로토콜 서버로, 키워드 검색, 논문 세부 정보 검색, 콘텐츠 추출 및 논문 분석과 같은 기능을 지원합니다.

  1. Features
    1. Prerequisites
      1. Installation
        1. Using uv
        2. Using Docker (Recommended)
      2. Configuration
        1. Running the Server
          1. Using uv
          2. Using Docker
        2. Integration with MCP Clients
          1. SSE Configuration
          2. Python with Stdio Configuration
          3. Docker with Stdio Configuration
        3. Usage Examples
          1. Searching for Papers
          2. Getting Paper Details
          3. Extracting Paper Content
          4. Analyzing a Paper
        4. Building Your Own MCP Server
          1. License
            1. Acknowledgements
              ID: 8qnsbe8xkh