esa MCP Server
ทางการเซิร์ฟเวอร์ Model Context Protocol (MCP) อย่างเป็นทางการสำหรับ esa.io - เวอร์ชันการขนส่งแบบ STDIO
คุณทำอะไรได้บ้างด้วย Esa MCP?
- แสดงรายชื่อทีม esa และสถิติของทีม — ใช้
esa_get_teamsและesa_get_team_statsเพื่อดูว่าคุณสามารถเข้าถึงทีมใดได้บ้างและดูเมตริกกิจกรรมของทีม - ค้นหาและดึงข้อมูลโพสต์ esa — ค้นหาโพสต์ด้วย
esa_search_postsจากนั้นดึงเนื้อหาเต็มและข้อมูลเมตาด้วยesa_get_post - สร้าง อัปเดต หรือเพิ่มเนื้อหาต่อท้ายโพสต์ — ร่างโพสต์ใหม่ผ่าน
esa_create_postแก้ไขโพสต์ที่มีอยู่ด้วยesa_update_postหรือเพิ่มเนื้อหาโดยไม่ต้องดึงเนื้อหาปัจจุบันด้วยesa_append_post/esa_prepend_post - จัดการสถานะเวิร์กโฟลว์ของโพสต์ — เก็บถาวรโพสต์ด้วย
esa_archive_postทำเครื่องหมายว่าส่งมอบแล้วผ่านesa_ship_postหรือทำซ้ำโพสต์ข้ามทีมโดยใช้esa_duplicate_post - ทำงานกับความคิดเห็น — แสดงรายการ สร้าง อัปเดต หรือลบความคิดเห็นบนโพสต์โดยใช้
esa_get_post_comments,esa_create_comment,esa_update_commentและesa_delete_comment - เรียกดูหมวดหมู่และแท็ก — สำรวจโครงสร้างหมวดหมู่ของทีมด้วย
esa_get_all_category_pathsและesa_get_categoriesหรือตรวจสอบแท็กทั้งหมดผ่านesa_get_team_tags
เอกสาร
esa MCP Server
日本語 | English
เซิร์ฟเวอร์ Model Context Protocol (MCP) อย่างเป็นทางการสำหรับ esa.io - เวอร์ชันการขนส่งแบบ STDIO
ภาพรวม
เซิร์ฟเวอร์ MCP นี้มอบการผสานรวมที่ราบรื่นระหว่างผู้ช่วย AI และ esa.io ซึ่งเป็นแพลตฟอร์มเอกสารที่ทำงานร่วมกัน ช่วยให้ผู้ช่วย AI สามารถอ่าน สร้าง อัปเดต และจัดการเอกสาร esa ได้โดยตรงผ่าน Model Context Protocol
เครื่องมือที่พร้อมใช้งาน
การจัดการทีม
esa_get_teams- รับทีม esa ที่ผู้ใช้เข้าถึงได้esa_get_team_stats- รับสถิติของทีม (สมาชิก, โพสต์, ความคิดเห็น, ดาว, การเฝ้าดู, ผู้ใช้ที่ใช้งานอยู่)esa_get_team_tags- รับแท็กทั้งหมดที่ใช้ในโพสต์ของทีมพร้อมจำนวนesa_get_team_members- รับสมาชิกในทีมพร้อมบทบาทและข้อมูลโปรไฟล์
การจัดการโพสต์
esa_search_posts- ค้นหาโพสต์ใน esa.ioesa_get_post- รับโพสต์ที่ระบุตามหมายเลขโพสต์ (รวมbacklinks_countและbody_md_statsพร้อมจำนวนตัวอักษรและบรรทัดของเนื้อหา)esa_get_post_backlinks- แสดงรายการโพสต์ที่อ้างอิงถึงโพสต์ที่ระบุพร้อมการแบ่งหน้าesa_create_post- สร้างโพสต์ใหม่พร้อมแท็ก, หมวดหมู่ และสถานะ WIPesa_update_post- อัปเดตโพสต์ที่มีอยู่ (ชื่อเรื่อง, เนื้อหา, แท็ก, หมวดหมู่, สถานะ WIP)esa_append_post- ผนวกเนื้อหาที่ส่วนท้ายของเนื้อหาโพสต์ (ไม่จำเป็นต้องดึงเนื้อหาปัจจุบัน; บันทึกเป็นการแก้ไขใหม่)esa_prepend_post- แทรกเนื้อหาที่จุดเริ่มต้นของเนื้อหาโพสต์ (ไม่จำเป็นต้องดึงเนื้อหาปัจจุบัน; บันทึกเป็นการแก้ไขใหม่)
การดำเนินการกับโพสต์
esa_archive_post- เก็บถาวรโพสต์โดยย้ายไปยังหมวดหมู่ Archived/esa_ship_post- จัดส่งโพสต์ (ทำเครื่องหมายว่าเสร็จสมบูรณ์โดยตั้งค่า wip เป็น false)esa_duplicate_post- ทำซ้ำโพสต์ (สร้างโพสต์ WIP ใหม่ที่มีชื่อเรื่องและเนื้อหาเดียวกัน; รองรับการทำซ้ำข้ามทีมด้วย)
การจัดการความคิดเห็น
esa_get_comment- รับความคิดเห็นที่ระบุตาม IDesa_create_comment- สร้างความคิดเห็นใหม่บนโพสต์esa_update_comment- อัปเดตความคิดเห็นที่มีอยู่esa_delete_comment- ลบความคิดเห็นesa_get_post_comments- รับความคิดเห็นสำหรับโพสต์ที่ระบุพร้อมการแบ่งหน้าesa_get_team_comments- รับความคิดเห็นของทีมพร้อมการแบ่งหน้า
การจัดการหมวดหมู่
esa_get_categories- รับหมวดหมู่และหมวดหมู่ย่อยสำหรับเส้นทางที่ระบุesa_get_top_categories- รับหมวดหมู่ระดับบนสุดทั้งหมดสำหรับทีมesa_get_all_category_paths- รับเส้นทางหมวดหมู่ทั้งหมดในทีม (พร้อมจำนวนโพสต์, รองรับการกรอง)- เหมาะสำหรับการทำความเข้าใจโครงสร้างหมวดหมู่, การวางแผนองค์กร และการล้างข้อมูล
- ตัวอย่างตัวกรอง:
prefix: "dev"สำหรับหมวดหมู่ที่เกี่ยวข้องกับการพัฒนา,match: "api"สำหรับหมวดหมู่ที่เกี่ยวข้องกับ API
ไฟล์แนบ
esa_get_attachment- ดึงไฟล์แนบจากโพสต์และความคิดเห็นของ esa- ส่งคืนข้อมูลที่เข้ารหัส base64 สำหรับรูปภาพที่รองรับ (JPEG, PNG, GIF, WebP) ที่มีขนาดต่ำกว่า 30MB
- ส่งคืน URL ที่ลงนาม (ใช้ได้ 5 นาที) สำหรับไฟล์ประเภทอื่น, รูปภาพขนาดใหญ่กว่า หรือเมื่อระบุ forceSignedUrl
ความช่วยเหลือและเอกสาร
esa_get_search_options_help- รับเอกสารไวยากรณ์การค้นหาของ esaesa_get_markdown_syntax_help- รับเอกสารไวยากรณ์ Markdown ของ esaesa_search_help- ค้นหาเอกสารของ esa สำหรับคุณสมบัติและคำศัพท์
ทรัพยากรที่พร้อมใช้งาน
esa_recent_posts- ดึงโพสต์ที่อัปเดตล่าสุดจากทีม esa- เทมเพลต:
esa://teams/{teamName}/posts/recent - ส่งคืน: รายการ JSON ของโพสต์ที่อัปเดตล่าสุด
- เทมเพลต:
พรอมต์ที่พร้อมใช้งาน
esa_summarize_post- สรุปเนื้อหาโพสต์ esa- อินพุต: ชื่อทีมและหมายเลขโพสต์
- เอาต์พุต: สรุปเนื้อหาโพสต์ที่มีโครงสร้าง
การกำหนดค่าไคลเอนต์ MCP
เพิ่มลงในไฟล์การกำหนดค่าไคลเอนต์ MCP ของคุณ:
ตัวแปรสภาพแวดล้อมที่จำเป็น
- ESA_ACCESS_TOKEN: โทเค็นการเข้าถึง
- ขอบเขตที่จำเป็น:
read writeหรือadmin:comment read:post write:post read:category read:tag read:attachment read:team read:member - แนะนำให้ใช้ PAT v2
- ขอบเขตที่จำเป็น:
- LANG: ภาษาสำหรับ UI
ตัวอย่าง Claude Desktop
เพิ่มลงใน claude_desktop_config.json:
ตัวเลือก 1: Docker (แนะนำ)
{
"mcpServers": {
"esa": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ESA_ACCESS_TOKEN",
"-e",
"LANG",
"ghcr.io/esaio/esa-mcp-server"
],
"env": {
"ESA_ACCESS_TOKEN": "your_personal_access_token",
"LANG": "en"
}
}
}
}
ตัวเลือก 2: npx
{
"mcpServers": {
"esa": {
"command": "/Users/your-username/.nodenv/shims/npx",
"args": ["@esaio/esa-mcp-server"],
"env": {
"ESA_ACCESS_TOKEN": "your_personal_access_token",
"LANG": "en"
}
}
}
}
หมายเหตุ: แทนที่
/path/to/your/nodeด้วยผลลัพธ์ของคำสั่งwhich node
รีจิสทรี
แพ็คเกจนี้จัดส่ง registry.json ที่รากของแพ็คเกจ ซึ่งเปิดเผยเครื่องมือ, ทรัพยากร และพรอมต์ที่ลงทะเบียนไว้ สามารถใช้งานโดยทางโปรแกรมโดยไม่ต้องเริ่มเซิร์ฟเวอร์:
import registry from "@esaio/esa-mcp-server/registry.json" with { type: "json" };
สคีมา:
{
"tools": [{ "name": "esa_get_teams" }, "..."],
"resources": [
{ "name": "esa_recent_posts", "uriTemplate": "esa://teams/{teamName}/posts/recent" }
],
"prompts": [{ "name": "esa_summarize_post" }]
}
ไฟล์นี้ถูกสร้างใหม่โดย npm run build:registry และการตรวจสอบ CI บังคับให้มันซิงค์กับชุดที่ลงทะเบียนไว้
ลิงก์
- esa.io - แพลตฟอร์มเอกสารที่ทำงานร่วมกัน
- Model Context Protocol - เรียนรู้เพิ่มเติมเกี่ยวกับ MCP
- เอกสาร API - เอกสารอ้างอิง API ของ esa.io
- Claude Desktop - ผู้ช่วย AI ที่รองรับ MCP
การสนับสนุน
- 📧 การสนับสนุน: แบบฟอร์มข้อเสนอแนะ
- 🐛 ปัญหา: GitHub Issues
- 📖 ความช่วยเหลือ: เอกสาร esa
สร้างด้วย ❤️ โดยทีม esa