MCP_PDF_Server
If you are the rightful owner of MCP_PDF_Server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
MCP PDF Server๋ PDF ํ์ผ์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๋ Model Context Protocol(MCP) ๊ธฐ๋ฐ ์๋ฒ์ ๋๋ค.
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)๋ก ์คํํ๊ธฐ
-
์ด๋ฏธ์ง ๋น๋
docker build -t mcp-pdf-server:1.0.0 .
-
์ปจํ ์ด๋ ์คํ
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 ํฌํธ๊ฐ ์ฌ์ฉ๋ฉ๋๋ค.
-
docker-compose ์ฌ์ฉ์
# docker-compose.yml์ /path/to/your/datasheets๋ฅผ ์ค์ PDF ํด๋ ๊ฒฝ๋ก๋ก ์์ ํ์ธ์. docker-compose up -d --build
๋ก์ปฌ(Python)์์ ์ง์ ์คํํ๊ธฐ
-
์์กด์ฑ ์ค์น
pip install -r requirements.txt
-
์๋ฒ ์คํ
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