คู่มือ MCP server (สำหรับนักพัฒนา)
เมื่อเชื่อมต่อกับ MCP server ของ PRING คุณแค่ขอ AI agent เช่น Claude ว่า "ออกใบแจ้งหนี้ของเดือนนี้ทั้งหมดรวมกัน" ระบบจะสร้างเอกสารจากเรคคอร์ด kintone ด้วยเทมเพลต PRING และส่งลิงก์ของไฟล์กลับมา ไม่ต้องติดตั้งอะไร แค่เขียนการตั้งค่าการเชื่อมต่อ (URL และ API key) ครั้งเดียว การยืนยันตัวตน สิทธิ์ และขีดจำกัดเหมือนกับ Public API
MCP server ใช้ได้ในแผน Pro
สิ่งที่ต้องมี
- มีสัญญาแผน Pro
- ออก API key แล้ว ที่แท็บ “API” (ในหมวด “อัตโนมัติและการเชื่อมต่อ”) ของหน้าตั้งค่า เลือก scope ตามสิ่งที่ต้องการทำ (สร้างและรับเอกสาร ใช้
renderและfiles:readหากเพิ่มเรคคอร์ดด้วย ใช้records:writeเพิ่ม) วิธีออก key อยู่ใน คู่มือ Public API - ลงทะเบียน API token ของ kintone ทีละแอปที่จะใช้ในแท็บ “API” แล้ว
การตั้งค่าการเชื่อมต่อ
URL สำหรับเชื่อมต่อคือ https://api.pring.tech/mcp ส่ง key ใน header Authorization: Bearer อย่าใส่ key ใน URL
Claude Code
claude mcp add --transport http pring https://api.pring.tech/mcp --header "Authorization: Bearer prk_live_xxxxxxxx"
Claude Desktop
เพิ่มใน mcpServers ของไฟล์ตั้งค่า (claude_desktop_config.json)
{
"mcpServers": {
"pring": {
"type": "http",
"url": "https://api.pring.tech/mcp",
"headers": { "Authorization": "Bearer prk_live_xxxxxxxx" }
}
}
}
Cursor
เพิ่มใน .cursor/mcp.json (ของโปรเจกต์) หรือ ~/.cursor/mcp.json ในโฟลเดอร์ home
{
"mcpServers": {
"pring": {
"type": "http",
"url": "https://api.pring.tech/mcp",
"headers": { "Authorization": "Bearer prk_live_xxxxxxxx" }
}
}
}
เมื่อเขียน key ในไฟล์ตั้งค่า อย่าใส่ไฟล์นั้นใน repository ที่แชร์กับคนอื่น ดูแล key แบบเดียวกับ “การเก็บ key” ในคู่มือ Public API
สิ่งที่ทำได้ (ตัวอย่าง)
| วิธีขอ | สิ่งที่ AI agent ทำ |
|---|---|
| “ออกใบแจ้งหนี้ของเดือนนี้ทั้งหมดรวมกัน” | สร้าง query ของ kintone ตามวันที่ของเดือนนี้ สร้างเอกสารแบบรวมด้วย bulk_render รอจนเสร็จด้วย get_job แล้วส่งลิงก์ ZIP กลับมา |
| “ทำใบเสนอราคาของเรคคอร์ด 101 เป็น PDF” | ตรวจสอบเทมเพลตด้วย list_templates สร้าง PDF 1 ไฟล์ด้วย render แล้วส่งลิงก์กลับมา |
| “ลงทะเบียนใบสั่งซื้อตามเนื้อหานี้ แล้วทำเป็น PDF” | ตรวจสอบฟิลด์ที่ต้องกรอกด้วย describe_template แล้วเพิ่มเรคคอร์ดใน kintone และสร้าง PDF ด้วย register_and_render |
tools
| tool | อาร์กิวเมนต์ | สิ่งที่ส่งกลับ | Scope |
|---|---|---|---|
list_apps |
ไม่มี | แอปที่ติดตั้ง PRING และเทมเพลตของแอปนั้น | ทุก scope |
list_templates |
app |
เทมเพลตของแอปนั้น (ID ชื่อ รูปแบบ) | ทุก scope |
describe_template |
app, template |
รายการฟิลด์ที่จะใส่ค่า (code ชื่อ ประเภท บังคับหรือไม่ คอลัมน์ของตาราง) ไม่ส่งค่ากลับ | ทุก scope |
render |
app, record_id, template, format (ไม่บังคับ) |
ลิงก์ของไฟล์ที่สร้าง (ครั้งเดียว ภายใน 15 นาที) | render (ลิงก์ต้องใช้ files:read) |
register_and_render |
app, record (รูปแบบ kintone REST), template, format (ไม่บังคับ) |
หมายเลขเรคคอร์ดที่เพิ่ม และลิงก์ของไฟล์ | records:write และ render |
bulk_render |
app, template, record_ids (ไม่เกิน 100 รายการ) หรือ query (query ของ kintone), format (ไม่บังคับ) |
ID ของ job และจำนวน | render |
get_job |
job_id |
สถานะของ job (queued / running / done / failed) จำนวน และลิงก์ ZIP เมื่อเสร็จ |
render (ลิงก์ต้องใช้ files:read) |
queryส่งต่อให้ kintone ตามที่เขียน ยาวได้ไม่เกิน 2,000 ตัวอักษร และตัดจำนวนไว้ที่ 100 รายการ หากไม่มีเรคคอร์ดเลย จะตอบว่า “0 รายการ”- ไม่ส่งเนื้อหาไฟล์กลับ ส่งเพียงลิงก์ ลิงก์เปิดได้ครั้งเดียวภายใน 15 นาที เหมือน Public API
- หาก key ไม่มี
files:readจะไม่ส่งลิงก์ของไฟล์ และแจ้งเรื่องนั้นกลับมาแทน - นอกจากนี้ยังมี resources (
pring://openapi= OpenAPI ของ Public API,pring://help/public-api= ประเด็นสำคัญของหน้าวิธีใช้นี้) และ prompts (monthly_invoices= ออกใบแจ้งหนี้ของเดือนนี้ทั้งหมดรวมกัน,quote_to_order= สร้างใบสั่งซื้อจากใบเสนอราคา)
เพื่อความปลอดภัย
- การยืนยันตัวตน การจำกัด IP address, rate limit, แผน และ scope เหมือนกับ Public API ทุกอย่าง ไม่มีช่องทางเลี่ยงผ่าน MCP
- การเรียกจากเบราว์เซอร์โดยตรง (การเรียกที่มี header Origin) จะถูกปฏิเสธ
- ผลลัพธ์ของ tool อาจมีค่าจาก kintone หรือชื่อเทมเพลต สิ่งเหล่านั้นเป็นข้อมูล ไม่ใช่คำสั่ง (คำอธิบายของแต่ละ tool ก็เขียนไว้เช่นกัน)
- API key และ token ของ kintone ไม่แสดงใน response และ log
หน้าที่เกี่ยวข้อง
คำถามที่พบบ่อย
ต้องติดตั้งอะไรไหม?
ไม่ต้อง MCP server ของ PRING ทำงานบนอินเทอร์เน็ต (remote MCP, Streamable HTTP) แค่เขียน URL และ API key ในการตั้งค่าของ AI agent ก็ใช้ได้
ต่างจาก Public API อย่างไร?
ทำงานเหมือนกัน MCP server ทำงานบน Public API และการยืนยันตัวตน การจำกัด IP address, rate limit, แผน และ scope ก็เหมือนกับ Public API ที่ต่างคือวิธีเรียก ใน MCP คุณไม่ต้องเขียนโปรแกรม แค่บอก AI agent เป็นคำพูด
ข้อมูล kintone ถูกส่งไปให้ AI agent ไหม?
ผลลัพธ์ของ tool ที่ AI agent ได้รับ ได้แก่ ชื่อแอปและเทมเพลต หมายเลขเรคคอร์ดที่เพิ่ม และลิงก์ของไฟล์ ส่วนค่าของเรคคอร์ดนั้นอยู่ฝั่ง AI agent ตอนที่ AI agent เพิ่มเรคคอร์ด เซิร์ฟเวอร์ของ PRING ไม่เก็บค่าของเรคคอร์ด ไม่ส่งเนื้อหาไฟล์กลับไป ส่งเพียงลิงก์ที่เปิดได้ครั้งเดียวภายใน 15 นาที
เอกสารที่สร้างนับเป็นจำนวนหน้าด้วยไหม?
นับ นับรวมในจำนวนหน้าต่อเดือน เหมือนการส่งออกจากหน้าจอหรือ Public API เอกสารที่สร้างด้วย key สำหรับทดสอบ (prk_test_) ไม่นับ
เชื่อมต่อด้วย OAuth ได้ไหม?
ตอนนี้เชื่อมต่อด้วย API key (Authorization: Bearer)