// ไฟล์คอนฟิก
opencode.json
เพิ่มเซิร์ฟเวอร์ใต้ mcp ใน opencode.json ของโปรเจกต์ หรือใน ~/.config/opencode/opencode.json สำหรับทุกโปรเจกต์
สำหรับผู้ใช้ OpenCode
OpenCode อ่าน AGENTS.md เพื่อรู้วิธีทำงาน และเรียกเซิร์ฟเวอร์ MCP สำหรับเรื่องอื่นทั้งหมด Maguyva เป็นเซิร์ฟเวอร์ MCP ระยะไกลที่ให้แผนที่รีโพที่สืบค้นได้แก่ OpenCode พร้อมพาธไฟล์และหมายเลขบรรทัด
แผน Free: รีโพซิทอรี 3 แห่ง, บรรทัดที่ทำดัชนีสูงสุด 50,000 บรรทัด ไม่ต้องใช้บัตรเครดิต
รายการระยะไกลเดียวใต้ mcp ไม่มีอะไรรันในเครื่อง ข้อเท็จจริงสี่ข้อเฉพาะของ OpenCode
// ไฟล์คอนฟิก
เพิ่มเซิร์ฟเวอร์ใต้ mcp ใน opencode.json ของโปรเจกต์ หรือใน ~/.config/opencode/opencode.json สำหรับทุกโปรเจกต์
// การรับส่งข้อมูล
OpenCode เชื่อมต่อกับ endpoint ของ Maguyva ผ่าน HTTP ไม่มีอะไรรันในเครื่องและไม่ต้องใช้ Node.js
// คีย์
OpenCode แทนค่าตัวแปรสภาพแวดล้อมในคอนฟิก เฮดเดอร์จึงเป็น Bearer {env:MAGUYVA_API_KEY} และคีย์ไม่ปรากฏในไฟล์ที่คุณ commit
// งบประมาณบริบท
เซิร์ฟเวอร์ MCP ทุกตัวเพิ่มคำนิยามเครื่องมือลงในบริบท OpenCode ปิดเครื่องมือของเซิร์ฟเวอร์ทั้งระบบได้ด้วย glob อย่าง "maguyva*": false แล้วเปิดกลับเฉพาะเอเจนต์ที่ต้องใช้
> /init
# สแกนรีโพและเขียน AGENTS.mdOpenCode อ่าน AGENTS.md ที่รากโปรเจกต์ และ ~/.config/opencode/AGENTS.md สำหรับกฎส่วนตัว หากไม่มี AGENTS.md จะใช้ CLAUDE.md แทน ใช้สำหรับ:
การสแกนตอน /init เป็นบทสรุป ไม่ใช่ดัชนี มันไม่ได้บอก OpenCode ว่าใครเรียกฟังก์ชันที่เพิ่มเข้ามาเมื่อวาน
ช่องว่างสามจุดที่ OpenCode เติมด้วย grep และความอดทน
AGENTS.md ระบุชื่อแพ็กเกจสำคัญได้ แต่ลิสต์ทุกสัญลักษณ์และจุดเรียกไม่ได้ และไม่ควรพยายามด้วย
การจับคู่ข้อความแยกการเรียกจริงออกจากคอมเมนต์ mock หรือเมธอดชื่อเดียวกันในคลาสอื่นไม่ได้
AGENTS.md ถูกต้องในวันที่เขียน โค้ดยังเปลี่ยนต่อไป ส่วนไฟล์จะเปลี่ยนก็ต่อเมื่อมีคนนึกได้ว่าต้องอัปเดต
รายการเดียวใต้ mcp ให้สิ่งเหล่านี้แก่ OpenCode:
AGENTS.md บอก OpenCode ว่าต้องทำงานอย่างไร
Maguyva มอบสิ่งที่ใช้เริ่มทำงานได้ให้ OpenCode
ถามแผนที่จากเทอร์มินัลเดียวกัน
// workflow 01
opencode> เปลี่ยนชื่อ OrderStatus เป็น FulfillmentStatus dependency_search("OrderStatus", dependents) การอ้างอิง 23 จุดใน 8 แพ็กเกจ structural_search(switch_statement, "OrderStatus") switch แบบครอบคลุมทุกกรณี 4 จุด → OpenCode แก้ไขทั้งรายการ รวมถึง switch [exit 0]
switch แบบครอบคลุมทุกกรณีคือจุดที่การค้นหาข้อความพลาด และคอมไพเลอร์จับได้ช้า
// workflow 02
opencode> FEATURE_BULK_EXPORT ถูกอ่านที่ไหน? text_pattern_search("FEATURE_BULK_EXPORT") src/config/flags.ts:17 src/export/bulk.ts:5 docs/flags.md:40 ← เอกสารเท่านั้น → เส้นทางโค้ดสองจุด เอกสารล้าสมัยหนึ่งจุด [exit 0]
ผลที่ตรงกันทุกตัวอักษรกลับมาพร้อมพาธ OpenCode จึงแยกโค้ดออกจากเอกสารได้ก่อนแก้ไขฝั่งใดฝั่งหนึ่ง
สามขั้นตอน แผน Free: รีโพซิทอรี 3 แห่ง, บรรทัดที่ทำดัชนีสูงสุด 50,000 บรรทัด ไม่ต้องใช้บัตรเครดิต
// step 01
เลือกรีโพที่คุณรู้จักอยู่แล้ว เพื่อให้คุณประเมินคำตอบได้
// step 02
opencode.json
{
"mcp": {
"maguyva": {
"type": "remote",
"url": "https://maguyva.tools/mcp",
"enabled": true,
"headers": {
"Authorization": "Bearer {env:MAGUYVA_API_KEY}"
}
}
}
} // step 03
ตั้งค่า MAGUYVA_API_KEY ในเชลล์ที่เริ่ม OpenCode opencode mcp list แสดงเซิร์ฟเวอร์ที่ตั้งค่าไว้ทั้งหมด จากนั้นถามหนึ่งคำถามที่คุณรู้คำตอบอยู่แล้ว