ตัวเชื่อมต่อ claude.ai และ ChatGPT
ตำแหน่งในหน้าผู้ดูแลระบบ: System › Settings › API & AI agents (
/agent/keys), แท็บ Connected apps หน้าจอให้ความยินยอมจะเปิดขึ้นที่/agent/consentเมื่อมีตัวเชื่อมต่อขอเข้าถึง (ไม่ได้อยู่ในเมนู)
What it does
แอป AI บนเว็บไม่สามารถอ่านคีย์จากดิสก์ของคุณได้ แต่จะเชื่อมต่อผ่าน OAuth: คุณเพิ่ม URL MCP ของแผงควบคุม แอปจะนำคุณไปยังหน้าผู้ดูแลระบบของคุณเองเพื่อลงชื่อเข้าใช้ คุณเลือกสิ่งที่แอปทำได้และระยะเวลา และแอปจะได้รับโทเค็นที่มีอายุสั้น ไม่มีคีย์ใดถูกคัดลอกหรือวาง คุณสามารถตัดการเชื่อมต่อแอปได้ตลอดเวลา
ใช้สิ่งนี้สำหรับตัวเชื่อมต่อแบบกำหนดเองของ claude.ai ตัวเชื่อมต่อโหมดนักพัฒนาของ ChatGPT และไคลเอนต์ MCP อื่นๆ ที่รองรับ OAuth พร้อมการลงทะเบียนไคลเอนต์แบบไดนามิก เครื่องมือบรรทัดคำสั่งสามารถใช้กระแสข้อมูลเดียวกันได้ แต่การใช้ admin API key จะสะดวกกว่าสำหรับเครื่องมือเหล่านั้น
ข้อกำหนด
| Item | Requirement |
|---|---|
| URL | https://cloud.example.com/mcp/admin, สามารถเข้าถึงได้จากอินเทอร์เน็ต (เซิร์ฟเวอร์ของผู้ให้บริการจะเชื่อมต่อเข้ามา) |
| รีเวอร์สพร็อกซี | หากคุณวางพร็อกซีของคุณเองไว้หน้าแผงควบคุม พร็อกซีนั้นจะต้องส่งต่อเส้นทาง /mcp/admin, /oauth-admin/ และ /.well-known/ ไปยังแผงควบคุม |
| คุณ | ลงชื่อเข้าใช้ระบบผู้ดูแลระบบ NexCMP ในเบราว์เซอร์เดียวกัน กับที่คุณใช้สำหรับหน้าจอให้ความยินยอม |
| ไคลเอนต์ | รองรับ MCP ผ่าน Streamable HTTP, OAuth 2.1 ร่วมกับ PKCE (S256) และการลงทะเบียนไคลเอนต์แบบไดนามิก |
เชื่อมต่อ
- ในแอป AI ให้เพิ่มตัวเชื่อมต่อ MCP แบบกำหนดเองและวาง
https://cloud.example.com/mcp/adminใน claude.ai จะอยู่ภายใต้การตั้งค่าตัวเชื่อมต่อ (เพิ่มตัวเชื่อมต่อแบบกำหนดเอง) ใน ChatGPT จะอยู่ภายใต้โหมดนักพัฒนา (เพิ่มตัวเชื่อมต่อ MCP, การตรวจสอบสิทธิ์ OAuth) - เลือก Sign in (หรือ "Connect") ในแอป เบราว์เซอร์ของคุณจะเปิดหน้าจอให้ความยินยอมของผู้ดูแลระบบ NexCMP หากคุณยังไม่ได้ลงชื่อเข้าใช้ ให้ลงชื่อเข้าใช้ก่อน หน้าจอจะดำเนินการต่อหลังจากนั้น
- อ่านการ์ด: "Example AI app wants to manage this NexCMP admin" (ชื่อของแอปที่กำลังขอเข้าถึง) พร้อมกับที่อยู่ที่จะนำคุณกลับไป
- ทำเครื่องหมายที่ช่องสิทธิ์ที่ต้องการให้สิทธิ์ สิทธิ์ที่แอปขอจะถูกทำเครื่องหมายไว้ล่วงหน้า หากแอปไม่ได้ขอ จะมีเพียง
admin:readเท่านั้นที่ถูกทำเครื่องหมาย ดูข้อมูลเพิ่มเติมที่ Scopes - เลือก, ระยะเวลาที่การเชื่อมต่อจะมีผล: 7, 30 หรือ 90 วัน (ค่าเริ่มต้นคือ 30)
- คลิก Allow เบราว์เซอร์จะกลับไปยังแอปซึ่งเชื่อมต่อเรียบร้อยแล้ว คลิก Deny เพื่อปฏิเสธ

::: important เลือกสิทธิ์เหมือนกับที่คุณทำสำหรับคีย์ ให้สิทธิ์ชุดที่น้อยที่สุดที่จำเป็นสำหรับการทำงาน การดำเนินการเกี่ยวกับเงิน การลบ และความปลอดภัยจะยังคงหยุดที่การแสดงตัวอย่างและต้องได้รับการอนุมัติจากคุณ แต่การเชื่อมต่อที่มี settings:write ยังคงสามารถเปลี่ยนการสร้างแบรนด์และอีเมลของคุณได้ :::
จัดการและเพิกถอน
เปิด System › Settings › API & AI agents › Connected apps ตารางจะแสดงรายการแอปทั้งหมดที่คุณเชื่อมต่อ: แอปพลิเคชัน สิทธิ์ วันที่เชื่อมต่อ วันหมดอายุ และวันที่ใช้งานล่าสุด
หากต้องการตัดการเชื่อมต่อแอป ให้คลิก Revoke และยืนยัน โทเค็นของแอปจะหยุดทำงานทันที และแอปจะต้องผ่านหน้าจอให้ความยินยอมอีกครั้งเพื่อเชื่อมต่อใหม่

วิธีการทำงานของกระแสข้อมูล
| ขั้นตอน | Detail |
|---|---|
| การค้นหา | แอปอ่าน /.well-known/oauth-protected-resource/mcp/admin จากนั้นอ่าน /.well-known/oauth-authorization-server/oauth-admin ผู้ออกคือ https://cloud.example.com/oauth-admin |
| การลงทะเบียน | แอปทำการลงทะเบียนตัวเอง (POST /oauth-admin/register, RFC 7591) รองรับเฉพาะไคลเอนต์สาธารณะเท่านั้น (ไม่มีรหัสลับไคลเอนต์) ที่อยู่เปลี่ยนเส้นทางต้องเป็น https หรือ http บนคอมพิวเตอร์เครื่องเดียวกัน (ลูปแบ็ก) |
| การให้สิทธิ์ | GET /oauth-admin/authorize พร้อมใช้วิธี PKCE S256 พารามิเตอร์ resource เมื่อส่งมา จะต้องเป็น URL /mcp/admin ของแผงควบคุมนี้ คำขอจะมีอายุ 10 นาทีและผูกติดอยู่กับเบราว์เซอร์ที่เริ่มต้นคำขอนั้น |
| การให้ความยินยอม | คุณเลือกสโคปและระยะเวลา (ด้านบน) รหัสการอนุญาตมีอายุ 60 วินาทีและใช้งานได้ครั้งเดียว |
| โทเค็น | POST /oauth-admin/token ส่งคืน access token (ak_o... key ซึ่งใช้งานได้ 1 ชั่วโมงหรือจนกว่าการเชื่อมต่อจะสิ้นสุดลง แล้วแต่อย่างใดถึงก่อน) และ refresh token (akr_...) ทุกครั้งที่มีการรีเฟรช จะได้รับ refresh token ใหม่ และตัวเก่าจะใช้งานไม่ได้ การเชื่อมต่อจะสิ้นสุดลงตามจำนวนวันที่คุณเลือก |
| การเพิกถอน | Revoke ใน Connected apps หรือแอปเรียก POST /oauth-admin/revoke (RFC 7009) |
Access token จะทำงานเสมือนแอดมินคีย์ที่มีสโคปที่คุณให้สิทธิ์: เป็นไปตามกฎสโคป การยืนยันตัวตน อัตราจำกัด และบันทึกกิจกรรมแบบเดียวกัน การเรียกใช้งานจะแสดงบนแท็บ Activity
ตรวจสอบ
- ในแอป ให้พิมพ์ว่า "run system_health" (หรือ "what tools do you have?") แอปจะแสดงรายการเครื่องมือที่สโคปของคุณอนุญาต (the tool list)
- เปิด Connected apps: Last used จะมีการอัปเดต
- เปิด Activity: การเรียกใช้งานจะแสดงพร้อมกับชื่อแอปและ
mcp
ขีดจำกัดและหมายเหตุ
- หากแอปขอให้ลงชื่อเข้าใช้ใหม่อีกครั้งหลังจากผ่านไป 1 ชั่วโมง ถือเป็นเรื่องปกติเมื่อไคลเอนต์ไม่ได้ทำการรีเฟรช ให้ทำการเชื่อมต่อใหม่
- Refresh token ที่ถูกนำมาใช้ซ้ำจะถือว่าถูกขโมย: การเชื่อมต่อทั้งหมดจะถูกเพิกถอน ให้เชื่อมต่อใหม่อีกครั้งจากแอป
- รหัสการอนุญาตที่ถูกนำมาใช้ซ้ำจะถูกปฏิเสธ (
invalid_grant) และโทเค็นที่ออกไปแล้วจากรหัสนั้นจะถูกเพิกถอน - สิทธิ์การเข้าถึงผ่าน OAuth จะไม่เกินกว่าที่กฎสโคปอนุญาต: what a key can never do มีผลกับแอปที่เชื่อมต่อเช่นกัน
- ผู้ให้บริการอาจมีการเปลี่ยนแปลงเมนูและการสนับสนุน หากแอปของผู้ให้บริการไม่รองรับคอนเนกเตอร์กำหนดเองในแพ็กเกจของคุณ ให้ใช้ admin API key กับเดสก์ท็อปหรือคอมมานด์ไลน์ไคลเอนต์แทน
การแก้ Problme
| อาการ | สาเหตุ | วิธีแก้ปัญหา |
|---|---|---|
| หน้าจอให้ความยินยอมแสดงข้อความ "Wrong browser" | คำขอถูกเริ่มต้นในเบราว์เซอร์อื่นที่ไม่ใช่เบราว์เซอร์ที่คุณใช้ลงชื่อเข้าอยู่ | เริ่มต้นการเชื่อมต่อใหม่อีกครั้งจากแอป AI ในเบราว์เซอร์เดิม |
| หน้าจอให้ความยินยอมแสดงข้อความว่าคำขอหมดอายุหรือหายไป | ผ่านไปนานกว่า 10 นาที หรือลิงก์ถูกเปิดซ้ำสองครั้ง | เริ่มต้นการเชื่อมต่อใหม่อีกครั้งจากแอป AI |
| หน้า "Unknown client" หรือ "redirect address does not match" | การลงทะเบียนแอปหมดอายุ หรือมีการใช้แอดเดรสเปลี่ยนเส้นทางที่ไม่ได้ลงทะเบียนไว้ | ลบคอนเนกเตอร์ในแอปออกแล้วเพิ่มใหม่อีกครั้ง |
invalid_target | resource ที่ส่งมาไม่ใช่ URL /mcp/admin ของแผงควบคุมนี้ | ใช้ URL ที่แน่นอนซึ่งแสดงอยู่บนแท็บ Connect an AI |
invalid_request เกี่ยวกับ PKCE | ไคลเอนต์ไม่ได้ส่ง code_challenge_method=S256 | ใช้ไคลเอนต์ที่รองรับ OAuth 2.1 ร่วมกับ PKCE |
แอปเชื่อมต่อได้แต่การเรียกใช้งานส่งคืน insufficient_scope | คุณไม่ได้ทำเครื่องหมายเลือกสโคปนั้น | เพิกถอนการเชื่อมต่อและเชื่อมต่อใหม่อีกครั้งโดยทำเครื่องหมายเลือกสโคป |
| แอปไม่สามารถเข้าถึง URL ได้ | DNS, TLS หรือรีเวอร์สพร็อกซีบล็อก /mcp/admin, /oauth-admin/ หรือ /.well-known/ | ตรวจสอบกฎของพร็อกซี |