Klavis Strata MCP Server
ทางการเซิร์ฟเวอร์ MCP หนึ่งตัวสำหรับเอเจนต์ AI เพื่อใช้เครื่องมือใดๆ ได้อย่างน่าเชื่อถือในทุกขนาด
เอกสาร
Strata
หนึ่งเซิร์ฟเวอร์ MCP สำหรับเอเจนต์ AI เพื่อใช้เครื่องมืออย่างก้าวหน้าในทุกระดับ
<img src="https://mintcdn.com/klavisai/7Siw7A5JJSHURM5d/images/concepts/strata_hero.png?fit=max&auto=format&n=7Siw7A5JJSHURM5d&q=85&s=b581fdb821699a32b260d124789396bd" alt="Strata Hero - Progressive tool discovery for AI agents" className="w-full rounded-lg" style={{ maxWidth: '100%', height: 'auto' }} width="2533" height="496" data-path="images/concepts/strata_hero.png" />
Strata คืออะไร?
Strata คือหนึ่งเซิร์ฟเวอร์ MCP ที่แนะนำเอเจนต์ AI ให้ใช้เครื่องมือได้อย่างน่าเชื่อถือในทุกระดับความซับซ้อน แทนที่จะยัดเยียดทุกอย่างให้ในคราวเดียว มันถูกออกแบบโดยคำนึงถึงการที่มนุษย์โต้ตอบกับเครื่องมือ แก้ปัญหาหลักสามประการที่รบกวนเอเจนต์ AI ในปัจจุบัน:
- เครื่องมือล้นเกิน: เครื่องมือมากเกินไปทำให้ LLM เกิดอัมพาตในการเลือก
- บริบทล้นเกิน: รายการเครื่องมือยาวๆ ทำให้จำนวนโทเค็นและค่าใช้จ่ายพุ่งสูง
- ช่องว่างความครอบคลุม: เซิร์ฟเวอร์ส่วนใหญ่ติดอยู่ที่ 40~50 เครื่องมือ จำกัดสิ่งที่คุณสร้างได้
คุณสามารถใช้ Strata ผ่าน เว็บไซต์, API หรือแม้แต่ โอเพนซอร์ส บนข้อมูลของคุณเอง!
วิดีโอสอน
ดูวิดีโอสอนนี้เพื่อความเข้าใจที่สมบูรณ์เกี่ยวกับการทำงานของ Strata:
สอนแบบข้อความ ลองดู [บทสนทนา Claude ที่แชร์ไว้](https://claude.ai/share/9b44a192-9f2d-46e2-a875-ef905c457070) เพื่อดู Strata ในการทำงานจริง!1. ค้นพบหมวดหมู่เซิร์ฟเวอร์หรือการกระทำ
discover_server_categories_or_actions - ค้นหาหมวดหมู่หรือการกระทำที่เกี่ยวข้องตามความตั้งใจของผู้ใช้ ไม่ใช่การค้นหาเชิงความหมาย!
หากระดับรายละเอียดเป็น 'categories_only' รายละเอียดจะเป็นเพียงรายชื่อหมวดหมู่เท่านั้น ขั้นตอนต่อไปควรใช้เครื่องมือ get_category_actions เพื่อรับการกระทำสำหรับหมวดหมู่เหล่านั้น
หากระดับรายละเอียดเป็น 'full_details' รายละเอียดจะเป็นรายชื่อหมวดหมู่พร้อมรายละเอียดการกระทำรวมอยู่ด้วย กรณีนี้เกิดขึ้นเมื่อเซิร์ฟเวอร์มีการกระทำเพียงไม่กี่อย่าง ขั้นตอนต่อไปควรใช้เครื่องมือ execute_action เพื่อดำเนินการกระทำเหล่านั้น
หากระดับรายละเอียดเป็น 'categories_and_actions' รายละเอียดจะเป็นรายชื่อหมวดหมู่และชื่อการกระทำ กรณีนี้เกิดขึ้นเมื่อใช้เครื่องมือภายนอก ขั้นตอนต่อไปควรใช้เครื่องมือ get_action_details เพื่อรับรายละเอียดของการกระทำเหล่านั้น
พารามิเตอร์:
user_query(string, จำเป็น): คำค้นหาภาษาธรรมชาติของผู้ใช้เพื่อกรองผลลัพธ์server_names(array, จำเป็น): รายชื่อเซิร์ฟเวอร์เพื่อค้นพบหมวดหมู่หรือการกระทำ
2. รับการกระทำของหมวดหมู่
get_category_actions - ดึงชื่อการกระทำทั้งหมดภายในหมวดหมู่ที่ระบุ
พารามิเตอร์:
category_names(array, จำเป็น): รายการหมวดหมู่ที่จะรับการกระทำ
3. รับรายละเอียดการกระทำ
get_action_details - รับสคีมาและพารามิเตอร์เต็มรูปแบบสำหรับการกระทำเฉพาะ
พารามิเตอร์:
category_name(string, จำเป็น): ชื่อของหมวดหมู่action_name(string, จำเป็น): ชื่อของการกระทำ/การดำเนินการภายในหมวดหมู่
4. ดำเนินการกระทำ
execute_action - รันการกระทำด้วยพารามิเตอร์และรับผลลัพธ์
พารามิเตอร์:
server_name(string, จำเป็น): ชื่อของเซิร์ฟเวอร์category_name(string, จำเป็น): ชื่อของหมวดหมู่ที่จะดำเนินการกระทำaction_name(string, จำเป็น): ชื่อของการกระทำ/การดำเนินการที่จะดำเนินการpath_params(string, ไม่จำเป็น): สตริง JSON ที่มีพารามิเตอร์เส้นทางสำหรับการกระทำquery_params(string, ไม่จำเป็น): สตริง JSON ที่มีพารามิเตอร์คิวรีสำหรับการกระทำbody_schema(string, ไม่จำเป็น, ค่าเริ่มต้น: "{}"): สตริง JSON ที่มีเนื้อหาคำขอสำหรับการกระทำinclude_output_fields(array, ไม่จำเป็น): แนะนำอย่างยิ่งเมื่อคุณทราบ response_schema ของการกระทำนี้จากการเรียกใช้เครื่องมือก่อนหน้านี้: อาร์เรย์ของเส้นทางฟิลด์ที่จะรวมในการตอบกลับ เฉพาะฟิลด์เหล่านี้เท่านั้นที่จะถูกส่งกลับ ใช้สัญกรณ์จุดสำหรับฟิลด์ที่ซ้อนกัน (เช่น "author.displayName")maximum_output_characters(integer, ไม่จำเป็น): ไม่จำเป็น: จำนวนอักขระสูงสุดที่จะส่งกลับในการตอบกลับ หากการตอบกลับเกินขีดจำกัดนี้ จะถูกตัดทอน ควรใช้ include_output_fields มากกว่าตัวเลือกนี้
5. ค้นหาเอกสารประกอบ
search_documentation - ค้นหาข้อมูลที่เกี่ยวข้องเมื่อจำเป็นเท่านั้น
พารามิเตอร์:
query(string, จำเป็น): คำหลักค้นหาที่ตรงกับเงื่อนไขเอกสารประกอบ API แนวทางปฏิบัติที่ดีที่สุด: (1) ใช้ชื่อทรัพยากรเช่น 'users', 'projects', 'files', (2) เพิ่มการกระทำเพื่อความแม่นยำเช่น 'user create' หรือ 'project delete', (3) หลีกเลี่ยงคำเติมเช่น 'how to', 'show me', 'all the' - มุ่งเน้นที่คำหลักที่ปรากฏในชื่อจุดปลายทางและคำอธิบายserver_name(string, จำเป็น): ชื่อของเซิร์ฟเวอร์ที่จะค้นหาภายในmax_results(integer, ไม่จำเป็น, ค่าเริ่มต้น: 10, ต่ำสุด: 1, สูงสุด: 50): จำนวนผลลัพธ์ที่จะส่งกลับ ค่าเริ่มต้น: 10
6. จัดการความล้มเหลวในการรับรองความถูกต้อง
handle_auth_failure - จัดการการรับรองความถูกต้องเมื่อจำเป็นเท่านั้น
พารามิเตอร์:
server_name(string, จำเป็น): ชื่อของเซิร์ฟเวอร์ที่ล้มเหลวในการรับรองความถูกต้องระหว่าง execute_actionintention(string, จำเป็น, enum: ["get_auth_url", "save_auth_data"]): ใช้ 'get_auth_url' เมื่อ execute_action ล้มเหลวด้วยข้อผิดพลาดการรับรองความถูกต้องเพื่อรับคำแนะนำการรับรองความถูกต้อง ใช้ 'save_auth_data' เมื่อผู้ใช้ให้ข้อมูลประจำตัวการรับรองความถูกต้องหลังจากความล้มเหลวในการรับรองความถูกต้องauth_data(object, ไม่จำเป็น): ข้อมูลการรับรองความถูกต้องที่ผู้ใช้ให้มาหลังจากความล้มเหลวในการรับรองความถูกต้อง (เช่น{"token": "...", "api_key": "..."}) ใช้กับความตั้งใจ 'save_auth_data' เท่านั้นเมื่อแก้ไขความล้มเหลวในการรับรองความถูกต้อง
การประเมินผล
Strata ให้ผลลัพธ์จริง:
- เกณฑ์มาตรฐาน MCPMark: ทำได้ อัตรา pass@1 สูงกว่า +15.2% เมื่อเทียบกับเซิร์ฟเวอร์ GitHub อย่างเป็นทางการ และ อัตรา pass@1 สูงกว่า +13.4% เมื่อเทียบกับเซิร์ฟเวอร์ Notion อย่างเป็นทางการ (แหล่งที่มา)
- การประเมินโดยมนุษย์: ได้ ความแม่นยำ 83%+ ในชุดการประเมินคำค้นหาโลกจริงมากกว่า 2,000 รายการ