MCP PDF Server

MCP PDF Server

A Model Context Protocol (MCP) based server that efficiently manages PDF files, allowing AI coding tools like Cursor to read, summarize, and extract information from PDF datasheets to assist embedded development work.

Category
Visit Server

README

MCP PDF Server

MCP PDF Server는 PDF 파일을 효율적으로 관리할 수 있는 Model Context Protocol(MCP) 기반 서버입니다.

이 프로젝트는 임베디드 개발자인 제가, Cursor와 같은 AI 코딩 도구에서 PDF 데이터시트 문서를 직접 읽고 요약하거나, 질의응답 등으로 개발 업무를 더 편리하게 할 수 있도록 만들었습니다. 즉, AI가 PDF 데이터시트의 내용을 빠르게 파악하고, 필요한 정보를 바로 제공해줄 수 있도록 지원하는 것이 주된 목적입니다.

이 프로젝트는 두 개의 주요 컴포넌트로 구성되어 있습니다:

  • manager_server: FastAPI 기반의 웹페이지로, 사용자가 웹 UI를 통해 PDF 파일을 업로드하거나 다운로드하고, 파일 목록을 조회·관리할 수 있는 기능을 제공합니다. 또한 외부 시스템과의 연동을 위한 RESTful API도 함께 제공합니다.
  • mcp_server: manager_server에서 관리하는 PDF 파일을 기반으로, 파일명 검색 및 텍스트 추출 기능을 제공합니다. 추출된 텍스트는 MCP 프로토콜을 통해 외부 시스템(예: Cursor 등)과 연동할 수 있습니다.

주요 기능:

  • PDF 텍스트 추출 (로컬 파일 및 URL 지원)
  • 파일명 기반 PDF 검색
  • PDF 목록 조회 및 관리
  • PDF 파일 웹 업로드/다운로드 지원
  • RESTful API 및 웹 서비스 제공
  • MCP 프로토콜을 통한 외부 시스템(Curator, Cursor 등) 연동

RESTful API와 웹 UI를 통해 외부 시스템과 쉽게 연동할 수 있으며, Docker와 로컬 환경 모두에서 손쉽게 배포 및 운영이 가능합니다. 데이터시트·논문·계약서 등 다양한 PDF 문서의 자동화된 관리와 검색에 적합합니다.

주요 특징

  • 로컬 PDF 파일 및 URL로 접근 가능한 PDF에서 텍스트 추출
  • /app/datasheets 하위의 PDF 파일 목록 제공
  • 파일명으로 PDF 검색 기능 제공
  • PyPDF2 기반의 안정적인 텍스트 추출 및 예외 처리
  • FastMCP 기반의 표준화된 MCP 툴 제공

도커(Docker)로 실행하기

  1. 이미지 빌드

    docker build -t mcp-pdf-server:1.0.0 .
    
  2. 컨테이너 실행

    docker run -d \
      -v /호스트/경로/데이터:/app/datasheets \
      -p 5050:5050 \
      -p 5080:5080 \
      --name mcp-pdf-server \
      mcp-pdf-server:1.0.0
    
    • /호스트/경로/데이터에 PDF 파일을 넣으면 컨테이너 내부 /app/datasheets에서 접근할 수 있습니다.
    • 5050, 5080 포트가 사용됩니다.
  3. docker-compose 사용시

    # docker-compose.yml의 /path/to/your/datasheets를 실제 PDF 폴더 경로로 수정하세요.
    docker-compose up -d --build
    

로컬(Python)에서 직접 실행하기

  1. 의존성 설치

    pip install -r requirements.txt
    
  2. 서버 실행

    python mcp_server/mcp_pdf_server.py
    # 또는
    uvicorn manager_server.main:app --host 0.0.0.0 --port 5080
    

MCP 툴(API) 설명

  • read_local_pdf
    로컬 PDF 파일 경로를 입력받아 텍스트를 추출합니다.

  • read_url_pdf
    PDF 파일의 URL을 입력받아 텍스트를 추출합니다.

  • server_pdf_list
    /app/datasheets 하위의 모든 PDF 파일 목록을 반환합니다.

  • server_pdf_search
    파일명을 입력받아 서버에 있는 PDF 파일을 검색하고, 해당 PDF의 텍스트를 추출합니다.

경로 안내

  • PDF 데이터는 반드시 /app/datasheets 경로(도커 컨테이너 내부)에 위치해야 합니다.
  • 도커 사용 시, 호스트의 PDF 폴더를 /app/datasheets로 마운트하세요.
  • 소스코드는 /app/mcp_server에 위치합니다(컨테이너 내부 기준).

라이선스

Apache License 2.0
저자: Dev91

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured