Kontent.ai
ทางการสร้าง จัดการ และสำรวจเนื้อหาและโมเดลเนื้อหาของคุณโดยใช้ภาษาธรรมชาติในเครื่องมือ AI ที่รองรับ MCP ใดๆ
คุณทำอะไรได้บ้างด้วย Kontent Ai MCP?
- Create and manage content types — Build or modify structured content models using
create-content-typeandpatch-content-type. - Manage content items and translations — Create, update, search, and delete content items and their language variants with
list-content-item-variantsandupdate-content-item-variant. - Control publishing workflows — Move content through workflow steps, publish, or unpublish variants using
change-content-item-variant-workflow-stepandpublish-content-item-variant. - Organize taxonomies and collections — Create and patch taxonomy groups and collections to structure content with
create-taxonomy-groupandpatch-collections. - Search content by meaning — Find content items using semantic search via
search-content-item-variantswhen you don’t know exact keywords.
เอกสาร
Kontent.ai MCP Server
เปลี่ยนโฉมการดำเนินงานด้านเนื้อหาของคุณด้วยเครื่องมือที่ขับเคลื่อนด้วย AI สำหรับ Kontent.ai สร้าง จัดการ และสำรวจเนื้อหาที่มีโครงสร้างของคุณผ่านการสนทนาด้วยภาษาธรรมชาติในโปรแกรมแก้ไขที่เปิดใช้งาน AI ที่คุณชื่นชอบ
Kontent.ai MCP Server ใช้ Model Context Protocol เพื่อเชื่อมต่อโปรเจกต์ Kontent.ai ของคุณกับเครื่องมือ AI อย่าง Claude, Cursor และ VS Code ซึ่งช่วยให้โมเดล AI เข้าใจโครงสร้างเนื้อหาของคุณและดำเนินการต่างๆ ผ่านคำสั่งภาษาธรรมชาติ
✨ คุณสมบัติหลัก
- 🚀 การสร้างต้นแบบอย่างรวดเร็ว: เปลี่ยนไดอะแกรมของคุณให้เป็นโมเดลเนื้อหาที่ใช้งานได้จริงในไม่กี่วินาที
- 📈 การแสดงข้อมูลเป็นภาพ: แสดงภาพโมเดลเนื้อหาของคุณในรูปแบบใดก็ได้ตามที่คุณต้องการ
สารบัญ
- ✨ คุณสมบัติหลัก
- 🔌 เริ่มต้นอย่างรวดเร็ว
- 🛠️ เครื่องมือที่พร้อมใช้งาน
- ⚙️ การกำหนดค่า
- 🔒 ความปลอดภัย
- 🚀 ตัวเลือกการขนส่ง
- 💻 การพัฒนา
- ใบอนุญาต
🔌 เริ่มต้นอย่างรวดเร็ว
🔑 ข้อกำหนดเบื้องต้น
ก่อนที่คุณจะสามารถใช้เซิร์ฟเวอร์ MCP ได้ คุณต้องมี:
- บัญชี Kontent.ai - ลงทะเบียน หากคุณยังไม่มีบัญชี
- โปรเจกต์ - สร้างโปรเจกต์ เพื่อใช้งาน
- คีย์ Management API - สร้างคีย์ พร้อมสิทธิ์ที่เหมาะสม
- 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_ID | Environment ID ของคุณ | ✅ |
| appInsightsConnectionString | สตริงการเชื่อมต่อ Application Insights สำหรับการตรวจวัดและส่งข้อมูลทางไกล | ❌ |
| projectLocation | ตัวระบุตำแหน่งโปรเจกต์สำหรับการติดตามการตรวจวัดและส่งข้อมูลทางไกล | ❌ |
| manageApiUrl | URL ฐานที่กำหนดเอง (สำหรับสภาพแวดล้อมตัวอย่าง) | ❌ |
โหมดหลายผู้เช่า (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 | ตัวระบุตำแหน่งโปรเจกต์สำหรับการติดตามการตรวจวัดและส่งข้อมูลทางไกล | ❌ |
| manageApiUrl | URL ฐานที่กำหนดเอง (สำหรับสภาพแวดล้อมตัวอย่าง) | ❌ |
🔒 ความปลอดภัย
การแทรกพรอมต์ทางอ้อม
เนื้อหาที่ส่งคืนโดยเซิร์ฟเวอร์นี้ (ตัวอย่างเช่น องค์ประกอบที่เขียนโดยบรรณาธิการ) อาจมีข้อความที่ 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 APIschemas/- สกีมาการตรวจสอบข้อมูลutils/- ฟังก์ชันยูทิลิตี้errorHandler.ts- การจัดการข้อผิดพลาดที่เป็นมาตรฐานสำหรับเครื่องมือ MCPthrowError.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
นี่มีอินเทอร์เฟซเว็บสำหรับตรวจสอบและทดสอบเครื่องมือที่มีอยู่
📦 กระบวนการเผยแพร่
เพื่อเผยแพร่เวอร์ชันใหม่:
- เพิ่มเวอร์ชันโดยใช้
npm version [patch|minor|major]- นี่จะอัปเดตpackage.json,package-lock.jsonและซิงค์กับserver.json - ผลักดันคอมมิตไปยังบรานช์ของคุณและสร้าง pull request
- ผสาน pull request
- สร้าง GitHub release ใหม่โดยใช้หมายเลขเวอร์ชันเป็นทั้งชื่อและแท็ก พร้อมใช้บันทึกประจำรุ่นที่สร้างอัตโนมัติ
- การเผยแพร่ release จะทริกเกอร์เวิร์กโฟลว์อัตโนมัติที่เผยแพร่ไปยัง npm และ GitHub MCP registry
ใบอนุญาต
MIT