Sponsored bySlim Tools

Kontent.ai

ทางการ

สร้าง จัดการ และสำรวจเนื้อหาและโมเดลเนื้อหาของคุณโดยใช้ภาษาธรรมชาติในเครื่องมือ AI ที่รองรับ MCP ใดๆ

คุณทำอะไรได้บ้างด้วย Kontent Ai MCP?

  • Create and manage content types — Build or modify structured content models using create-content-type and patch-content-type.
  • Manage content items and translations — Create, update, search, and delete content items and their language variants with list-content-item-variants and update-content-item-variant.
  • Control publishing workflows — Move content through workflow steps, publish, or unpublish variants using change-content-item-variant-workflow-step and publish-content-item-variant.
  • Organize taxonomies and collections — Create and patch taxonomy groups and collections to structure content with create-taxonomy-group and patch-collections.
  • Search content by meaning — Find content items using semantic search via search-content-item-variants when you don’t know exact keywords.

เอกสาร

Kontent.ai MCP Server

NPM Version Contributors Forks Stargazers Issues MIT License Discord

เปลี่ยนโฉมการดำเนินงานด้านเนื้อหาของคุณด้วยเครื่องมือที่ขับเคลื่อนด้วย AI สำหรับ Kontent.ai สร้าง จัดการ และสำรวจเนื้อหาที่มีโครงสร้างของคุณผ่านการสนทนาด้วยภาษาธรรมชาติในโปรแกรมแก้ไขที่เปิดใช้งาน AI ที่คุณชื่นชอบ

Kontent.ai MCP Server ใช้ Model Context Protocol เพื่อเชื่อมต่อโปรเจกต์ Kontent.ai ของคุณกับเครื่องมือ AI อย่าง Claude, Cursor และ VS Code ซึ่งช่วยให้โมเดล AI เข้าใจโครงสร้างเนื้อหาของคุณและดำเนินการต่างๆ ผ่านคำสั่งภาษาธรรมชาติ

✨ คุณสมบัติหลัก

  • 🚀 การสร้างต้นแบบอย่างรวดเร็ว: เปลี่ยนไดอะแกรมของคุณให้เป็นโมเดลเนื้อหาที่ใช้งานได้จริงในไม่กี่วินาที
  • 📈 การแสดงข้อมูลเป็นภาพ: แสดงภาพโมเดลเนื้อหาของคุณในรูปแบบใดก็ได้ตามที่คุณต้องการ

สารบัญ

🔌 เริ่มต้นอย่างรวดเร็ว

🔑 ข้อกำหนดเบื้องต้น

ก่อนที่คุณจะสามารถใช้เซิร์ฟเวอร์ MCP ได้ คุณต้องมี:

  1. บัญชี Kontent.ai - ลงทะเบียน หากคุณยังไม่มีบัญชี
  2. โปรเจกต์ - สร้างโปรเจกต์ เพื่อใช้งาน
  3. คีย์ Management API - สร้างคีย์ พร้อมสิทธิ์ที่เหมาะสม
  4. Environment ID - รับ Environment ID ของคุณ

🛠 ตัวเลือกการตั้งค่า

คุณสามารถรัน Kontent.ai MCP Server ด้วย npx:

การขนส่งแบบ STDIO

npx @kontent-ai/mcp-server@latest stdio

การขนส่งแบบ Streamable HTTP

npx @kontent-ai/mcp-server@latest shttp

🛠️ เครื่องมือที่พร้อมใช้งาน

คู่มือการดำเนินการ Patch

  • get-patch-guide – 🚨 จำเป็นก่อนการดำเนินการ patch ใดๆ รับคู่มือการดำเนินการ patch สำหรับ Kontent.ai ตามประเภทเอนทิตี

การจัดการชนิดเนื้อหา

  • get-content-type – รับชนิดเนื้อหา Kontent.ai ตาม ID
  • list-content-types – รับชนิดเนื้อหา Kontent.ai ทั้งหมด
  • create-content-type – สร้างชนิดเนื้อหา Kontent.ai ใหม่
  • patch-content-type – อัปเดตชนิดเนื้อหา Kontent.ai ที่มีอยู่ตามชื่อโค้ดโดยใช้การดำเนินการ patch (move, addInto, remove, replace)
  • delete-content-type – ลบชนิดเนื้อหา Kontent.ai ตาม ID

การจัดการส่วนย่อยของชนิดเนื้อหา

  • get-content-type-snippet – รับส่วนย่อยของชนิดเนื้อหา Kontent.ai ตาม ID
  • list-content-type-snippets – รับส่วนย่อยของชนิดเนื้อหา Kontent.ai ทั้งหมด
  • create-content-type-snippet – สร้างส่วนย่อยของชนิดเนื้อหา Kontent.ai ใหม่
  • patch-content-type-snippet – อัปเดตส่วนย่อยของชนิดเนื้อหา Kontent.ai ที่มีอยู่ตาม ID โดยใช้การดำเนินการ patch (move, addInto, remove, replace)
  • delete-content-type-snippet – ลบส่วนย่อยของชนิดเนื้อหา Kontent.ai ตาม ID

การจัดการหมวดหมู่

  • get-taxonomy-group – รับกลุ่มหมวดหมู่ Kontent.ai ตาม ID
  • list-taxonomy-groups – รับกลุ่มหมวดหมู่ Kontent.ai ทั้งหมด
  • create-taxonomy-group – สร้างกลุ่มหมวดหมู่ Kontent.ai ใหม่
  • patch-taxonomy-group – อัปเดตกลุ่มหมวดหมู่ Kontent.ai โดยใช้การดำเนินการ patch (addInto, move, remove, replace)
  • delete-taxonomy-group – ลบกลุ่มหมวดหมู่ Kontent.ai ตาม ID

การจัดการรายการเนื้อหา

  • get-content-item – รับรายการเนื้อหา Kontent.ai ตาม ID
  • get-content-item-variant – ดึงข้อมูลตัวแปรรายการเนื้อหา Kontent.ai (เวอร์ชันภาษา/การแปล) ส่งคืนเวอร์ชันปัจจุบัน — ฉบับร่างหากมี มิฉะนั้นจะเป็นฉบับที่เผยแพร่แล้ว
  • get-published-content-item-variant-version – ดึงข้อมูลเวอร์ชันที่เผยแพร่แล้วของตัวแปรรายการเนื้อหา Kontent.ai ใช้เมื่อมีเวอร์ชันฉบับร่างที่ใหม่กว่า แต่คุณต้องการเนื้อหาที่เผยแพร่แล้ว (สด) ในปัจจุบัน
  • get-content-item-translations – รับการแปลรายการเนื้อหา Kontent.ai ทั้งหมด — ทุกเวอร์ชันภาษา (ตัวแปร) ของรายการเนื้อหาเฉพาะ
  • list-content-item-variants – แสดงรายการ กรอง ค้นหารายการเนื้อหา Kontent.ai พร้อมตัวแปรรายการเนื้อหา (เวอร์ชันภาษา/การแปล)
  • create-content-item – สร้างรายการเนื้อหา Kontent.ai ใหม่ (สร้างเฉพาะคอนเทนเนอร์ ใช้ create-content-item-variant เพื่อเพิ่มเวอร์ชันภาษา/การแปล)
  • update-content-item – อัปเดตรายการเนื้อหา Kontent.ai ที่มีอยู่ตาม ID รายการเนื้อหาต้องมีอยู่แล้ว - เครื่องมือนี้จะไม่สร้างรายการใหม่
  • delete-content-item – ลบรายการเนื้อหา Kontent.ai ตาม ID
  • create-content-item-variant – สร้างตัวแปรรายการเนื้อหา Kontent.ai โดยกำหนดผู้ใช้ปัจจุบันเป็นผู้มีส่วนร่วม ค่าองค์ประกอบต้องเป็นไปตามข้อจำกัดและแนวทางที่กำหนดไว้ในชนิดเนื้อหา ส่งเฉพาะองค์ประกอบที่คุณต้องการตั้งค่า องค์ประกอบที่ละไว้จะเริ่มต้นเป็นค่าว่าง
  • update-content-item-variant – อัปเดตตัวแปรรายการเนื้อหาของรายการเนื้อหา Kontent.ai ค่าองค์ประกอบต้องเป็นไปตามข้อจำกัดและแนวทางที่กำหนดไว้ในชนิดเนื้อหา ส่งเฉพาะองค์ประกอบที่คุณต้องการเปลี่ยนแปลง — องค์ประกอบที่ละไว้จะไม่ถูกแตะต้อง สำหรับองค์ประกอบ rich-text ที่มีคอมโพเนนต์ ให้ส่งองค์ประกอบแบบเต็ม (ค่าพร้อมกับอาร์เรย์คอมโพเนนต์ที่สมบูรณ์ รวมถึงคอมโพเนนต์ที่ไม่ได้ถูกแตะต้อง)
  • create-new-content-item-variant-version – สร้างเวอร์ชันใหม่ของตัวแปรรายการเนื้อหา Kontent.ai การดำเนินการนี้สร้างเวอร์ชันใหม่ของตัวแปรรายการเนื้อหาที่มีอยู่ มีประโยชน์สำหรับการกำหนดเวอร์ชันเนื้อหาและการสร้างฉบับร่างใหม่จากเนื้อหาที่เผยแพร่แล้ว
  • delete-content-item-variant – ลบตัวแปรรายการเนื้อหา Kontent.ai
  • bulk-get-content-item-variants – รับรายการเนื้อหา Kontent.ai แบบกลุ่มพร้อมตัวแปรรายการเนื้อหาตามคู่การอ้างอิงรายการและภาษา ใช้หลังจาก list-content-item-variants เพื่อดึงข้อมูลเนื้อหาทั้งหมดสำหรับคู่รายการ+ภาษาเฉพาะ รายการที่ไม่มีตัวแปรในภาษาที่ร้องขอจะส่งคืนรายการโดยไม่มีคุณสมบัติตัวแปร ส่งคืนผลลัพธ์แบบแบ่งหน้าพร้อมโทเค็นการดำเนินการต่อ
  • search-content-item-variants – การค้นหาเชิงความหมายที่ขับเคลื่อนด้วย AI สำหรับการค้นหาเนื้อหาตามความหมายและแนวคิดในตัวแปรรายการเนื้อหาเฉพาะ ใช้สำหรับ: การค้นหาเชิงแนวคิดเมื่อคุณไม่ทราบคำสำคัญที่แน่นอน ตัวเลือกการกรองมีจำกัด (เฉพาะ ID ตัวแปร)

การจัดการแอสเซท

  • get-asset – รับแอสเซท Kontent.ai เฉพาะตาม ID
  • list-assets – รับแอสเซท Kontent.ai ทั้งหมด
  • update-asset – อัปเดตแอสเซท Kontent.ai ตาม ID

การจัดการโฟลเดอร์แอสเซท

  • list-asset-folders – แสดงรายการโฟลเดอร์แอสเซท Kontent.ai ทั้งหมด
  • patch-asset-folders – แก้ไขโฟลเดอร์แอสเซท Kontent.ai โดยใช้การดำเนินการ patch (addInto เพื่อเพิ่มโฟลเดอร์ใหม่, rename เพื่อเปลี่ยนชื่อ, remove เพื่อลบโฟลเดอร์)

การจัดการภาษา

  • list-languages – รับภาษา Kontent.ai ทั้งหมด (รวมทั้งที่ใช้งานอยู่และไม่ใช้งาน - ตรวจสอบคุณสมบัติ is_active)
  • create-language – สร้างภาษา Kontent.ai ใหม่ (ภาษาจะถูกสร้างเป็นใช้งานอยู่เสมอ)
  • patch-language – อัปเดตภาษา Kontent.ai โดยใช้การดำเนินการ replace (เฉพาะภาษาที่ใช้งานอยู่เท่านั้นที่สามารถแก้ไขได้ - หากต้องการเปิดใช้งาน/ปิดใช้งาน ให้ใช้ UI เว็บของ Kontent.ai)

การจัดการคอลเลกชัน

  • list-collections – รับคอลเลกชัน Kontent.ai ทั้งหมด คอลเลกชันกำหนดขอบเขตสำหรับรายการเนื้อหาในสภาพแวดล้อมของคุณและช่วยจัดระเบียบเนื้อหาตามทีม แบรนด์ หรือโปรเจกต์
  • patch-collections – อัปเดตคอลเลกชัน Kontent.ai โดยใช้การดำเนินการ patch (addInto เพื่อเพิ่มคอลเลกชันใหม่, move เพื่อเรียงลำดับใหม่, remove เพื่อลบคอลเลกชันว่าง, replace เพื่อเปลี่ยนชื่อ)

การจัดการพื้นที่

  • list-spaces – รับพื้นที่ Kontent.ai ทั้งหมด
  • create-space – สร้างพื้นที่ Kontent.ai ใหม่สำหรับจัดการเว็บไซต์หรือช่องทาง
  • patch-space – แก้ไขพื้นที่ Kontent.ai โดยใช้การดำเนินการ replace
  • delete-space – ลบพื้นที่ Kontent.ai

การจัดการบทบาท

  • list-roles – รับบทบาท Kontent.ai ทั้งหมด ต้องใช้แผน Enterprise หรือ Flex พร้อมสิทธิ์ "Manage custom roles"

การจัดการเวิร์กโฟลว์

  • list-workflows – รับเวิร์กโฟลว์ Kontent.ai ทั้งหมด เวิร์กโฟลว์กำหนดขั้นตอนวงจรชีวิตของเนื้อหาและการเปลี่ยนผ่านระหว่างขั้นตอนเหล่านั้น
  • create-workflow – สร้างเวิร์กโฟลว์ Kontent.ai ใหม่พร้อมขั้นตอน การเปลี่ยนผ่าน ขอบเขต และสิทธิ์บทบาทที่กำหนดเอง
  • update-workflow – อัปเดตเวิร์กโฟลว์ Kontent.ai ที่มีอยู่ตาม ID แก้ไขขั้นตอน การเปลี่ยนผ่าน ขอบเขต และสิทธิ์บทบาท ไม่สามารถลบขั้นตอนที่กำลังใช้งานอยู่ได้
  • delete-workflow – ลบเวิร์กโฟลว์ Kontent.ai ตาม ID เวิร์กโฟลว์ต้องไม่ถูกใช้งานโดยรายการเนื้อหาใดๆ
  • change-content-item-variant-workflow-step – เปลี่ยนขั้นตอนเวิร์กโฟลว์ของตัวแปรรายการเนื้อหาใน Kontent.ai การดำเนินการนี้ย้ายตัวแปรรายการเนื้อหาไปยังขั้นตอนอื่นในเวิร์กโฟลว์ ทำให้สามารถจัดการวงจรชีวิตของเนื้อหา เช่น การย้ายเนื้อหาจากฉบับร่างไปยังการตรวจสอบ จากตรวจสอบไปยังเผยแพร่ เป็นต้น
  • publish-content-item-variant – เผยแพร่หรือกำหนดเวลาเผยแพร่ตัวแปรรายการเนื้อหาของรายการเนื้อหาใน Kontent.ai การดำเนินการนี้สามารถเผยแพร่ตัวแปรทันทีหรือกำหนดเวลาเผยแพร่ในวันที่และเวลาในอนาคตที่ระบุ พร้อมตัวเลือกระบุเขตเวลา
  • unpublish-content-item-variant – ยกเลิกการเผยแพร่หรือกำหนดเวลายกเลิกการเผยแพร่ตัวแปรรายการเนื้อหาของรายการเนื้อหาใน Kontent.ai การดำเนินการนี้สามารถยกเลิกการเผยแพร่ตัวแปรทันที (ทำให้ไม่สามารถใช้งานผ่าน Delivery API) หรือกำหนดเวลายกเลิกการเผยแพร่ในวันที่และเวลาในอนาคตที่ระบุ พร้อมตัวเลือกระบุเขตเวลา

⚙️ การกำหนดค่า

เซิร์ฟเวอร์รองรับสองโหมด แต่ละโหมดเชื่อมโยงกับการขนส่งของตน:

การขนส่งโหมดการรับรองความถูกต้องกรณีการใช้งาน
STDIOผู้เช่ารายเดียวตัวแปรสภาพแวดล้อมการสื่อสารภายในเครื่องกับสภาพแวดล้อม Kontent.ai เดียว
Streamable HTTPหลายผู้เช่าโทเค็น Bearer ต่อคำขอเซิร์ฟเวอร์ระยะไกล/ที่ใช้ร่วมกันจัดการหลายสภาพแวดล้อม

โหมดผู้เช่ารายเดียว (STDIO)

กำหนดค่าข้อมูลประจำตัวผ่านตัวแปรสภาพแวดล้อม:

ตัวแปรคำอธิบายจำเป็น
KONTENT_API_KEYคีย์ Kontent.ai ของคุณ
KONTENT_ENVIRONMENT_IDEnvironment ID ของคุณ
appInsightsConnectionStringสตริงการเชื่อมต่อ Application Insights สำหรับการตรวจวัดและส่งข้อมูลทางไกล
projectLocationตัวระบุตำแหน่งโปรเจกต์สำหรับการติดตามการตรวจวัดและส่งข้อมูลทางไกล
manageApiUrlURL ฐานที่กำหนดเอง (สำหรับสภาพแวดล้อมตัวอย่าง)

โหมดหลายผู้เช่า (Streamable HTTP)

สำหรับการขนส่งแบบ Streamable HTTP ข้อมูลประจำตัวจะถูกให้มาต่อคำขอ:

  • Environment ID เป็นพารามิเตอร์พาธ URL: /{environmentId}/mcp
  • คีย์ API ผ่านโทเค็น Bearer ในส่วนหัว Authorization: Authorization: Bearer <api-key>

สิ่งนี้ช่วยให้อินสแตนซ์เซิร์ฟเวอร์เดียวสามารถจัดการคำขอสำหรับสภาพแวดล้อม Kontent.ai หลายรายการโดยไม่ต้องใช้ตัวแปรสภาพแวดล้อมข้อมูลประจำตัว

ตัวแปรคำอธิบายจำเป็น
PORTพอร์ตสำหรับการขนส่ง HTTP (ค่าเริ่มต้นคือ 3001)
appInsightsConnectionStringสตริงการเชื่อมต่อ Application Insights สำหรับการตรวจวัดและส่งข้อมูลทางไกล
projectLocationตัวระบุตำแหน่งโปรเจกต์สำหรับการติดตามการตรวจวัดและส่งข้อมูลทางไกล
manageApiUrlURL ฐานที่กำหนดเอง (สำหรับสภาพแวดล้อมตัวอย่าง)

🔒 ความปลอดภัย

การแทรกพรอมต์ทางอ้อม

เนื้อหาที่ส่งคืนโดยเซิร์ฟเวอร์นี้ (ตัวอย่างเช่น องค์ประกอบที่เขียนโดยบรรณาธิการ) อาจมีข้อความที่ LLM ที่เชื่อมต่ออยู่ตีความว่าเป็นคำสั่ง — การแทรกพรอมต์ทางอ้อม เอเจนต์ที่ถูกจี้อาจถูกชี้นำไปสู่การเรียกใช้เครื่องมือที่ทำลายล้าง (ลบ / ยกเลิกการเผยแพร่ / เขียนทับ) หรือรั่วไหลฉบับร่างที่ยังไม่ได้เผยแพร่ นี่เป็นปัญหาที่ยังไม่ได้รับการแก้ไขทั่วทั้งอุตสาหกรรม ซึ่งเซิร์ฟเวอร์ไม่สามารถแก้ไขได้อย่างน่าเชื่อถือโดยการแปลงเนื้อหาที่ส่งคืน ดังนั้นการป้องกันจึงเป็นแบบหลายชั้น:

  • ใช้คีย์ Management API ที่มีสิทธิ์น้อยที่สุด เซิร์ฟเวอร์จะทำงานตามสิทธิ์ของคีย์ที่ได้รับ หากใช้คีย์แบบอ่านอย่างเดียว คำสั่งทำลายล้างจากเอเจนต์ที่ถูกแฮ็กก็จะล้มเหลวที่ขอบเขต API — เป็นการควบคุมที่แข็งแกร่งที่สุด เพราะมีผลโดยไม่ขึ้นกับพฤติกรรมของโมเดล
  • ให้มีมนุษย์อยู่ในวงจร ทุกเครื่องมือมีคำอธิบายประกอบ MCP — การอ่านคือ readOnlyHint, เครื่องมือที่สร้างอย่างเดียวเป็นการเพิ่มข้อมูล และเครื่องมือที่เขียนทับหรือลบข้อมูลคือ destructiveHint — ซึ่งไคลเอนต์ที่รองรับจะใช้อนุมัติการอ่านโดยอัตโนมัติและถามก่อนการเรียกที่ทำลายล้าง รันเซิร์ฟเวอร์กับไคลเอนต์ดังกล่าวและหลีกเลี่ยงการตั้งค่าอนุมัติอัตโนมัติแบบไม่มีคนดูแลกับคีย์ที่เขียนได้
  • เพิ่มตัวกรองฝั่งไคลเอนต์หากรองรับ ไคลเอนต์บางตัว (เช่น Claude Code hooks) ให้คุณถามก่อนที่เครื่องมือทำลายล้างจะทำงาน โดยไม่ขึ้นกับโมเดล การตั้งค่านี้ทำในเครื่อง เซิร์ฟเวอร์ไม่สามารถบังคับใช้ได้

นี่เป็นคำแนะนำ ไม่ใช่การรับประกัน รายงานปัญหาด้านความปลอดภัยแบบส่วนตัวที่ [email protected]

🚀 ตัวเลือกการขนส่ง

📟 การขนส่งแบบ STDIO

เพื่อรันเซิร์ฟเวอร์ด้วยการขนส่งแบบ STDIO ให้กำหนดค่าไคลเอนต์ MCP ของคุณด้วย:

{
  "kontent-ai-stdio": {
      "command": "npx",
      "args": ["@kontent-ai/mcp-server@latest", "stdio"],
      "env": {
        "KONTENT_API_KEY": "<management-api-key>",
        "KONTENT_ENVIRONMENT_ID": "<environment-id>"
      }
    }
}

🌊 การขนส่งแบบ Streamable HTTP (หลายผู้เช่า)

การขนส่งแบบ Streamable HTTP ให้บริการหลายสภาพแวดล้อม Kontent.ai จากอินสแตนซ์เซิร์ฟเวอร์เดียว แต่ละคำขอให้ข้อมูลประจำตัวผ่านพารามิเตอร์เส้นทาง URL และการรับรองความถูกต้องแบบ Bearer

เริ่มเซิร์ฟเวอร์ก่อน:

npx @kontent-ai/mcp-server@latest shttp
VS Code

สร้างไฟล์ .vscode/mcp.json ในพื้นที่ทำงานของคุณ:

{
  "servers": {
    "kontent-ai-multi": {
      "uri": "http://localhost:3001/<environment-id>/mcp",
      "headers": {
        "Authorization": "Bearer <management-api-key>"
      }
    }
  }
}

สำหรับการกำหนดค่าที่ปลอดภัยพร้อมข้อความแจ้งให้ป้อนข้อมูล:

{
  "inputs": [
    {
      "id": "apiKey",
      "type": "password",
      "description": "Kontent.ai API Key"
    },
    {
      "id": "environmentId",
      "type": "text",
      "description": "Environment ID"
    }
  ],
  "servers": {
    "kontent-ai-multi": {
      "uri": "http://localhost:3001/${inputs.environmentId}/mcp",
      "headers": {
        "Authorization": "Bearer ${inputs.apiKey}"
      }
    }
  }
}
Claude Desktop

อัปเดตไฟล์การกำหนดค่า Claude Desktop ของคุณ:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

ใช้ mcp-remote เป็นพร็อกซีเพื่อเพิ่มส่วนหัวการรับรองความถูกต้อง:

{
  "mcpServers": {
    "kontent-ai-multi": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "http://localhost:3001/<environment-id>/mcp",
        "--header",
        "Authorization: Bearer <management-api-key>"
      ]
    }
  }
}
Claude Code

เพิ่มเซิร์ฟเวอร์โดยใช้ CLI:

claude mcp add --transport http kontent-ai-multi \
  "http://localhost:3001/<environment-id>/mcp" \
  --header "Authorization: Bearer <management-api-key>"

หมายเหตุ: คุณยังสามารถกำหนดค่านี้ใน JSON การตั้งค่า Claude Code ของคุณด้วยคุณสมบัติ url และ headers

[!สำคัญ] แทนที่ <environment-id> ด้วย ID สภาพแวดล้อม Kontent.ai ของคุณ (GUID) และ <management-api-key> ด้วยคีย์ของคุณ

💻 การพัฒนา

🛠 การติดตั้งในเครื่อง

# Clone the repository
git clone https://github.com/kontent-ai/mcp-server.git
cd mcp-server

# Install dependencies
npm ci

# Build the project
npm run build

# Start the server
npm run start:stdio  # For STDIO transport
npm run start:shttp  # For Streamable HTTP transport

# Start the server with automatic reloading (no need to build first)
npm run dev:stdio  # For STDIO transport
npm run dev:shttp  # For Streamable HTTP transport

📂 โครงสร้างโปรเจกต์

  • src/ - ซอร์สโค้ด
    • tools/ - การนำเครื่องมือ MCP ไปใช้
    • clients/ - การตั้งค่าไคลเอนต์ Kontent.ai API
    • schemas/ - สกีมาการตรวจสอบข้อมูล
    • utils/ - ฟังก์ชันยูทิลิตี้
      • errorHandler.ts - การจัดการข้อผิดพลาดที่เป็นมาตรฐานสำหรับเครื่องมือ MCP
      • throwError.ts - ยูทิลิตี้การโยนข้อผิดพลาดทั่วไป
    • server.ts - การตั้งค่าเซิร์ฟเวอร์หลักและการลงทะเบียนเครื่องมือ
    • bin.ts - จุดเข้าใช้งานเดียวที่จัดการการขนส่งทั้งสองประเภท

🔍 การดีบัก

สำหรับการดีบัก คุณสามารถใช้ MCP inspector:

npx @modelcontextprotocol/inspector -e KONTENT_API_KEY=<key> -e KONTENT_ENVIRONMENT_ID=<env-id> node path/to/build/bin.js

หรือใช้ MCP inspector บนเซิร์ฟเวอร์ HTTP แบบสตรีมที่กำลังรันอยู่:

npx @modelcontextprotocol/inspector

นี่มีอินเทอร์เฟซเว็บสำหรับตรวจสอบและทดสอบเครื่องมือที่มีอยู่

📦 กระบวนการเผยแพร่

เพื่อเผยแพร่เวอร์ชันใหม่:

  1. เพิ่มเวอร์ชันโดยใช้ npm version [patch|minor|major] - นี่จะอัปเดต package.json, package-lock.json และซิงค์กับ server.json
  2. ผลักดันคอมมิตไปยังบรานช์ของคุณและสร้าง pull request
  3. ผสาน pull request
  4. สร้าง GitHub release ใหม่โดยใช้หมายเลขเวอร์ชันเป็นทั้งชื่อและแท็ก พร้อมใช้บันทึกประจำรุ่นที่สร้างอัตโนมัติ
  5. การเผยแพร่ release จะทริกเกอร์เวิร์กโฟลว์อัตโนมัติที่เผยแพร่ไปยัง npm และ GitHub MCP registry

ใบอนุญาต

MIT