agent-connector: เครื่องมือสำหรับดีพลอยเซิร์ฟเวอร์/ฮุก MCP ไปยังหลาย agent CLI พร้อมกัน
(github.com/ken-jo)ปัญหาในปัจจุบัน: ต้องปรับ MCP เซิร์ฟเวอร์/ฮุกแยกสำหรับแต่ละ agent CLI
เมื่อเชื่อมต่อ MCP เซิร์ฟเวอร์เข้ากับหลาย agent CLI ก็ต้องคอยดูแลการตั้งค่าเดิมซ้ำ ๆ ในคนละฟอร์แมตอยู่ตลอด
ตัวอย่างเช่น:
- Claude Code: JSON
mcpServers - Codex: TOML
[mcp_servers.*] - Cursor:
mcp.json+hooks.json - Gemini:
.gemini/settings.json
แค่การลงทะเบียนเซิร์ฟเวอร์ก็ยุ่งยากแล้ว ส่วนฮุกยิ่งซับซ้อนกว่า
เพราะแต่ละโฮสต์มี event model ต่างกัน แม้จะเป็นการทำงานแบบเดียวกันก็ยังต้องปรับใหม่ให้ตรงกับแต่ละ CLI
เพื่อลดงานซ้ำนี้จึงสร้าง agent-connector ขึ้นมา
วิธีแก้ปัญหา
ถ้ากำหนดครั้งเดียวด้วย defineConnector() ก็จะเรนเดอร์ออกมาเป็นไฟล์ตั้งค่าเนทีฟที่แต่ละโฮสต์อ่านใช้งานจริง
defineConnector({
server,
hooks,
plugins,
marketplace,
})
ไม่ได้ใช้วิธีรันตัว wrapper ตรงกลาง หรือบังคับให้ใช้ฟอร์แมตเฉพาะของตัวเอง
แต่เป็นวิธีสร้าง JSON, TOML, ไฟล์ settings และอื่น ๆ ที่แต่ละ CLI อ่านอยู่เดิมโดยตรง
ขอบเขตที่รองรับ
ตอนนี้ไม่ได้รองรับแค่การลงทะเบียน MCP เซิร์ฟเวอร์เท่านั้น แต่ครอบคลุมถึงส่วนต่อไปนี้ด้วย
- การลงทะเบียน MCP เซิร์ฟเวอร์
- การแปลง host-specific hook event model
- การแพ็กเกจปลั๊กอิน / เอ็กซ์เทนชัน
- ขั้นตอนการติดตั้งผ่าน marketplace ของแต่ละโฮสต์
- การติดตั้งแบบครั้งเดียวไปยังหลาย CLI
- การลบค่าตั้งค่าที่ค้างอยู่ด้วย
uninstall --purge - token telemetry แยกตามแต่ละเครื่องมือ
- การสร้างแบรนด์ CLI ของตัวเองด้วย SDK
ผู้ใช้จะใช้งานประมาณนี้
$ agent-connector install
$ agent-connector uninstall --purge
# หรือ
$ plugin install brand-name
สถานะปัจจุบัน
จนถึงตอนนี้ยังพัฒนาอยู่คนเดียว
เวลาส่วนใหญ่ถูกใช้ไปกับงานต่อไปนี้
- การเรนเดอร์การตั้งค่าแบบข้ามโฮสต์
- การทำ normalization ของ hook event model
- การแพ็กเกจปลั๊กอิน / เอ็กซ์เทนชัน
- ขั้นตอนการติดตั้งผ่าน marketplace
- telemetry
- การทดสอบบน Linux / macOS / Windows
ตอนนี้สามารถสร้างการตั้งค่าสำหรับ agent CLI ได้ 42 ตัว
สิ่งที่ลองตรวจสอบแล้ว
ได้ลองพอร์ต MCP เดิมอย่าง context-mode ด้วยการทดสอบจริง
ผลลัพธ์เป็นดังนี้
- โค้ดสำหรับดีพลอยแยกตามโฮสต์: 20,322 บรรทัด → 76 บรรทัด
- hook script: 71 ชุด → 0 ชุด
- CLI ที่รองรับ: 15 ตัว → 42 ตัว
อย่างไรก็ตาม นี่ไม่ใช่กรณีของ MCP เซิร์ฟเวอร์ที่ผมสร้างเอง แต่เป็นกรณีย้ายเซิร์ฟเวอร์ที่มีอยู่แล้วมาทดลอง
ดังนั้นจึงอยากเห็นเคสที่พังจาก MCP เซิร์ฟเวอร์ที่หลากหลายกว่านี้
ฟีดแบ็กที่กำลังมองหา
หากใครกำลังสร้าง MCP เซิร์ฟเวอร์อยู่ ลองอัปโหลดขึ้นไปและส่งฟีดแบ็กมา จะช่วยได้มาก
โดยเฉพาะอยากได้ฟีดแบ็กในเรื่องต่อไปนี้
- เคสที่การตั้งค่าพังใน CLI บางตัว
- เคสที่ hook event model ยังไม่เพียงพอ
- จุดที่ยังดูไม่ลื่นไหลในขั้นตอนปลั๊กอิน / marketplace
- จุดที่การออกแบบ API ใช้งานไม่สะดวก
- ข้อสังเกตเกี่ยวกับโครงสร้างโปรเจกต์ OSS
ถ้า MCP คือเลเยอร์ที่ทำหน้าที่เชื่อมเครื่องมือจริงให้กับ agent ก็คิดว่าจำเป็นต้องมีโครงสร้างที่ไม่ต้องถูกผูกลากไปตามวิธีตั้งค่าของ CLI ใด CLI หนึ่งตลอดเวลา
- Demo: https://agent-connector.ai
- GitHub: https://github.com/ken-jo/agent-connector
- npm:
@ken-jo/agent-connector - License: Apache-2.0
ยังไม่มีความคิดเห็น