ข้ามไปยังเนื้อหา

ภาพรวมของเซิร์ฟเวอร์ NextPDF Connect

NextPDF Connect คือแพ็กเกจ nextpdf/server ซึ่งเป็นบริการที่ทำงานระยะยาวเพื่อให้ AI agent และไคลเอนต์ HTTP เข้าถึงเอนจิน NextPDF PDF 2.0 ได้ บริการนี้รองรับทรานสปอร์ตสามแบบ ได้แก่ Model Context Protocol (MCP) ผ่าน stdio, REST API และ gRPC ทรานสปอร์ตทั้งสามแบบใช้รีจิสทรีเครื่องมือเดียวกันและเกตยืนยันโดยมีมนุษย์อยู่ในกระบวนการ (HITL) เพียงเกตเดียว

Terminal window
composer require nextpdf/server

ข้อกำหนดของ Composer ระบุให้ใช้ nextpdf/core: ^3.0 ร่วมกับ php: >=8.4 <9.0 สำหรับขั้นตอนแบบครบถ้วน ดู /connect/install/ หน้านั้นยังครอบคลุมส่วนเสริมแบบเลือกใช้ได้สองรายการ ได้แก่ ส่วนขยาย ext-redis และแพ็กเกจ nextpdf/premium ด้วย

nextpdf/server แปลงแกน NextPDF ที่ไม่ผูกกับเฟรมเวิร์กให้เป็นพื้นผิวบริการ แพ็กเกจนี้ไม่ได้สร้างกระบวนการสร้าง PDF ขึ้นใหม่ แต่ห่อหุ้มความสามารถแต่ละอย่างของเอนจินให้เป็นเครื่องมือที่มีชื่อและมีสคีมาของตนเอง จากนั้นให้บริการแคตตาล็อกนั้นผ่านโปรโตคอลสื่อสารหลายแบบ

การออกแบบทั้งหมดตั้งอยู่บนแนวคิดสามอย่างดังนี้

  • รีจิสทรีเครื่องมือ NextPDF\Server\ToolRegistry ค้นหาและลงทะเบียนเครื่องมือในขณะบูต ชุดเครื่องมือหลักมาพร้อมกับแพ็กเกจและพร้อมใช้งานเสมอ ผู้ให้บริการระดับ Pro และ Enterprise ลงทะเบียนเครื่องมือเพิ่มเติม แต่ เฉพาะ เมื่อมีการติดตั้งแพ็กเกจที่ตรงกันแล้วเท่านั้น จำนวนเครื่องมือที่เปิดให้ใช้งานเป็นคุณสมบัติของการดีพลอย ณ ขณะรัน ไม่ใช่ค่าคงที่ตายตัว ดู /connect/tool-catalog/

  • ทรานสปอร์ต รีจิสทรีเดียวกันนี้ให้บริการในสามรูปแบบ MCP ทำงานผ่าน stdio สำหรับไคลเอนต์ AI ในเครื่อง REST ทำงานผ่านไปป์ไลน์มิดเดิลแวร์ PSR-15 บน worker pool ของ RoadRunner สำหรับไคลเอนต์บนเครือข่าย และ gRPC ทำงานบน worker gRPC ของ Spiral RoadRunner สำหรับไคลเอนต์แบบมีชนิดและสตรีมมิง ทรานสปอร์ตแต่ละแบบเป็นโปรเซสของตนเองและมีจุดเข้า (entry point) ของตนเอง ดู /transports/mcp/, /transports/rest/ และ /transports/grpc/

  • เกตยืนยัน เครื่องมือทุกตัวประกาศระดับความเสี่ยงของตน เครื่องมือที่อยู่ในระดับสูงสุดต้องได้รับการยืนยันจากมนุษย์อย่างชัดเจนก่อนจึงจะทำงาน เกตจะออกโทเคนท้าทาย (challenge token) ที่ใช้ได้เพียงครั้งเดียว เอเจนต์ต้องส่งโทเคนนั้นให้มนุษย์ แล้วเรียกใช้เครื่องมืออีกครั้งพร้อมโทเคนดังกล่าว ดู /connect/hitl-risk-tiers/

แผนภาพด้านล่างแสดงว่ารีจิสทรีเดียวให้บริการทรานสปอร์ตทั้งสามแบบอย่างไร และแสดงตำแหน่งของเกตยืนยันบนเส้นทางของคำขอด้วย

NextPDF Connect component architectureOne tool registry is served over three transports, and high-risk tool calls pass through a single human-in-the-loop confirmation gate before reaching the engine.

stdio

HTTP

gRPC

No

Yes

class_exists probe

Local AI client

MCP server

Networked client

REST server

Typed or streaming client

gRPC server

Tool registry

High risk?

NextPDF PDF 2.0 engine

Human confirmation token

Pro and Enterprise providers

NextPDF Connect component architecture

แพ็กเกจนี้ใช้สัญญาอนุญาต Apache-2.0 ซึ่งตรงกับ nextpdf/core เวอร์ชันของโปรโตคอล MCP ที่นำมาใช้คือฉบับแก้ไขลงวันที่ 2025-06-18 เอกสาร OpenAPI 3.1 อธิบายพื้นผิว REST และแพ็กเกจ Protocol Buffers nextpdf.connect.v1 อธิบายพื้นผิว gRPC

จุดเข้าสาธารณะคือคลาสเซิร์ฟเวอร์สามคลาส โดยแต่ละคลาสมีตัวห่อหุ้มแบบส่วนต่อประสานบรรทัดคำสั่ง (CLI) ดังนี้

จุดเข้าคลาสทรานสปอร์ต
bin/nextpdf-mcpNextPDF\Server\Mcp\McpServerMCP ผ่าน stdio
bin/nextpdf-serverNextPDF\Server\Http\HttpServerREST ผ่าน RoadRunner HTTP
bin/nextpdf-grpcNextPDF\Server\Grpc\GrpcServergRPC ผ่าน RoadRunner gRPC
bin/generate-skillsNextPDF\Server\Skills\SkillsDumperการส่งออกแคตตาล็อกเครื่องมือ

McpServer::create(), HttpServer::create() และ GrpcServer::create() แต่ละตัวสร้างเซิร์ฟเวอร์ที่ตั้งค่าครบถ้วนจากอินพุตสภาพแวดล้อมและการกำหนดค่า รีจิสทรี ที่จัดเก็บเอกสาร นโยบายความปลอดภัย และเกตยืนยันเป็นแนวคิดที่ใช้ร่วมกันในเซิร์ฟเวอร์ทั้งสามตัว

เซิร์ฟเวอร์ MCP ขั้นต่ำต้องใช้คำสั่งเพียงคำสั่งเดียว ไม่จำเป็นต้องเขียนโค้ดเชื่อม (glue code) ภาษา PHP เพิ่มเติม

Terminal window
./vendor/bin/nextpdf-mcp

เซิร์ฟเวอร์อ่านคำขอ JSON-RPC จากอินพุตมาตรฐาน และเขียนการตอบกลับไปยังเอาต์พุตมาตรฐาน สำหรับการแลกเปลี่ยน initialize และ tools/list ที่รันได้จริง รวมถึงคำขอ REST ที่ตรงกัน ดู /connect/quickstart/

  • จำนวนเครื่องมือไม่ใช่ 33 หรือจำนวนตายตัวใด ๆ เซิร์ฟเวอร์นับจำนวนเครื่องมือ ณ ขณะรันด้วย count(ToolRegistry::all()) หลังจากการกรองตามนโยบายและการตรวจหาระดับชั้น เอกสารที่อ้างยอดรวมแบบตายตัวถือว่าล้าสมัย หากต้องการจำนวนที่เป็นทางการ ให้สอบถามเซิร์ฟเวอร์ที่กำลังทำงานอยู่ โดยใช้การตอบกลับ initialize ของ MCP หรือเอนด์พอยต์ /api/v1/capabilities ของ REST
  • การไม่มีแพ็กเกจระดับ Pro หรือ Enterprise ไม่ถือเป็นข้อผิดพลาด รีจิสทรีตรวจสอบคลาสของผู้ให้บริการด้วย class_exists() แล้วข้ามระดับชั้นที่ไม่มีอยู่โดยไม่รายงานข้อผิดพลาด การดีพลอยแบบโอเพนซอร์สเพียงอย่างเดียวจะบูตและให้บริการแคตตาล็อกหลักได้ตามปกติ

  • ทรานสปอร์ตทั้งสามแบบไม่ได้ใช้โปรเซสร่วมกัน การรันเซิร์ฟเวอร์ MCP ไม่ได้เริ่มเซิร์ฟเวอร์ REST หรือเซิร์ฟเวอร์ gRPC และกรณีกลับกันก็เช่นเดียวกัน การดีพลอยแบบรวมจะรัน RoadRunner supervisor ด้วยการกำหนดค่าที่เริ่ม worker pool ทั้งสอง คือ HTTP pool และ gRPC pool ดู /connect/deployment/

ทรานสปอร์ตแต่ละแบบทำงานโดยอาศัย worker โดย worker หนึ่งตัวจัดการคำขอได้ครั้งละหนึ่งคำขอ เซิร์ฟเวอร์ REST และ gRPC ทำงานบน worker pool ของ RoadRunner และการกำหนดค่าเป็นตัวกำหนดขนาดของ pool ค่าเริ่มต้นคือ HTTP worker จำนวนสี่ตัว RoadRunner supervisor จำกัดหน่วยความจำของ worker แต่ละตัว front-matter performance_budget ในหน้านี้อธิบายขอบเขตของการบูตแบบเย็น (cold boot) และการค้นพบ (discovery) ไม่ใช่เป้าหมายรายคำขอ การทำงานของเอนจินที่อยู่เบื้องหลังเป็นตัวกำหนดต้นทุนของคำขอเป็นส่วนใหญ่

ทรานสปอร์ตบนเครือข่ายทั้งหมดตรวจสอบตัวตนด้วย bearer token ที่เป็นคีย์ API ทรานสปอร์ต MCP stdio เป็นซับโปรเซสในเครื่องที่ไคลเอนต์ซึ่งเปิดใช้งานเชื่อถือ ตามแบบจำลองทรานสปอร์ตของ MCP เครื่องมือที่มีความเสี่ยงสูงยังคงถูกควบคุมด้วยการยืนยันจากมนุษย์ในทุกทรานสปอร์ต สำหรับแบบจำลองภัยคุกคามฉบับเต็ม แบบจำลองการยืนยันตัวตน และการกำหนดค่าความปลอดภัยของทรานสปอร์ต ดู /connect/security-and-operations/

หน้านี้กล่าวเฉพาะข้อความเชิงสถาปัตยกรรมเท่านั้น การอ้างอิงด้านโปรโตคอลและความปลอดภัยที่เป็นบรรทัดฐานถูกตรึงไว้ในหน้าที่ระบุพฤติกรรม ได้แก่ /connect/security-and-operations/, /transports/mcp/, /transports/rest/ และ /transports/grpc/ เอกสารอ้างอิงวงจรชีวิตของ MCP คือข้อกำหนดอย่างเป็นทางการที่ modelcontextprotocol.io (ฉบับแก้ไข 2025-06-18) หน้าทรานสปอร์ตบันทึกการอ้างอิงดังกล่าวพร้อม URL เนื่องจากข้อกำหนด MCP ไม่ได้เป็นส่วนหนึ่งของคลังมาตรฐานแบบควบคุมการเข้าถึง

แคตตาล็อกหลักครอบคลุมการสร้างเอกสาร การตรวจสอบ และการวินิจฉัย เครื่องมือสำหรับการลงนาม การปกปิดข้อมูล (redaction) การรับรองความสอดคล้อง และการวิเคราะห์เชิงนิติวิทยาศาสตร์จะปรากฏก็ต่อเมื่อมีการติดตั้ง nextpdf/premium ควบคู่ไปกับเซิร์ฟเวอร์เท่านั้น นี่เป็นขอบเขตระดับแพ็กเกจ ไม่ใช่การกระตุ้นให้ซื้อเพิ่ม (upsell) ขณะรัน เซิร์ฟเวอร์ไม่ส่งเนื้อหาการตลาดออกมาเลย

  • /connect/install/ — การติดตั้งและแพ็กเกจที่เลือกใช้ได้
  • /connect/quickstart/ — การแลกเปลี่ยน MCP และ REST ที่รันได้จริงครั้งแรก
  • /connect/tool-catalog/ — ชุดเครื่องมือหลักที่ผ่านการตรวจสอบ และเหตุที่จำนวนขึ้นอยู่กับขณะรัน
  • /connect/hitl-risk-tiers/ — เกตยืนยันและแบบจำลองความเสี่ยง
  • /transports/mcp/, /transports/rest/, /transports/grpc/ — การตั้งค่าแยกตามทรานสปอร์ต
  • /connect/security-and-operations/ — การยืนยันตัวตน ความปลอดภัยของทรานสปอร์ต แบบจำลองภัยคุกคาม
  • /connect/deployment/ — RoadRunner, Docker และการดีพลอยแบบรวมทรานสปอร์ต