Files
JoyD/pdf-reader-mcp/PLAN.md
2025-10-22 16:24:07 +08:00

2.1 KiB

Plan: PDF Reader MCP Tool Development

  1. Project Setup:

    • Clone https://github.com/shtse8/filesystem-mcp to c:/Users/shtse/pdf-reader. (Already done implicitly by user starting in this empty dir, but good to note).
    • Initialize Git and push to https://github.com/shtse8/pdf-reader-mcp.git. (User has done this).
    • Create Memory Bank directory and core files:
      • memory-bank/projectbrief.md
      • memory-bank/productContext.md
      • memory-bank/activeContext.md
      • memory-bank/systemPatterns.md
      • memory-bank/techContext.md
      • memory-bank/progress.md
  2. Technology Selection & Dependency:

    • Research and choose a suitable Node.js PDF processing library (e.g., pdf-parse or pdfjs-dist).
    • Add the chosen library to package.json dependencies.
  3. Feature Implementation:

    • Define MCP tool schemas and implement logic:
      • read_pdf_all_text: Extract all text. Input: { "path": "string" }
      • read_pdf_page_text: Extract text from specific pages. Input: { "path": "string", "pages": "number[] | string" }
      • get_pdf_metadata: Read metadata. Input: { "path": "string" }
      • get_pdf_page_count: Get total page count. Input: { "path": "string" }
    • Implement core functionality using the chosen PDF library.
    • Integrate new tools into the existing MCP server framework.
    graph TD
        subgraph "PDF Tool Implementation"
            A[Define read_pdf_all_text] --> B{Use PDF Library};
            C[Define read_pdf_page_text] --> B;
            D[Define get_pdf_metadata] --> B;
            E[Define get_pdf_page_count] --> B;
            B --> F[Implement Logic];
            F --> G[Integrate into MCP Server];
        end
    
  4. Documentation & Refinement:

    • Update README.md with new PDF tool descriptions and usage examples.
    • Update Memory Bank files (techContext.md, systemPatterns.md, progress.md).
  5. Handover:

    • Confirm plan with the user. (Done).
    • Save plan to PLAN.md. (This step).
    • Switch to "Code" mode for implementation.