MCP server เป็นวิธีที่ง่ายที่สุดในการให้ผู้ช่วย AI มีหน่วยความจำที่อยู่นานกว่าหนึ่งแชต Claude Code, Cursor และไคลเอนต์ที่คล้ายกันเสียบริบทของแชตเมื่อแชตจบ การให้เข้าถึงฐานข้อมูลดิบเพื่อแก้ปัญหานี้มีความเสี่ยง hotkv-mcp คือ MCP server โอเพนซอร์สของเราสำหรับ HotKV มันให้ผู้ช่วยมีชุดเครื่องมือตายตัวสำหรับโน้ต ประวัติบทสนทนา ล็อกเหตุการณ์ เทมเพลตพรอมต์ และการค้นหาเอกสาร และไม่ให้อะไรอย่างอื่น
สรุปสั้นๆ
hotkv-mcpเป็น MCP server แบบ Apache-2.0 ที่เชื่อม Claude Code, Cursor, VS Code หรือเอเจนต์ของคุณเองเข้ากับเซิร์ฟเวอร์ HotKV ผ่านเครื่องมือตายตัว 28 ตัว ไม่มีเครื่องมือที่รันคำสั่งตามอำเภอใจ ผู้ช่วยจึงล้างข้อมูลหรือเปลี่ยนการกำหนดค่าไม่ได้ โหมดอ่านอย่างเดียวถอดเครื่องมือเขียนทุกตัวออก และ namespace จำกัดเอเจนต์ไว้ที่พรีฟิกซ์คีย์เดียว ติดตั้งด้วยpip install hotkv-mcpหรือรันด้วยuvx
Model Context Protocol คืออะไร
Model Context Protocol หรือ MCP เป็นมาตรฐานเปิดสำหรับเชื่อมต่อแอปพลิเคชัน AI เข้ากับระบบภายนอก เช่น แหล่งข้อมูล เครื่องมือ และเวิร์กโฟลว์ บทแนะนำของโปรเจกต์เปรียบมันกับพอร์ต USB-C สำหรับแอปพลิเคชัน AI ในภาษาของ MCP แอปพลิเคชันคือไคลเอนต์ และแต่ละระบบที่มันเชื่อมต่อถูกเปิดให้ใช้โดยเซิร์ฟเวอร์
สำหรับหน่วยความจำ นั่นหมายความว่าผู้ช่วยเรียกเครื่องมือที่มีชื่อ เช่นตัวที่บันทึกโน้ต เซิร์ฟเวอร์เป็นผู้ตัดสินว่าเครื่องมือนั้นทำอะไรได้บ้าง โมเดลไม่เคยได้การเชื่อมต่อฐานข้อมูลของตัวเอง
HotKV MCP server เปิดให้ใช้อะไรบ้าง
เซิร์ฟเวอร์ห่อหน่วยความจำของเอเจนต์ prompt registry และการค้นหาเอกสารของ HotKV ไว้ในเครื่องมือ 28 ตัว แต่ละเครื่องมือประกาศใน annotation ของ MCP ว่ามันอ่านอย่างเดียว เขียน หรือลบ ไคลเอนต์จึงขอการอนุมัติก่อนเครื่องมือที่ทำลายข้อมูลได้
| กลุ่ม | เครื่องมือ |
|---|---|
| เซิร์ฟเวอร์ | server_info |
| คีย์ | get, set, delete, key_info, scan |
| แฮชและลิสต์ | hash_get, hash_set, list_range, list_push |
| หน่วยความจำบทสนทนา | memory_append_message, memory_get_messages, memory_clear_messages |
| โน้ตการทำงาน | memory_set_note, memory_get_note, memory_list_notes |
| ล็อกเหตุการณ์และบทสรุป | memory_log_event, memory_query_events, memory_set_summary, memory_get_summary |
| Prompt registry | prompt_save, prompt_get, prompt_versions, prompt_list |
| การค้นหาเอกสาร | rag_create, rag_ingest, rag_search, rag_list |
เครื่องมือหน่วยความจำสอดคล้องกับที่เก็บที่อธิบายไว้ในหน่วยความจำของเอเจนต์ AI คือประวัติบทสนทนา โน้ตการทำงาน และล็อกเหตุการณ์ ไม่ได้เปิดการดึงข้อมูลเชิงความหมายด้วย embedding rag_search จัดอันดับตามความเกี่ยวข้องของคีย์เวิร์ด จึงไม่ต้องใช้ embedding
เครื่องมือคีย์ แฮช และลิสต์ใช้ได้กับเซิร์ฟเวอร์ HotKV ใดก็ได้ ส่วนเครื่องมือหน่วยความจำ พรอมต์ และการค้นหาเอกสารใช้เอนจิน AI ของ HotKV ซึ่งต้องมีไลเซนส์ที่รวมเอนจินเหล่านั้น หากไม่มี เครื่องมือเหล่านั้นจะคืนข้อความว่าเซิร์ฟเวอร์ไม่ได้รับไลเซนส์สำหรับฟีเจอร์นี้ เครื่องมือคีย์ยังใช้งานได้ อินสแตนซ์ HotKV Cloud แผน Performance และ Scale รวมเอนจิน AI ไว้แล้ว ตามที่หน้า AIอธิบาย
ติดตั้งและเชื่อมต่อ
เซิร์ฟเวอร์ต้องใช้ Python 3.10 ขึ้นไป เขียนขึ้นกับ HotKV server 0.3.0 และแพ็กเกจ hotkv-client ทางการ และเวอร์ชัน 1.0.0 อยู่บน PyPI ติดตั้งด้วย pip หรือรันโดยไม่ต้องติดตั้งด้วย uv
pip install hotkv-mcp
uvx hotkv-mcp --url hotkv://localhost:6379
Claude Code
เพิ่มด้วยคำสั่งเดียว -- แยกตัวเลือกของ Claude Code เองออกจากคำสั่งที่เริ่มเซิร์ฟเวอร์ ตามที่เอกสาร MCP ของ Claude Code อธิบาย
claude mcp add hotkv -- uvx hotkv-mcp --url hotkv://localhost:6379
Cursor และ Claude Desktop
ไคลเอนต์ที่อ่านไฟล์ mcpServers รับเซิร์ฟเวอร์เดียวกันเป็นรายการ JSON เก็บรหัสผ่านไว้ในตัวแปรสภาพแวดล้อม HOTKV_URL หรือที่เก็บความลับของไคลเอนต์ ผู้ใช้อื่นของเครื่องเห็นบรรทัดคำสั่งได้ ใช้ hotkvs:// สำหรับการเชื่อมต่อ TLS
{
"mcpServers": {
"hotkv": {
"command": "uvx",
"args": ["hotkv-mcp", "--read-only"],
"env": { "HOTKV_URL": "hotkv://:your-password@localhost:6379" }
}
}
}
ตรวจว่าใช้งานได้
รัน claude mcp list เพื่อยืนยันว่าเซิร์ฟเวอร์ถูกลงทะเบียนแล้ว จากนั้นขอให้ผู้ช่วยเรียกเครื่องมือ server_info มันคืนเวอร์ชัน HotKV และการใช้หน่วยความจำ พร้อมจำนวนคีย์เมื่อไม่ได้ตั้ง namespace และยังรายงานว่าเซิร์ฟเวอร์เป็นแบบอ่านอย่างเดียวหรือไม่ และถูกจำกัดอยู่ใน namespace ใด นั่นยืนยันว่ามาตรการป้องกันของคุณมีผลแล้ว
ให้เอเจนต์อยู่ในขอบเขตที่ปลอดภัย
โมเดลที่เรียกเครื่องมือได้ก็ถูกชักจูงให้ใช้เครื่องมือผิดวัตถุประสงค์ได้เช่นกัน ขอบเขตจึงสำคัญกว่าฟีเจอร์
ไม่มีคำสั่งตามอำเภอใจ
ไม่มีเครื่องมือที่รันคำสั่งดิบ ผู้ช่วยล้างฐานข้อมูลหรือเปลี่ยนการกำหนดค่าของเซิร์ฟเวอร์ไม่ได้ เพราะเครื่องมือทั้ง 28 ตัวไม่ได้ทำสิ่งเหล่านั้น มันอ่านคีย์ใดก็ได้ที่เครื่องมือเข้าถึง ซึ่งเป็นเหตุผลที่ namespace ด้านล่างสำคัญ
โหมดอ่านอย่างเดียว
--read-only ถอดเครื่องมือทุกตัวที่เขียน รวมถึง set, delete, hash_set, list_push เครื่องมือหน่วยความจำที่เพิ่มหรือล้าง prompt_save, rag_create และ rag_ingest เอเจนต์แม้แต่มองไม่เห็นมัน ใช้กับผู้ช่วยที่ควรอ้างอิงหน่วยความจำแต่ไม่เปลี่ยนมันเลย
Namespace และเพดานขนาด
--namespace PREFIX เก็บทุกอย่างไว้ใต้พรีฟิกซ์นั้น เอเจนต์ไม่เห็นพรีฟิกซ์และเข้าถึงชื่ออื่นไม่ได้ ให้เอเจนต์แต่ละตัวมีพรีฟิกซ์ที่ไม่ใช่ส่วนต้นของพรีฟิกซ์ของตัวอื่น ใช้ agent-a และ agent-b ไม่ใช่ agent และ agent:b ไม่เช่นนั้นตัวที่สั้นกว่าจะเข้าถึงชื่อของตัวที่ยาวกว่าได้
ผลลัพธ์ก็มีเพดานด้วย --max-value-bytes ตัดค่าที่ยาวและทำเครื่องหมายว่าถูกตัด โดยค่าเริ่มต้นคือ 65,536 ไบต์ --max-items จำกัดจำนวนคีย์ รายการในลิสต์ หรือผลที่พบที่การเรียกหนึ่งครั้งคืนมา โดยค่าเริ่มต้นคือ 200 ค่าขนาดมหึมาเพียงค่าเดียวจึงท่วมบริบทของโมเดลไม่ได้ การอ่านทั้งแฮชไม่ถูกจำกัดจำนวนรายการ จึงควรเก็บแฮชขนาดใหญ่ไว้นอก namespace ของเอเจนต์
การขนส่งผ่าน HTTP ไม่มีการล็อกอิน
การขนส่งแบบ stdio เริ่มต้นถูกไคลเอนต์เริ่มเป็นโปรเซสย่อย สำหรับการใช้ร่วมกัน คุณรัน hotkv-mcp --transport streamable-http ได้ ซึ่งรับฟังที่ 127.0.0.1:8000 ที่ /mcp มันไม่ยืนยันตัวตนผู้เรียก ให้คงไว้บน localhost หรือวางไว้หลังรีเวิร์สพร็อกซีที่ยืนยันตัวตน และกำหนด namespace ของมันเอง
เลือกการตั้งค่าสำหรับทีม
แฟล็กที่เหมาะสมขึ้นอยู่กับว่าเอเจนต์แต่ละตัวมีไว้ทำอะไร ทุกตัวเลือกด้านล่างเป็นแฟล็กบรรทัดคำสั่ง --read-only และ --namespace ยังมีตัวแปรสภาพแวดล้อม คือ HOTKV_MCP_READ_ONLY และ HOTKV_MCP_NAMESPACE
| การตั้งค่า | แฟล็ก | ใช้เมื่อ |
|---|---|---|
| ทดลองคนเดียว | --namespace trial | คุณกำลังลองเครื่องมือบนเซิร์ฟเวอร์ในเครื่อง |
| ผู้อ่านโน้ตที่ใช้ร่วมกัน | --read-only --namespace team-docs | ผู้ช่วยควรอ้างอิงพรอมต์และโน้ตแต่ไม่เปลี่ยนมันเลย |
| ผู้เขียนหนึ่งรายต่อเอเจนต์ | --namespace agent-a สำหรับเอเจนต์แต่ละตัว | เอเจนต์หลายตัวเก็บหน่วยความจำของตัวเองและต้องไม่เห็นของกันและกัน |
| บริการที่ใช้ร่วมกัน | --transport streamable-http หลังพร็อกซีที่ยืนยันตัวตน | ทีมใช้เซิร์ฟเวอร์เดียวร่วมกัน และคุณควบคุมว่าใครเข้าถึงได้ |
เริ่มจากแถวที่จำกัดที่สุดที่ทำงานได้ การขยายสิทธิ์ภายหลังทำได้ง่าย แต่การเอาคืนสิ่งที่เอเจนต์เขียนไปแล้วทำได้ยาก
เซสชันแรก ทีละขั้นตอน
การทดลองสั้นๆ แสดงว่ามาตรการป้องกันทำอะไร ก่อนที่คุณจะไว้ใจเซิร์ฟเวอร์กับโน้ตจริง ใช้ namespace ชั่วคราวและเซิร์ฟเวอร์ HotKV ในเครื่องที่มีไลเซนส์สำหรับเอนจิน AI เพราะเครื่องมือหน่วยความจำใช้ไม่ได้หากไม่มีไลเซนส์นั้น
- เชื่อมต่อด้วย namespace รัน
claude mcp add hotkv -- uvx hotkv-mcp --url hotkv://localhost:6379 --namespace trial - ตรวจขอบเขต ขอให้ผู้ช่วยเรียก
server_infoแล้วรายงาน namespace และบอกว่าเซิร์ฟเวอร์เป็นแบบอ่านอย่างเดียวหรือไม่ มันควรตอบtrialและไม่ใช่อ่านอย่างเดียว - บันทึกโน้ต ขอให้มันจำว่าไซต์ staging อยู่ที่ที่อยู่หนึ่ง ภายใต้โน้ตที่ตั้งชื่อตามไซต์ ผู้ช่วยเรียก
memory_set_noteและเซสชันถูกสร้างเมื่อใช้ครั้งแรก - อ่านกลับในแชตใหม่ เริ่มบทสนทนาใหม่และถามว่ามีโน้ตอะไรสำหรับเซสชันนั้น มันเรียก
memory_list_notesและmemory_get_noteและโน้ตยังอยู่ - บันทึกการตัดสินใจ ขอให้มันบันทึกการตัดสินใจในล็อกเหตุการณ์ มันเรียก
memory_log_eventและmemory_query_eventsนำมันกลับมาภายหลัง - ถอดสิทธิ์เขียน ลบรายการเดิม เชื่อมต่อใหม่ด้วย
--read-onlyแล้วทำขั้นที่ 4 ซ้ำ การอ่านยังใช้ได้ และเครื่องมือที่เขียนไม่ถูกเสนออีก
หากขั้นที่ 6 ทำงานตามที่อธิบาย คุณก็ได้เห็นการควบคุมสองอย่างที่สำคัญที่สุดแล้ว คือ namespace และโหมดอ่านอย่างเดียว
ปฏิบัติต่อสิ่งที่ผู้ช่วยเก็บไว้เหมือนข้อความที่ไม่น่าเชื่อถือเมื่ออ่านกลับ ตามที่บทความเรื่องหน่วยความจำอธิบายในปฏิบัติต่อข้อความที่เก็บไว้เหมือนไม่น่าเชื่อถือ โน้ตที่เขียนจากหน้าเว็บอาจแฝงคำสั่ง
การแก้ปัญหา
- "This HotKV server is not licensed for that feature." เครื่องมือหน่วยความจำ พรอมต์ และการค้นหาเอกสารต้องใช้ไลเซนส์ HotKV ที่รวมเอนจิน AI เครื่องมือคีย์ แฮช และลิสต์ยังใช้ได้โดยไม่มีไลเซนส์
- การเชื่อมต่อล้มเหลว ตรวจสกีมของ URL
hotkv://,hotkvs://(TLS),redis://และrediss://ใช้ได้ทั้งหมด และรหัสผ่านใส่ใน URL เป็นhotkv://:password@host:6379 - ค่าถูกตัด ผลลัพธ์ถูกทำเครื่องหมายว่าถูกตัดเมื่อเกิน
--max-value-bytesเพิ่มขีดจำกัด หรือเก็บค่าที่เล็กลง - เครื่องมือเขียนหายไป มองหา
--read-onlyในอาร์กิวเมนต์ของเซิร์ฟเวอร์ หรือHOTKV_MCP_READ_ONLYในสภาพแวดล้อมของมัน - ผู้ช่วยหาชื่อที่เคยบันทึกไว้ไม่เจอ ตรวจว่ามันใช้ชื่อเซสชันหรือเอเจนต์เดียวกัน และเซิร์ฟเวอร์รันด้วย namespace เดียวกับก่อนหน้า
- ไม่พบ
uvxติดตั้ง uv หรือติดตั้งแพ็กเกจด้วยpipแล้วเริ่มhotkv-mcpโดยตรง
คำถามที่พบบ่อย
MCP server คืออะไร
MCP server คือโปรแกรมที่เปิดเครื่องมือ ข้อมูล หรือเวิร์กโฟลว์ให้แอปพลิเคชัน AI ใช้ผ่าน Model Context Protocol แอปพลิเคชันซึ่งเรียกว่าไคลเอนต์ แสดงรายการเครื่องมือและเรียกตามชื่อ เซิร์ฟเวอร์ควบคุมอย่างแม่นยำว่าแต่ละเครื่องมือทำอะไรได้
จะเพิ่ม MCP server ใน Claude Code ได้อย่างไร
รัน claude mcp add <name> -- <command> สำหรับ HotKV คือ claude mcp add hotkv -- uvx hotkv-mcp --url hotkv://localhost:6379 หลังจากนั้นใช้ claude mcp list เพื่อยืนยันว่าลงทะเบียนแล้ว
HotKV MCP server ปลอดภัยพอที่จะให้ผู้ช่วย AI ใช้ไหม
มันจำกัดสิ่งที่ผู้ช่วยทำได้ มีเครื่องมือตายตัว 28 ตัวและไม่มีคำสั่งตามอำเภอใจ ตั้งเป็นอ่านอย่างเดียวได้ จำกัดไว้ใน namespace เดียวได้ และมีเพดานขนาดผลลัพธ์ แต่มันทำให้ข้อความที่เก็บไว้น่าเชื่อถือไม่ได้ และการขนส่งผ่าน HTTP ไม่มีการยืนยันตัวตน จึงควรคงไว้บน localhost
HotKV MCP server ใช้กับ Cursor และ VS Code ได้ไหม
README ระบุ Cursor และ VS Code ไว้ในไคลเอนต์ที่มันมีไว้สำหรับ และไคลเอนต์ใดที่เริ่ม MCP server ผ่าน stdio ได้ก็รันมันได้ Cursor และ Claude Desktop อ่านไฟล์ mcpServers ตามที่แสดงข้างต้น ไคลเอนต์อื่นเรียกการตั้งค่านั้นต่างกัน จึงควรดูเอกสารของไคลเอนต์ของคุณ เรายังไม่ได้ทดสอบทุกไคลเอนต์
ต้องมีไลเซนส์ HotKV เพื่อใช้ hotkv-mcp ไหม
ตัวเซิร์ฟเวอร์เป็น Apache-2.0 และเครื่องมือคีย์ แฮช และลิสต์ใช้ได้โดยไม่มีไลเซนส์ เครื่องมือหน่วยความจำ prompt registry และการค้นหาเอกสารต้องใช้ไลเซนส์ HotKV ที่รวมเอนจิน AI
ผู้ช่วยค้นหาด้วยความหมายได้ไหม
ไม่ได้ผ่านเซิร์ฟเวอร์นี้ การค้นหาเอกสารจัดอันดับตามความเกี่ยวข้องของคีย์เวิร์ดเพื่อไม่ต้องใช้โมเดล embedding และหน่วยความจำเชิงความหมายไม่ได้เปิดเป็นเครื่องมือ สำหรับการดึงข้อมูลด้วยความหมาย ให้ใช้ไลบรารีไคลเอนต์ HotKV กับ embedding ของคุณเอง
จำกัดผู้ช่วยให้ใช้หน่วยความจำของโปรเจกต์เดียวได้ไหม
ได้ เริ่มเซิร์ฟเวอร์ด้วย --namespace และพรีฟิกซ์ของโปรเจกต์นั้น เช่น --namespace project-x ผู้ช่วยไม่เห็นพรีฟิกซ์และเข้าถึงชื่อนอกพรีฟิกซ์ไม่ได้ ใช้พรีฟิกซ์ต่างกันสำหรับแต่ละโปรเจกต์ และหลีกเลี่ยงพรีฟิกซ์ที่เป็นส่วนต้นของพรีฟิกซ์อื่น
รัน hotkv-mcp ผ่าน HTTP ได้อย่างไร
เริ่มด้วย hotkv-mcp --transport streamable-http --host 127.0.0.1 --port 8000 มันเสิร์ฟ /mcp และไม่ยืนยันตัวตนผู้เรียก จึงควรคงไว้บน localhost หรือวางหลังรีเวิร์สพร็อกซีที่ยืนยันตัวตน กำหนด namespace ของมันเอง และใช้ --read-only ในที่ที่ไคลเอนต์แค่ต้องอ่าน
เมื่อไรควรใช้ไลบรารีไคลเอนต์แทน MCP server
ใช้ MCP server กับผู้ช่วยที่ใช้ MCP อยู่แล้ว สำหรับโค้ดแอปพลิเคชันของคุณเอง ให้เรียก HotKV ด้วยไลบรารีไคลเอนต์ ซึ่งยังเปิดการดึงข้อมูลเชิงความหมายด้วย embedding ซึ่งเครื่องมือทั้ง 28 ตัวไม่มี



ร่วมสนทนาต่อ
ความคิดเห็น
มีคำถามเกี่ยวกับวิธีการ หรือได้ผลต่างออกไปบนฮาร์ดแวร์ของคุณหรือไม่ เล่าให้เราฟังว่าคุณพบอะไร ความคิดเห็นจะได้รับการตรวจสอบก่อนแสดงผล