MCP Workspace Server
English | ไธญๆ
๐ ๅช้ไธไธช MCP๏ผๅฐฑ่ฝๅฎ็ฐไฝ ็ๅฎๆด Agent ่ฝๅ๏ผ
่ถ ่ถๆไปถ็ณป็ป็ AI ๅผๅ็ฏๅข - ่ฎฉ AI ๅ Claude Code ไธๆ ท่ฟ่กๅฎๆด็ Web ๅผๅใๆฐๆฎๅค็ๅไปฃ็ ๆง่ก
๐ก ๆ ธๅฟไปทๅผ๏ผๆ ้้ๆๅคไธช MCP ๅทฅๅ ท๏ผไธไธช MCP ๆๅกๅจๅณๅฏๆไพๆไปถๆไฝใไปฃ็ ๆง่กใWeb ้จ็ฝฒใๆฐๆฎๅค็ใๅพๅ็ๆ็ญๅฎๆด็ Agent ่ฝๅใๅผ็ฎฑๅณ็จ๏ผไธ็ซๅผ่งฃๅณๆนๆกใ
ไธไธชๅ่ฝๅผบๅคง็ MCP (Model Context Protocol) ๆๅกๅจ๏ผไธไป ๆไพๅฎๅ จ็ๆไปถ็ณป็ปๆไฝ๏ผๆดๆฏไธไธชๅฎๆด็ AI ๅผๅๅทฅไฝ็ฉบ้ดใๆฏๆไปฃ็ ๆง่กใWeb ๅบ็จไธ้ฎ้จ็ฝฒใๆณๅๅ่ฎฟ้ฎใExcel ๅค็ใๅพๅ็ๆ็ญไผไธ็บง่ฝๅใ
โจ ไธบไปไน้ๆฉๆไปฌ๏ผ
๐ฏ ไธไธช MCP๏ผๅฎๆด Agent ่ฝๅ
ไผ ็ปๆนๆก๏ผ้่ฆ้ๆๅคไธช MCP ๅทฅๅ ทๆ่ฝๅฎ็ฐๅฎๆดๅ่ฝ
- โ ๆไปถๆไฝ โ ้่ฆไธไธช MCP
- โ ไปฃ็ ๆง่ก โ ้่ฆๅฆไธไธช MCP
- โ Web ้จ็ฝฒ โ ้่ฆ็ฌฌไธไธช MCP
- โ ๆฐๆฎๅค็ โ ้่ฆ็ฌฌๅไธช MCP
- โ ๅพๅ็ๆ โ ้่ฆ็ฌฌไบไธช MCP
- ็ปๆ๏ผ้ ็ฝฎๅคๆใ็ปดๆคๅฐ้พใๅ่ฝๅๆฃ
ๆไปฌ็ๆนๆก๏ผๅช้ไธไธช MCP๏ผๆๆ่ฝๅๅผ็ฎฑๅณ็จ
- โ ๆไปถๆไฝ + ไปฃ็ ๆง่ก + Web ้จ็ฝฒ + ๆฐๆฎๅค็ + ๅพๅ็ๆ
- โ ็ปไธ้ ็ฝฎ๏ผไธๆฌก้ ็ฝฎ๏ผๅ จ้จๅฏ็จ
- โ ็ปไธ็ฎก็๏ผไธไธชๆๅก๏ผ้ไธญ็ฎก็
- โ ็ปไธๅฎๅ จ๏ผไธๅฅๅฎๅ จ็ญ็ฅ๏ผๅ จ้ขไฟๆค
ๆไปฌๆไพ็ๆฏๅฎๆด็ AI ๅผๅๅทฅไฝ็ฉบ้ด๏ผ่ฝๅ่ฟ่ถ ไผ ็ปๆไปถ็ณป็ปๆๅกๅจ๏ผ
- ๐ Web ๅผๅ่ฝๅ๏ผAI ๅฏไปฅๅๅปบๅฎๆด็ Web ๅบ็จ๏ผHTML/CSS/JS๏ผ๏ผๅนถไธ้ฎ้จ็ฝฒๅฐ็ไบง็ฏๅข
- ๐ ๆณๅๅ้จ็ฝฒ๏ผๆฏๆ
*.your-domain.comๆณๅๅ๏ผๆฏไธชไผ่ฏ่ชๅจ่ทๅพ็ฌ็ซๅญๅๅ่ฎฟ้ฎ - ๐ป ไปฃ็ ๆง่ก๏ผๅ ็ฝฎ Python 3.12 ๅ Node.js 20 ๆฒ็็ฏๅข๏ผๆฏๆไปฃ็ ๅฎๆถๆง่กๅ่ฐ่ฏ
- ๐ ๆฐๆฎๅค็๏ผๅฎๆด็ Excel/CSV ๅค็่ฝๅ๏ผๆฏๆๆจกๆฟใๅ ฌๅผใๆ ผๅผๅ
- ๐จ ๅพๅ็ๆ๏ผๆฏๆ Mermaid ๆต็จๅพใๆฐๆฎๅพ่กจใHTML ๆธฒๆ็ญๅค็งๅพๅ็ๆๆนๅผ
- ๐ ๆบ่ฝๆ็ดข๏ผๆไปถๅ ๅฎนๆ็ดขใ็ฅ่ฏๅบๆฃ็ดขใ็ฝ้กตๆๅ็ญ้ซ็บง่ฝๅ
- ๐ ไผไธ็บงๅฎๅ จ๏ผๅค็งๆท้็ฆปใ่ทฏๅพๅฎๅ จ้ฒๆคใ่ตๆบ้ๅถใๆฒ็ๆง่ก
๐ All-in-One ไผๅฟ
ไธๅฅ่ฏๆป็ป๏ผไธไธช MCP ๆๅกๅจ = ๅฎๆด็ Agent ่ฝๅๆ ๐
๐ก ๅ ธๅไฝฟ็จๅบๆฏ
ๅบๆฏ 1๏ผAI ้ฉฑๅจ็ Web ๅผๅ
AI ๅๅปบๅฎๆด็ๅ็ซฏๅบ็จ โ ไธ้ฎ้จ็ฝฒ โ ่ทๅพ็ฌ็ซๅๅ่ฎฟ้ฎ
ไพๅฆ๏ผhttps://user123_chat456.your-domain.com
ๅบๆฏ 2๏ผๆฐๆฎๅๆไธๅฏ่งๅ
่ฏปๅ Excel โ ๆฐๆฎๅค็ โ ็ๆๅพ่กจ โ ๅๅปบๆฅๅ โ ้จ็ฝฒๅฑ็คบ้กต้ข
ๅบๆฏ 3๏ผไปฃ็ ๅผๅไธๆต่ฏ
็ผๅ Python ่ๆฌ โ ๆง่กๆต่ฏ โ ไฟฎๅค Bug โ ้จ็ฝฒ API ๆๅก
โจ ๆ ธๅฟ็นๆง
๐ ๅค็งๆทไผ่ฏ้็ฆป
ๆฏไธช็จๆท/ไผ่ฏๆฅๆ็ฌ็ซ็่ๆๅทฅไฝ็ฉบ้ด๏ผๅฎๅ จ้็ฆป๏ผไบไธๅนฒๆฐใ
ๅทฅไฝ็ฎๅฝๅฝๅ่งๅ๏ผ
้่ฟ HTTP ่ฏทๆฑๅคดไผ ้่บซไปฝๆ ่ฏ๏ผ
X-User-ID: ็จๆทๅฏไธๆ ่ฏ๏ผๅฏ้๏ผX-Chat-ID: ไผ่ฏๅฏไธๆ ่ฏ๏ผๅฏ้๏ผ
๐ก๏ธ ่ๆ่ทฏๅพ็ณป็ป
LLM ่ง่งๅฎๅ
จ่ๆๅ๏ผAI ๆจกๅ็ๅฐ็ๆฏไธไธชๅนฒๅ็่ๆๆไปถ็ณป็ป๏ผไปฅ / ไธบๆ น็ฎๅฝใ
LLM ็ๅฐ็่ทฏๅพ ๅฎ้
็ฉ็่ทฏๅพ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
/ โ /server/user_data/user123_chat456/
/todo.txt โ /server/user_data/user123_chat456/todo.txt
/docs/readme.md โ /server/user_data/user123_chat456/docs/readme.md
ไผๅฟ๏ผ
- โ ไธๆด้ฒๆๅกๅจ็ๅฎ็ฎๅฝ็ปๆ
- โ AI ๅนณๅฐๆ ๆณ่ท็ฅ็ฉ็่ทฏๅพไฟกๆฏ
- โ ็ฎๅ AI ็ๆไปถๆไฝๆไปค
- โ ๆๅๅฎๅ จๆงๅ้็งไฟๆค
๐ ่ทฏๅพๅฎๅ จ้ฒๆค
ๅ ็ฝฎๅคๅฑๅฎๅ จๆบๅถ๏ผ้ฒๆญข่ทฏๅพ้ๅๆปๅป๏ผ
ๆปๅปๅฐ่ฏ ็ปๆ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
/../../../etc/passwd โ ่ขซ้ปๆญข
../../../etc/passwd โ ่ขซ้ปๆญข
/foo/../../../etc/passwd โ ่ขซ้ปๆญข
/foo/bar/../../.. โ ่ขซ้ปๆญข
ๅฎๅ จๆบๅถ๏ผ
- ่ทฏๅพ่งฃๆ๏ผไฝฟ็จ
Path.resolve()่งฃๆๆๆ..ๅ็ฌฆๅท้พๆฅ - ่พน็ๆฃๆฅ๏ผ้ช่ฏ่งฃๆๅ็่ทฏๅพๆฏๅฆๅจๅ ่ฎธ่ๅดๅ
- ๅ้ไฟๆค๏ผๅณไฝฟ่ทฏๅพ่ขซ่งฃๆ๏ผไปๅฟ
้กปๅจ
allowed_dirsๅ
๐ก SSE ไผ ่พๅ่ฎฎ
ๆฏๆ Server-Sent Events (SSE) ไผ ่พ๏ผ้้ ๅ็ฑป AI ๅนณๅฐ๏ผ
ๅฎขๆท็ซฏ ๆๅกๅจ
โ โ
โโโโโ GET /sse โโโโโโโโโโโโโโโโโโโโโโโถโ ๅปบ็ซ SSE ่ฟๆฅ
โโโโโ SSE: endpoint=/messages?sid=xxx โ ่ฟๅๆถๆฏ็ซฏ็น
โ โ
โโโโโ POST /messages?session_id=xxx โโถโ ๅ้ๅทฅๅ
ท่ฐ็จ
โโโโโ SSE: message (ๅๅบ) โโโโโโโโโโโโ ๆฅๆถ็ปๆ
๐ ไธ้ฎ้จ็ฝฒไธๆณๅๅๆฏๆ
ไธ้ฎ้จ็ฝฒ Web ๅบ็จ๏ผ
- AI ๅๅปบ็ๅ็ซฏ้กน็ฎๅฏ้่ฟ
preview_frontendๅทฅๅ ทไธ้ฎ้จ็ฝฒ - ่ชๅจ็ๆๅฏ่ฎฟ้ฎ็ URL๏ผๆฏๆ HTTPS
- ๆฏๆ่ชๅฎไนๅ ฅๅฃๆไปถๅ็ฎๅฝ็ปๆ
ๆณๅๅ้จ็ฝฒ๏ผ็ไบง็ฏๅข๏ผ๏ผ
{
"preview": {
"wildcard_domain": "*.proxy.your-domain.com",
"use_tls": true
}
}
้ ็ฝฎๅ๏ผๆฏไธชไผ่ฏ่ชๅจ่ทๅพ็ฌ็ซๅญๅๅ๏ผ
user123_chat456.proxy.your-domain.comuser789_chat012.proxy.your-domain.com
ไผๅฟ๏ผ
- โ ๆ ้ๆๅจ้ ็ฝฎๅๅๅ็ซฏๅฃ
- โ ่ชๅจ้็ฆป๏ผไบไธๅนฒๆฐ
- โ ๆฏๆ HTTPS๏ผ็ไบงๅฐฑ็ปช
- โ ๅ็ซฏๅฃๆๅก๏ผ็ฎๅ้จ็ฝฒ
๐ฆ ๅฎๆดๅ่ฝๅ่กจ
๐ป Web ๅผๅไธ้จ็ฝฒ
๐ ๆไปถ็ณป็ปๆไฝ
๐ Excel ๆฐๆฎๅค็
๐ ้ซ็บง่ฝๅ๏ผๅฏ้๏ผ
๐ ไธ AI ๅนณๅฐ้ๆ
๐ฏ ไธบไปไน้ๆฉๆไปฌไฝไธบไฝ ็ MCP Server๏ผ
ๆไปฌๆฏๅผบๅคง็ All-in-One MCP Server๏ผๅช้ไธๆฌก้ ็ฝฎ๏ผๅณๅฏไธบไฝ ็ AI ๅนณๅฐๆไพๅฎๆด็ Agent ่ฝๅ๏ผ
- โ ๆไปถๆไฝ๏ผ่ฏปๅใๆ็ดขใ็ผ่พๆไปถ
- โ ไปฃ็ ๆง่ก๏ผPython/Node.js ๆฒ็็ฏๅข
- โ Web ้จ็ฝฒ๏ผไธ้ฎ้จ็ฝฒๅ็ซฏๅบ็จ๏ผๆฏๆๆณๅๅ
- โ ๆฐๆฎๅค็๏ผExcel/CSV ๅฎๆดๅค็่ฝๅ
- โ ๅพๅ็ๆ๏ผMermaid ๆต็จๅพใๆฐๆฎๅพ่กจ
- โ ๆบ่ฝๆ็ดข๏ผ็ฅ่ฏๅบๆฃ็ดขใ็ฝ้กตๆๅ๏ผๅฏ้๏ผ
ๆ ้้ๆๅคไธช MCP ๅทฅๅ ท๏ผไธไธช MCP Server ๅณๅฏๆปก่ถณๆๆ้ๆฑ๏ผ
๐ ๆฏๆ็ AI ๅนณๅฐ
ๆไปฌไธไธปๆต AI ๅนณๅฐๅฎ็พ้ๆ๏ผ้ ็ฝฎ็ฎๅ๏ผๅผ็ฎฑๅณ็จ๏ผ
Dify
-
่ฟๅ ฅ Dify ๅทฅไฝๆต้ ็ฝฎ
- ๆทปๅ MCP Tool ่็น
- ้ๆฉ SSE ไผ ่พๅ่ฎฎ
-
้ ็ฝฎ MCP Server ่ฟๆฅ
SSE ๅฐๅ: http://your-server:8000/sse -
่ฎพ็ฝฎ่ฏทๆฑๅคด๏ผๅค็งๆท้็ฆป๏ผ
X-User-ID: {{user_id}} X-Chat-ID: {{conversation_id}} -
ๅฎๆ๏ผ ็ฐๅจไฝ ็ Dify Agent ๆฅๆๅฎๆด็ๆไปถๆไฝใไปฃ็ ๆง่กใWeb ้จ็ฝฒ็ญ่ฝๅใ
FastGPT
-
่ฟๅ ฅ FastGPT ็ฅ่ฏๅบ/ๅบ็จ้ ็ฝฎ
- ๆทปๅ ๅค้จๅทฅๅ ท โ MCP
- ไผ ่พๆนๅผ้ๆฉ SSE
-
้ ็ฝฎ่ฟๆฅไฟกๆฏ
MCP Server URL: http://your-server:8000/sse -
้ ็ฝฎ็จๆทๆ ่ฏ๏ผๅฏ้๏ผ็จไบๅค็งๆท้็ฆป๏ผ
่ชๅฎไน Header: X-User-ID: {{userId}} X-Chat-ID: {{chatId}} -
ๅฏ็จๅทฅๅ ท๏ผๆๆๅทฅๅ ท่ชๅจๅฏ็จ๏ผๆ ้้ไธช้ ็ฝฎ๏ผ
Cherry Studio
-
่ฟๅ ฅ Cherry Studio ่ฎพ็ฝฎ
- ๆๅผ MCP Servers ้ ็ฝฎ
- ๆทปๅ ๆฐ็ MCP Server
-
้ ็ฝฎ่ฟๆฅ
{ "name": "MCP Workspace Server", "transport": "sse", "url": "http://your-server:8000/sse" } -
่ฎพ็ฝฎไผ่ฏๆ ่ฏ๏ผๅค็งๆทๆฏๆ๏ผ
- Cherry Studio ไผ่ชๅจไผ ้็จๆทๅไผ่ฏไฟกๆฏ
- ๆฏไธชไผ่ฏ่ทๅพ็ฌ็ซ็ๅทฅไฝ็ฉบ้ด
๐ก ้ๆไผๅฟ
๐ ๅผ็ฎฑๅณ็จ็่ฝๅ
้ ็ฝฎๅฎๆๅ๏ผไฝ ็ AI Agent ็ซๅณๆฅๆ๏ผ
- ๐ ๆไปถๆไฝ๏ผๅๅปบใ่ฏปๅใ็ผ่พใๆ็ดขๆไปถ
- ๐ป ไปฃ็ ๆง่ก๏ผ่ฟ่ก Python/Node.js ่ๆฌ๏ผๅฎๆถ่ฐ่ฏ
- ๐ Web ๅผๅ๏ผๅๅปบๅ็ซฏๅบ็จๅนถไธ้ฎ้จ็ฝฒๅฐ็ไบง็ฏๅข
- ๐ ๆฐๆฎๅค็๏ผ่ฏปๅใ็ผ่พ Excel๏ผ็ๆๆฅๅ
- ๐จ ๅพๅ็ๆ๏ผๅๅปบๆต็จๅพใๆฐๆฎๅฏ่งๅๅพ่กจ
- ๐ ๆบ่ฝๆ็ดข๏ผๆไปถๅ ๅฎนๆ็ดขใ็ฅ่ฏๅบๆฃ็ดข๏ผๅฆๅฏ็จ๏ผ
ไธไธช MCP Server = ๅฎๆด็ Agent ่ฝๅๆ ๐
๐ ๅฟซ้ๅผๅง
Docker ้จ็ฝฒ๏ผๆจ่๏ผ
# ๅ
้้กน็ฎ
git clone <repository-url>
cd mcp-filesystem
# ้ฆๆฌก้จ็ฝฒ๏ผๆๅปบ้ๅๅนถๅฏๅจ
docker-compose up -d --build
> ๅฆๆๆ ๆณไฝฟ็จdocker้ๅๆบ๏ผๅฏไปฅๅ
ๆง่ก export DOCKER_BUILDKIT=0
# ๆดๆฐไปฃ็ ๅ้ๅฏ็ๆ
git pull && docker-compose restart
# ๆฅ็ๆฅๅฟ
docker-compose logs -f
# ไป
ๅฝไพ่ตๅๅๆถ้่ฆ้ๆฐๆๅปบ
docker-compose up -d --build
๐ก ้ๅๅ ๅซ่ฟ่ก็ฏๅข๏ผไปฃ็ ้่ฟ volume ๆ่ฝฝ๏ผๆดๆฐไปฃ็ ๅช้
git pull && docker-compose restart
โ ๏ธ ้่ฆ่ฏดๆ๏ผๆฌ้กน็ฎ่ฟ่ก็ฏๅข้ซๅบฆไพ่ต Docker ๅบ็ก้ๅ๏ผๅ ๅซๅฎๆด็ Python 3.12ใNode.js 20 ่ฟ่ก็ฏๅขไปฅๅๆๆ็ณป็ปไพ่ต๏ผๅฆ Tesseract OCRใๅพๅๅค็ๅบ็ญ๏ผใๅผบ็ๅปบ่ฎฎไฝฟ็จ Docker ๆนๅผ้จ็ฝฒ๏ผไธๆจ่ๆฌๅฐ Python ็ดๆฅ่ฟ่กใๅฆ้ๆฌๅฐๅผๅ๏ผ่ฏท็กฎไฟๅทฒๅฎ่ฃ ๆๆ็ณป็ปไพ่ตใ
ๅฟซ้้ ็ฝฎๅ่
๐ ่ฏฆ็ป้ๆ่ฏดๆ๏ผ่ฏทๆฅ็ไธๆน็ ๐ ไธ AI ๅนณๅฐ้ๆ ็ซ ่๏ผๅ ๅซ DifyใFastGPTใCherry Studio ็ๅฎๆด้ ็ฝฎๆญฅ้ชคใ
ๅฟซ้่ฟๆฅไฟกๆฏ๏ผ
- SSE ๅฐๅ:
http://your-server:8000/sse - ่ฏทๆฑๅคด๏ผๅค็งๆท้็ฆป๏ผ:
X-User-ID:{{userId}}ๆๅบๅฎ็จๆทIDX-Chat-ID:{{chatId}}ๆๅบๅฎไผ่ฏID
Claude Desktop๏ผSTDIO ๆจกๅผ๏ผ๏ผ
็ผ่พ้ ็ฝฎๆไปถ๏ผ
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"mcp-workspace": {
"command": "uv",
"args": [
"--directory",
"/path/to/mcp-filesystem",
"run",
"run_server.py",
"/path/to/allowed/dir1",
"/path/to/allowed/dir2"
]
}
}
}
๐๏ธ ๆถๆ่ฎพ่ฎก
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ AI ๅนณๅฐ (Dify / FastGPT / Cherry Studio) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โ SSE + HTTP POST
โ Headers: X-User-ID, X-Chat-ID
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ MCP Workspace Server (All-in-One) โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ ไผ่ฏ็ฎก็ & ่บซไปฝ่ฏๅซ โ โ
โ โ (user_id + chat_id โ workspace_name) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ ่ๆ่ทฏๅพ่ฝฌๆขๅฑ โ โ
โ โ /todo.txt โ /user_data/xxx/todo.txt โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ ่ทฏๅพๅฎๅ
จ้ช่ฏ โ โ
โ โ PathValidator + ่ทฏๅพ้ๅ้ฒๆค โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ ๆไปถๆไฝๆง่ก โ โ
โ โ FileOperations / AdvancedFileOperations โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ็ฉ็ๆไปถ็ณป็ป โ
โ user_data/ โ
โ โโโ user1_chat1/ โ
โ โ โโโ todo.txt โ
โ โ โโโ docs/ โ
โ โโโ user1_chat2/ โ
โ โโโ user2_chat1/ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ง ็ฎก็ๅ API
ๆไพ HTTP ๆฅๅฃ็จไบ็ๆงใ่ฐ่ฏๅ่ฟ็ปดใ
๐ ่ฎค่ฏ้ ็ฝฎ
Admin API ้่ฆ Bearer Token ่ฎค่ฏใ้ฆๅ
้
็ฝฎ config.json๏ผ
# ๅคๅถ็คบไพ้
็ฝฎๆไปถ
cp config.example.json config.json
# ็ผ่พ้
็ฝฎ๏ผ่ฎพ็ฝฎไฝ ็็ฎก็ๅๅฏ้ฅ
vim config.json
{
"admin_token": "your-secret-admin-token-here"
}
ๆๆ Admin API ่ฏทๆฑๅฟ
้กปๆบๅธฆ Authorization ๅคด๏ผ
curl -H "Authorization: Bearer your-secret-admin-token-here" \
http://localhost:8000/admin/stats
โ ๏ธ ๅฎๅ จๆ็คบ๏ผ
config.jsonๅทฒๆทปๅ ๅฐ.gitignore๏ผ่ฏทๅฟๅฐๅ ถๆไบคๅฐ็ๆฌๅบใ
่ทๅๆๅกๅจ็ป่ฎกไฟกๆฏ
GET /admin/stats
Authorization: Bearer <admin_token>
ๅๅบ็คบไพ๏ผ
{
"success": true,
"user_data_dir": "/path/to/user_data",
"total_workspaces": 15,
"unique_users": 8,
"total_size_bytes": 1048576,
"total_size_human": "1.00 MB",
"active_sessions": 3
}
ๅๅบๆๆๅทฅไฝ็ฉบ้ด
GET /admin/workspaces
GET /admin/workspaces?user_id=user123
Authorization: Bearer <admin_token>
่ทๅๅทฅไฝ็ฉบ้ด่ฏฆๆ
GET /admin/workspace/{workspace_id}
GET /admin/workspace/{workspace_id}/tree?max_depth=5
Authorization: Bearer <admin_token>
ๅ ้คๅทฅไฝ็ฉบ้ด
DELETE /admin/workspace/{workspace_id}?confirm=yes
Authorization: Bearer <admin_token>
โ ๏ธ ่ญฆๅ๏ผๆญคๆไฝไธๅฏ้๏ผๅฟ
้กปๆทปๅ ?confirm=yes ๅๆฐๆ่ฝๆง่กๅ ้คใ
๐ค ็จๆทๅทฅไฝ็ฉบ้ด API
ไธบ็จๆทๆไพๆ ้็ฎก็ๅ Token ็ๅทฅไฝ็ฉบ้ด็ฎๅฝๆ ๆฅ่ฏขใ
GET /api/workspace/tree?user_id={user_id}&chat_id={chat_id}&max_depth=5
- ไธ้่ฆ
Authorizationๅคด - ไป
่ฟๅๅฏนๅบ
user_id + chat_id็ปๅ็ๅทฅไฝ็ฉบ้ด - ๆฏไธช็ฎๅฝๅฑ็บงๆๆ่ฟไฟฎๆนๆถ้ดๆๅบ๏ผไป ไฟ็ๅ 20 ไธชๆไปถ/ๆไปถๅคน๏ผๅ ถไฝ็ดๆฅ่ฟๆปคไปฅ่็ๅธฆๅฎฝ
๐งฉ Excel ้ ็ฝฎ
config.json/config.example.jsonๆฐๅขexcelๆฎต่ฝ๏ผ็จไบ่ฎพ็ฝฎๆๅคงๆไปถๅคงๅฐใ้ป่ฎค่ฏปๅ่กๆฐใๆฏๆๆ ผๅผไธๅ ฌๅผๆฃๆตๅผๅ ณใ- ๆจกๆฟ๏ผ
excel.templates_file้ป่ฎคๆๅexcel_templates/templates.json๏ผๆจกๆฟๆบๆไปถๆพๅจexcel_templates/๏ผๅฏนๅคๅชๆด้ฒtitle/desc๏ผcreate_excel_from_templateไผ่ชๅจ้ฟๅผ้ๅใ้ฆๆฌกไฝฟ็จๆถ๏ผ่ฏทไปtemplates_example.jsonๅคๅถๅๅปบtemplates.json๏ผๅนถๆ นๆฎๅฎ้ ๆ ๅต้ ็ฝฎๆจกๆฟ่ทฏๅพใ - ็ฏๅขๅ้่ฆ็๏ผ
MCP_EXCEL_MAX_ROWSใMCP_EXCEL_MAX_SIZE_MBใ - ่ฏฆ็ปๅๆฐไธ็คบไพ่ง
docs/EXCEL_TOOLS.mdใ
โ๏ธ ๅฏๅจ้ ็ฝฎ
config.jsonไธญๆฐๅขmcpๆฎต่ฝ๏ผๅฏ้ ็ฝฎtransport๏ผ้ป่ฎคsse๏ผใhost๏ผ้ป่ฎค0.0.0.0๏ผใport๏ผ้ป่ฎค18089๏ผใ- CLI ๅๆฐ
--transport/--host/--portไผๅ ็บง้ซไบ้ ็ฝฎๆไปถใ - Web ็ฎก็็้ข๏ผ
config.jsonๆฐๅขadmin_webๆฎต่ฝ๏ผenabled้ป่ฎคfalse๏ผpassword้ป่ฎค123456๏ผใๅผๅฏๅ่ฎฟ้ฎhttp://<host>:<port>/admin๏ผ่พๅ ฅๅฏ็ ๅฏๆฅ็ user_data ไธๆไปถๆ ๅนถ้ข่งๆๆฌ/Markdown/CSVใ
๐ ไฝฟ็จ็คบไพ
๐ Web ๅผๅๅฎๆดๆต็จ
ๆญฅ้ชค 1๏ผๅๅปบๅ็ซฏ้กน็ฎ
Tool: fs_write
Arguments: {
"path": "/index.html",
"content": "<!DOCTYPE html>..."
}
ๆญฅ้ชค 2๏ผไธ้ฎ้จ็ฝฒ
Tool: preview_frontend
Arguments: {
"entry_file": "index.html"
}
่ฟๅ็ปๆ๏ผ
{
"success": true,
"url": "https://user123_chat456.proxy.your-domain.com/index.html",
"subdomain": "user123_chat456"
}
ๆญฅ้ชค 3๏ผ่ฎฟ้ฎ้จ็ฝฒ็ๅบ็จ
- ่ชๅจ่ทๅพ็ฌ็ซๅญๅๅ
- ๆฏๆ HTTPS๏ผๅฆ้ ็ฝฎ๏ผ
- ๆ ้ๆๅจ้ ็ฝฎ็ซฏๅฃๅๅๅ
๐ป ไปฃ็ ๆง่กไธ่ฐ่ฏ
่ฏปๅๆไปถ๏ผๆฏๆ่ก่ๅด๏ผ
Tool: fs_read
Arguments: {
"path": "/file.txt",
"line_range": "100:150" # ่ฏปๅ็ฌฌ100-150่ก
}
ๆน้่ฏปๅๆไปถ
Tool: fs_read
Arguments: {
"path": ["/file1.txt", "/file2.json", "/data.xlsx"]
}
ๆ็ดขๆไปถ
Tool: fs_search
Arguments: {
"search_type": "content", # glob=ๆๆไปถๅ, content=ๆๅ
ๅฎน
"pattern": "function\\s+\\w+\\(",
"context_lines": 2 # ่ฟๅๅน้
่กๅๅ2่กไธไธๆ
}
็ฒพ็กฎ็ผ่พๆไปถ
Tool: fs_replace
Arguments: {
"path": "/config.py",
"diff": "------- SEARCH\nDEBUG = True\n========\nDEBUG = False\n+++++++ REPLACE"
}
ๆง่ก Python ไปฃ็
Tool: exec
Arguments: {
"code": "print('Hello, World!')"
}
ๆง่ก Python ๆไปถ
Tool: exec
Arguments: {
"file": "/script.py",
"args": ["--verbose", "input.txt"]
}
่ฏปๅ Excel ๆไปถ
Tool: fs_read
Arguments: {
"path": "/data.xlsx",
"sheet": "Sheet1", # ๅฏ้๏ผๆๅฎๅทฅไฝ่กจ
"range": "A1:D100" # ๅฏ้๏ผๆๅฎ่ฏปๅ่ๅด
}
ๅๅปบ Excel ๆไปถ
Tool: fs_write
Arguments: {
"path": "/output.xlsx",
"content": [
["Name", "Age", "City"],
["Alice", 30, "Beijing"],
["Bob", 25, "Shanghai"]
]
}
็ผ่พ Excel ๆไปถ
Tool: excel_edit
Arguments: {
"path": "/data.xlsx",
"edit_type": "cells",
"sheet": "Sheet1",
"updates": [
{"cell": "A1", "value": "Updated Value"}
]
}
๐จ ็ๆๅพ่กจๅๆต็จๅพ
Tool: generate_image
Arguments: {
"mermaid_code": "flowchart TD\nA[ๅผๅง] --> B[ๅค็] --> C[็ปๆ]"
}
ๆไฝฟ็จ HTML ๆธฒๆๅคๆๅพ่กจ๏ผ
Tool: generate_image
Arguments: {
"html_code": "<html><body><h1>ๆฐๆฎๅฏ่งๅ</h1>...</body></html>"
}
๐ ๅฎๅ จๆไฝณๅฎ่ทต
-
็ไบง็ฏๅข้จ็ฝฒ
- ไฝฟ็จๅๅไปฃ็๏ผNginx๏ผๅค็ HTTPS
- ้ๅถ่ฎฟ้ฎ IP ๆไฝฟ็จ API ๅฏ้ฅ่ฎค่ฏ
- ่ฎพ็ฝฎๅ็็่ฏทๆฑ้ข็้ๅถ
-
ๆฐๆฎ้็ฆป
- ็กฎไฟ
X-User-IDๅX-Chat-ID็ฑๅฏไฟกๆฅๆบ็ๆ - ๅฎๆๆธ ็่ฟๆ็ไผ่ฏๅทฅไฝ็ฎๅฝ
- ็กฎไฟ
-
Admin API ไฟๆค
location /admin/ { allow 10.0.0.0/8; deny all; proxy_pass http://localhost:8000; }
โ๏ธ ็ฏๅขๅ้
๐ ่ฎธๅฏ่ฏ
๐ค ่ดก็ฎ
ๆฌข่ฟๆไบค Issue ๅ Pull Request๏ผ