MCP
ClickNext MCP
อัปเดตล่าสุด 29 ก.ย. 2026
เพิ่ม server เดียว — URL ของเรา + cnx- key ที่คุณมีอยู่แล้ว — เครื่องมือภายนอก (Claude Code, Claude Desktop, Cursor, VS Code, Codex, OpenCode, Warp) ก็เรียก “เครื่องมือของ ClickNext” ได้ทันที
MCP (Model Context Protocol) คือมาตรฐานให้ AI client ต่อกับ “เครื่องมือ/ข้อมูล” จากภายนอกได้ ClickNext MCP เปิดของกลางขององค์กรให้ agent ของคุณเรียกใช้: คลังสกิล (รวมสกิลผู้เชี่ยวชาญ expert-*), สมององค์กร (Org Brain), ความต่อเนื่องของโปรเจกต์, สร้างรูป และ Hub ที่เรียกทะลุไประบบปลายทาง — ใช้คีย์เดียวกับ endpoint โมเดล ไม่ต้องออกโทเคนใหม่
Endpoint และ Auth
| MCP URL | https://clicknexttest.biz/api/mcp |
| Transport | Streamable HTTP — JSON-RPC 2.0 ผ่าน POST ตอบกลับเป็น JSON ธรรมดา (ไม่ใช้ SSE, ไม่มี session) |
| Auth header | Authorization: Bearer cnx-xxxxxxxx (หรือ x-api-key: cnx-xxxxxxxx) |
| Protocol | initialize ตอบ protocolVersion 2024-11-05 · serverInfo clicknext 1.1.0 |
| OAuth | ไม่รองรับ — ใช้ header คีย์เท่านั้น |
initialize และ tools/list เรียกได้โดยไม่ต้องมีคีย์ (ให้ client เห็นรายการเครื่องมือ) แต่ทุกเครื่องมือต้องแนบคีย์ — list_skills / get_skill รับ skill key cnsk- ได้ด้วย · ถ้าลืมแนบคีย์ จะไม่ได้ HTTP 401 แต่เครื่องมือตอบข้อความ Auth required… (หรือ Not connected… สำหรับ whoami) พร้อม isError: true · ยังไม่มีคีย์? ดู วิธีขอ cnx- keyตั้งค่าตามเครื่องมือ
เลือกเครื่องมือของคุณ แล้วแทน cnx-xxxx ด้วยคีย์ของคุณ
ใช้คำสั่ง claude mcp add (transport แบบ http)
claude mcp add --transport http clicknext \ https://clicknexttest.biz/api/mcp \ --header "Authorization: Bearer cnx-xxxxxxxx"
อยากให้ใช้ได้ทุกโปรเจกต์ เพิ่ม --scope user (ค่าเริ่มต้นคือเฉพาะโปรเจกต์ปัจจุบัน)
claude mcp add --scope user --transport http clicknext \ https://clicknexttest.biz/api/mcp \ --header "Authorization: Bearer cnx-xxxxxxxx"
เช็กว่าเพิ่มแล้ว: claude mcp list · ในหน้าแชทของ Claude Code พิมพ์ /mcp เพื่อดูสถานะ
ช่อง “Add custom connector” ของ Claude Desktop ใส่ header เองไม่ได้ (รองรับแต่ OAuth) — ให้ต่อผ่านตัวกลาง mcp-remote แทน (ต้องมี Node.js ในเครื่อง)
Claude Desktop: Settings → Developer → Edit Config แล้วเพิ่มใน claude_desktop_config.json
{
"mcpServers": {
"clicknext": {
"command": "npx",
"args": [
"-y", "mcp-remote",
"https://clicknexttest.biz/api/mcp",
"--header", "Authorization:${CNX_AUTH}"
],
"env": { "CNX_AUTH": "Bearer cnx-xxxxxxxx" }
}
}
}Authorization:${CNX_AUTH} ติดกันไม่มีเว้นวรรค (กันปัญหาบน Windows) แล้วใส่ Bearer … ไว้ใน env · บันทึกแล้วปิด-เปิด Claude Desktop ใหม่แก้ไฟล์ ~/.cursor/mcp.json (หรือ .cursor/mcp.json ในโปรเจกต์)
{
"mcpServers": {
"clicknext": {
"url": "https://clicknexttest.biz/api/mcp",
"headers": { "Authorization": "Bearer cnx-xxxxxxxx" }
}
}
}แก้ไฟล์ .vscode/mcp.json ในโปรเจกต์ — ใช้ inputs ให้ VS Code ถามคีย์ตอนเริ่ม server จะได้ไม่ต้องเก็บคีย์ในไฟล์
{
"inputs": [
{ "type": "promptString", "id": "cnx-key",
"description": "ClickNext cnx- key", "password": true }
],
"servers": {
"clicknext": {
"type": "http",
"url": "https://clicknexttest.biz/api/mcp",
"headers": { "Authorization": "Bearer ${input:cnx-key}" }
}
}
}Codex CLI: เพิ่มใน ~/.codex/config.toml แล้วตั้งคีย์เป็นตัวแปรแวดล้อม (Codex ใส่ Authorization: Bearer ให้เอง)
# ~/.codex/config.toml [mcp_servers.clicknext] url = "https://clicknexttest.biz/api/mcp" bearer_token_env_var = "CLICKNEXT_KEY"
export CLICKNEXT_KEY=cnx-xxxxxxxx codex
เพิ่มในไฟล์ opencode.json
{
"mcp": {
"clicknext": {
"type": "remote",
"url": "https://clicknexttest.biz/api/mcp",
"headers": { "Authorization": "Bearer cnx-xxxxxxxx" },
"oauth": false,
"enabled": true
}
}
}"oauth": false บอก OpenCode ไม่ต้องพยายามล็อกอินแบบ OAuth (server นี้ใช้คีย์ใน header)Warp: Settings → Agents → MCP servers → + Add แล้ววาง JSON
{
"clicknext": {
"url": "https://clicknexttest.biz/api/mcp",
"headers": { "Authorization": "Bearer cnx-xxxxxxxx" }
}
}ทดสอบด้วย whoami
หลังเพิ่ม MCP แล้ว สั่ง agent ให้เรียกเครื่องมือ whoami — ควรตอบว่าเชื่อมต่อในชื่ออีเมลคุณ พร้อมรายการ endpoint
curl https://clicknexttest.biz/api/mcp \
-H "Authorization: Bearer cnx-xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"whoami","arguments":{}}}'สำเร็จ: ข้อความขึ้นต้น Connected to ClickNext as <อีเมลคุณ> (key: <ชื่อคีย์>) ตามด้วย chat_endpoint / models_endpoint / mcp_endpoint · ไม่สำเร็จ: Not connected. Pass your ClickNext cnx- key… = header ไม่ถูกส่งหรือคีย์ผิด
เครื่องมือทั้งหมด
ClickNext MCP เปิดเครื่องมือ 10 ตัวนี้ (ตรงกับผล tools/list) — ทุกตัวต้องแนบคีย์
ยืนยันการเชื่อมต่อ — คืนว่าเป็นคีย์ของใคร และรายการ endpoint (chat / models / mcp) เรียกตัวแรกเพื่อเช็กว่าตั้งค่าถูก
ลิสต์สกิลในคลัง ClickNext (หลายร้อยสกิล รวมสกิลผู้เชี่ยวชาญ expert-* กว่า 200 สาขา) ใส่ q เพื่อกรองจากชื่อ/คำอธิบาย/แท็ก เช่น q: "expert"
ดึงเนื้อหา SKILL.md เต็มของสกิลตามชื่อ (เช่น expert-accountant) ไปใช้เป็นบริบทในงานได้ทันที
ค้นสมององค์กร (Org Brain) แบบ semantic — การตัดสินใจ/มาตรฐาน/how-to/ข้อเท็จจริงระบบ คืนหัวข้อ + คะแนน + เนื้อหา ใช้ยึดคำตอบให้ตรงบริบท ClickNext
ลิสต์โปรเจกต์ (continuity threads) ของคุณบนเกตเวย์ สูงสุด 100 รายการล่าสุด พร้อมจำนวนเทิร์นและเวลาที่อัปเดต
ดึง handoff brief เพื่อทำงานต่อจากที่ AI/เซสชันก่อนหน้าค้างไว้ ไม่ต้องเริ่มใหม่ (เฉพาะโปรเจกต์ของคุณเอง)
สร้างรูปจากคำบรรยาย (ไทยได้ ยาวได้ถึง 1,000 ตัวอักษร) คืนเป็นรูปภาพใน MCP โดยตรง — ต้องมีสิทธิ์สร้างรูปของทีม และนับโควตารูปรายวัน
ลิสต์ “ปลายทาง” (connector) ที่คุณเรียกผ่าน Hub ได้ — ขององค์กร ของทีม และของคุณเอง พร้อมชนิด/สถานะ เริ่มจากตัวนี้
สำหรับ connector ชนิด MCP — ลิสต์ tools ของ server ปลายทาง จะได้รู้ว่าเรียกอะไรได้
เรียกทะลุไปปลายทางแล้วรับผลกลับ — MCP: ใส่ tool+arguments · REST/internal/OAuth: ใส่ path+params
/api/v1/images/generationsClickNext Hub — เรียกทะลุไปปลายทาง (Broker)
นอกจากเครื่องมือของ ClickNext เอง เกตเวย์ยังเป็น ตัวกลาง (broker) ให้ agent ของคุณเรียกไปยัง “ปลายทาง” — โปรดักต์บริษัท, REST API, MCP server อื่น และ SaaS (OAuth เช่น Google) — ผ่านเครื่องมือ 3 ตัว (list_connectors / list_connector_tools / call_connector)
ปลายทางที่คุณเห็นมี 3 ระดับ (ถ้าชื่อซ้ำกัน ระดับที่เจาะจงกว่าชนะ: ของคุณ → ของทีม → ขององค์กร)
- ขององค์กร — แอดมินเปิดให้ใช้ผ่าน broker (อาจจำกัดเฉพาะบางคีย์/บางคน) หรือตั้งเป็นแบบ “เชื่อมบัญชีตัวเอง”
- ของทีม — connector ที่แชร์ให้ทีมของคุณ
- ของคุณเอง — REST / MCP ที่คุณเพิ่มเองที่ การเชื่อมต่อของฉัน → Connector ส่วนตัวของฉัน (เรียกได้เฉพาะ agent ของคุณ จนกว่าจะกด “ขอแชร์” และ IT อนุมัติ)
call_connector จะเรียกในนามคุณด้วยสิทธิ์ของคุณเท่านั้น · คีย์เก็บที่ส่วนกลางแบบเข้ารหัส · ทุกการเรียกผ่าน SSRF guard และถูกบันทึกในระบบตรวจสอบขั้นตอนทั่วไป:
- เรียก
list_connectors— ได้บรรทัดแบบ- Google API [cn_…] type=oauth scope=org health=ok - ถ้าเป็น
type=mcp: เรียกlist_connector_tools— ดู tools ของปลายทาง - เรียก
call_connector— ส่งconnector(ชื่อหรือ id) + (MCP:tool/arguments· REST:path/params) แล้วรับผลกลับ
ตัวอย่าง: เรียก connector Google ผ่าน broker (ต้องเชื่อมบัญชี Google ที่ /my-connectors ก่อน)
curl https://clicknexttest.biz/api/mcp \
-H "Authorization: Bearer cnx-xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call",
"params":{"name":"call_connector",
"arguments":{"connector":"Google API",
"path":"/drive/v3/files"}}}'- REST: เรียกแบบ
GET·pathต่อท้าย base URL ของ connector เสมอ (ใส่ URL เต็มไปที่อื่นไม่ได้) ·paramsกลายเป็น query string - REST: ผลลัพธ์ขึ้นต้นด้วย
HTTP <status>ตามด้วยเนื้อหาไม่เกิน 6,000 ตัวอักษร · รอได้สูงสุด 20 วินาที · ปลายทางที่ redirect จะถูกบล็อก - MCP: ได้ผลของ tool ปลายทางกลับมาตรง ๆ (รูปแบบเดียวกับ
tools/call)
เรียกดิบ (JSON-RPC)
อยากลองเองหรือ debug — เกตเวย์รับ JSON-RPC 2.0 ตรง ๆ ผ่าน POST
เริ่ม session (initialize)
curl https://clicknexttest.biz/api/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":0,"method":"initialize","params":{}}'ลิสต์เครื่องมือ (ไม่ต้องมีคีย์)
curl https://clicknexttest.biz/api/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'ค้นสมององค์กร
curl https://clicknexttest.biz/api/mcp \
-H "Authorization: Bearer cnx-xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call",
"params":{"name":"search_knowledge",
"arguments":{"query":"การ deploy เกตเวย์","k":5}}}'ค้นสกิลผู้เชี่ยวชาญ
curl https://clicknexttest.biz/api/mcp \
-H "Authorization: Bearer cnx-xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":4,"method":"tools/call",
"params":{"name":"list_skills","arguments":{"q":"expert"}}}'| คำตอบ | ความหมาย |
|---|---|
result.content[] | ผลของเครื่องมือ (ข้อความ หรือรูปภาพสำหรับ generate_image) · มี isError: true = เครื่องมือทำงานไม่สำเร็จ อ่านเหตุผลจากข้อความ |
error -32602 unknown tool | ชื่อเครื่องมือผิด — เช็กจาก tools/list |
error -32601 method not found | รองรับเฉพาะ initialize, tools/list, tools/call (และ notifications/* ซึ่งตอบ HTTP 202) |
แก้ปัญหาที่พบบ่อย
| อาการ | สาเหตุ / วิธีแก้ |
|---|---|
เห็นเครื่องมือครบ แต่เรียกแล้วได้ Auth required… / Not connected… | header คีย์ไม่ถูกส่ง หรือคีย์ผิด/ถูกเพิกถอน (tools/list เปิดโดยไม่ต้องมีคีย์ จึงเห็นรายการได้อยู่ดี) — เช็กว่าเขียน Bearer cnx-… ถูก แล้วลอง whoami |
| client พาไปหน้าล็อกอิน OAuth | server นี้ไม่มี OAuth — ใส่คีย์ใน header แทน (OpenCode: "oauth": false · Claude Desktop: ใช้ mcp-remote) |
| log ฟ้องว่าเปิด SSE / GET ไม่ได้ (404) | ปกติ — server รับเฉพาะ POST และตอบเป็น JSON ทุกครั้ง เครื่องมือยังเรียกได้ตามปกติ |
generate_image: บัญชีนี้ไม่ได้รับสิทธิ์สร้างรูป / ใช้เกินโควต้าสร้างรูปวันนี้แล้ว | ทีมของคุณยังไม่เปิดสิทธิ์สร้างรูป หรือใช้ครบโควตารายวันแล้ว — ลองใหม่พรุ่งนี้ หรือแจ้ง IT |
call_connector: Connector not found or not exposed to the broker | ชื่อ/id ไม่ตรง หรือคุณไม่มีสิทธิ์ connector นั้น — เรียก list_connectors แล้วใช้ชื่อตามที่ขึ้น |
call_connector: You have not connected your account… / Add your own key… | connector นี้ใช้บัญชี/คีย์รายคน — เปิด /my-connectors กดเชื่อมบัญชีหรือวางคีย์ แล้วลองใหม่ |
The ClickNext broker is disabled | แอดมินปิด Hub ชั่วคราว — เครื่องมืออื่นยังใช้ได้ ติดต่อ IT |