English | ไธญๆ
๐ ๅช้ไธไธช MCP๏ผๅฐฑ่ฝๅฎ็ฐไฝ ็ๅฎๆด Agent ่ฝๅ๏ผ
่ถ ่ถๆไปถ็ณป็ป็ AI ๅผๅ็ฏๅข - ่ฎฉ AI ๅ Claude Code ไธๆ ท่ฟ่กๅฎๆด็ Web ๅผๅใๆฐๆฎๅค็ๅไปฃ็ ๆง่ก
๐ก ๆ ธๅฟไปทๅผ๏ผๆ ้้ๆๅคไธช MCP ๅทฅๅ ท๏ผไธไธช MCP ๆๅกๅจๅณๅฏๆไพๆไปถๆไฝใไปฃ็ ๆง่กใWeb ้จ็ฝฒใๆฐๆฎๅค็ใๅพๅ็ๆ็ญๅฎๆด็ Agent ่ฝๅใๅผ็ฎฑๅณ็จ๏ผไธ็ซๅผ่งฃๅณๆนๆกใ
ไธไธชๅ่ฝๅผบๅคง็ MCP (Model Context Protocol) ๆๅกๅจ๏ผไธไป ๆไพๅฎๅ จ็ๆไปถ็ณป็ปๆไฝ๏ผๆดๆฏไธไธชๅฎๆด็ AI ๅผๅๅทฅไฝ็ฉบ้ดใๆฏๆไปฃ็ ๆง่กใWeb ๅบ็จไธ้ฎ้จ็ฝฒใๆณๅๅ่ฎฟ้ฎใExcel ๅค็ใๅพๅ็ๆ็ญไผไธ็บง่ฝๅใ
ไผ ็ปๆนๆก๏ผ้่ฆ้ๆๅคไธช 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 ๆธฒๆ็ญๅค็งๅพๅ็ๆๆนๅผ
- ๐ ๆบ่ฝๆ็ดข๏ผๆไปถๅ ๅฎนๆ็ดขใ็ฅ่ฏๅบๆฃ็ดขใ็ฝ้กตๆๅ็ญ้ซ็บง่ฝๅ
- ๐ ไผไธ็บงๅฎๅ จ๏ผๅค็งๆท้็ฆปใ่ทฏๅพๅฎๅ จ้ฒๆคใ่ตๆบ้ๅถใๆฒ็ๆง่ก
| ไผ ็ปๆนๆก | ๆไปฌ็ๆนๆก |
|---|---|
| ้่ฆ 5+ ไธช MCP ๅทฅๅ ท | ๅช้ 1 ไธช MCP |
| ้ ็ฝฎๅคๆ๏ผ้่ฆ้ไธช้ๆ | ๅผ็ฎฑๅณ็จ๏ผไธ้ฎ้ ็ฝฎ |
| ๅ่ฝๅๆฃ๏ผ้พไปฅ็ปไธ็ฎก็ | ๅ่ฝ้ไธญ๏ผ็ปไธ็ฎก็ |
| ๅฎๅ จ็ญ็ฅไธ็ปไธ | ็ปไธๅฎๅ จ็ญ็ฅ |
| ็ปดๆคๆๆฌ้ซ | ็ปดๆค็ฎๅ |
ไธๅฅ่ฏๆป็ป๏ผไธไธช MCP ๆๅกๅจ = ๅฎๆด็ Agent ่ฝๅๆ ๐
ๅบๆฏ 1๏ผAI ้ฉฑๅจ็ Web ๅผๅ
AI ๅๅปบๅฎๆด็ๅ็ซฏๅบ็จ โ ไธ้ฎ้จ็ฝฒ โ ่ทๅพ็ฌ็ซๅๅ่ฎฟ้ฎ
ไพๅฆ๏ผhttps://user123_chat456.your-domain.com
ๅบๆฏ 2๏ผๆฐๆฎๅๆไธๅฏ่งๅ
่ฏปๅ Excel โ ๆฐๆฎๅค็ โ ็ๆๅพ่กจ โ ๅๅปบๆฅๅ โ ้จ็ฝฒๅฑ็คบ้กต้ข
ๅบๆฏ 3๏ผไปฃ็ ๅผๅไธๆต่ฏ
็ผๅ Python ่ๆฌ โ ๆง่กๆต่ฏ โ ไฟฎๅค Bug โ ้จ็ฝฒ API ๆๅก
ๆฏไธช็จๆท/ไผ่ฏๆฅๆ็ฌ็ซ็่ๆๅทฅไฝ็ฉบ้ด๏ผๅฎๅ จ้็ฆป๏ผไบไธๅนฒๆฐใ
ๅทฅไฝ็ฎๅฝๅฝๅ่งๅ๏ผ
| X-User-ID | X-Chat-ID | ๅทฅไฝ็ฎๅฝ |
|---|---|---|
user123 |
chat456 |
user_data/user123_chat456/ |
user123 |
(็ฉบ) | user_data/user123/ |
| (็ฉบ) | chat456 |
user_data/chat456/ |
| (็ฉบ) | (็ฉบ) | ไฝฟ็จ้ป่ฎคๅ จๅฑๆจกๅผ |
้่ฟ 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ๅ
ๆฏๆ 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๏ผ็ไบงๅฐฑ็ปช
- โ ๅ็ซฏๅฃๆๅก๏ผ็ฎๅ้จ็ฝฒ
| ๅทฅๅ ท | ๅ่ฝ | ไบฎ็น |
|---|---|---|
fs_write |
ๅๅปบ Web ๆไปถ๏ผHTML/CSS/JS๏ผ | ่ชๅจ่ฏๅซๆ ผๅผ๏ผๆฏๆๅฎๆดๅ็ซฏ้กน็ฎ |
preview_frontend |
ไธ้ฎ้จ็ฝฒ้ๆๅ็ซฏ | ๆฏๆๆณๅๅ๏ผ่ชๅจ็ๆ็ฌ็ซๅญๅๅ |
exec |
ๆง่ก Python/Node.js ไปฃ็ | ๆฒ็็ฏๅข๏ผๆฏๆๅฎๆถ่ฐ่ฏ |
generate_image |
็ๆๅพ่กจๅๆต็จๅพ | Mermaidใๆฐๆฎๅฏ่งๅใHTML ๆธฒๆ |
| ๅทฅๅ ท | ๅ่ฝ |
|---|---|
fs_read |
่ฏปๅๆไปถ๏ผๆฏๆๆน้ใExcelใ่ก่ๅด๏ผ |
fs_write |
ๅๅปบ/่ฆ็ๆไปถ๏ผ่ชๅจ่ฏๅซๆ ผๅผ๏ผ |
fs_ops |
ๆไปถ็ณป็ปๆไฝ๏ผlist/mkdir/move/info/delete๏ผ |
fs_replace |
ๅบไบ SEARCH/REPLACE ็ฒพ็กฎ็ผ่พๆไปถ |
fs_search |
ๆ็ดขๆไปถ๏ผglob=ๆๆไปถๅ๏ผcontent=ๆๅ ๅฎนๆญฃๅ๏ผ |
| ๅทฅๅ ท | ๅ่ฝ |
|---|---|
fs_read |
่ฏปๅ Excel ๆไปถ๏ผๆฏๆ sheetใrange ๅๆฐ๏ผ |
fs_write |
ๅๅปบ/่ฆ็ Excel ๆไปถ๏ผ่ชๅจ่ฏๅซๆ ผๅผ๏ผ |
excel_edit |
็ผ่พ Excel๏ผๆน้ๆดๆฐๅๅ ๆ ผใๆ ผๅผๅ๏ผ |
list_excel_templates |
ๅๅบๅฏ็จ Excel ๆจกๆฟ |
create_excel_from_template |
ไปๆจกๆฟๅๅปบ Excel ๆไปถ |
| ๅทฅๅ ท | ๅ่ฝ | ้ ็ฝฎ้กน |
|---|---|---|
kb_search |
ไผไธ็ฅ่ฏๅบ glob ๆ็ดข | kb.enabled=true |
kb_read |
่ฏปๅ็ฅ่ฏๅบๆไปถ๏ผ่ฟๅ Markdown๏ผ | kb.enabled=true |
crawl_url |
ๆๅ็ฝ้กตๅนถ่ฟๅ Markdown | web_crawl.enabled=true |
web_search |
่็ฝๆ็ดข | web_search.enabled=true |
ๆไปฌๆฏๅผบๅคง็ All-in-One MCP Server๏ผๅช้ไธๆฌก้ ็ฝฎ๏ผๅณๅฏไธบไฝ ็ AI ๅนณๅฐๆไพๅฎๆด็ Agent ่ฝๅ๏ผ
- โ ๆไปถๆไฝ๏ผ่ฏปๅใๆ็ดขใ็ผ่พๆไปถ
- โ ไปฃ็ ๆง่ก๏ผPython/Node.js ๆฒ็็ฏๅข
- โ Web ้จ็ฝฒ๏ผไธ้ฎ้จ็ฝฒๅ็ซฏๅบ็จ๏ผๆฏๆๆณๅๅ
- โ ๆฐๆฎๅค็๏ผExcel/CSV ๅฎๆดๅค็่ฝๅ
- โ ๅพๅ็ๆ๏ผMermaid ๆต็จๅพใๆฐๆฎๅพ่กจ
- โ ๆบ่ฝๆ็ดข๏ผ็ฅ่ฏๅบๆฃ็ดขใ็ฝ้กตๆๅ๏ผๅฏ้๏ผ
ๆ ้้ๆๅคไธช MCP ๅทฅๅ ท๏ผไธไธช MCP Server ๅณๅฏๆปก่ถณๆๆ้ๆฑ๏ผ
ๆไปฌไธไธปๆต AI ๅนณๅฐๅฎ็พ้ๆ๏ผ้ ็ฝฎ็ฎๅ๏ผๅผ็ฎฑๅณ็จ๏ผ
-
่ฟๅ ฅ 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 ็ฅ่ฏๅบ/ๅบ็จ้ ็ฝฎ
- ๆทปๅ ๅค้จๅทฅๅ ท โ MCP
- ไผ ่พๆนๅผ้ๆฉ SSE
-
้ ็ฝฎ่ฟๆฅไฟกๆฏ
MCP Server URL: http://your-server:8000/sse -
้ ็ฝฎ็จๆทๆ ่ฏ๏ผๅฏ้๏ผ็จไบๅค็งๆท้็ฆป๏ผ
่ชๅฎไน Header: X-User-ID: {{userId}} X-Chat-ID: {{chatId}} -
ๅฏ็จๅทฅๅ ท๏ผๆๆๅทฅๅ ท่ชๅจๅฏ็จ๏ผๆ ้้ไธช้ ็ฝฎ๏ผ
-
่ฟๅ ฅ Cherry Studio ่ฎพ็ฝฎ
- ๆๅผ MCP Servers ้ ็ฝฎ
- ๆทปๅ ๆฐ็ MCP Server
-
้ ็ฝฎ่ฟๆฅ
{ "name": "MCP Workspace Server", "transport": "sse", "url": "http://your-server:8000/sse" } -
่ฎพ็ฝฎไผ่ฏๆ ่ฏ๏ผๅค็งๆทๆฏๆ๏ผ
- Cherry Studio ไผ่ชๅจไผ ้็จๆทๅไผ่ฏไฟกๆฏ
- ๆฏไธชไผ่ฏ่ทๅพ็ฌ็ซ็ๅทฅไฝ็ฉบ้ด
| ไผ ็ปๆนๆก | ไฝฟ็จๆไปฌ็ All-in-One MCP |
|---|---|
| ้่ฆ้ ็ฝฎ 5+ ไธชไธๅ็ MCP ๅทฅๅ ท | ๅช้้ ็ฝฎ 1 ไธช MCP Server |
| ๆฏไธชๅทฅๅ ท้่ฆๅ็ฌ่ฟๆฅๅ่ฎค่ฏ | ไธๆฌก้ ็ฝฎ๏ผๅ จ้จๅฏ็จ |
| ๅทฅๅ ทไน้ดๅ่ฝๅๆฃ๏ผ้พไปฅ็ปไธ็ฎก็ | ๅ่ฝ้ไธญ๏ผ็ปไธ็ฎก็ |
| ไธๅๅทฅๅ ท็ๅฎๅ จ็ญ็ฅไธไธ่ด | ็ปไธๅฎๅ จ็ญ็ฅ๏ผๅ จ้ขไฟๆค |
| ็ปดๆคๅคไธชๆๅก็ๆๆฌ้ซ | ็ปดๆค็ฎๅ๏ผไธไธชๆๅกๆๅฎ |
้ ็ฝฎๅฎๆๅ๏ผไฝ ็ AI Agent ็ซๅณๆฅๆ๏ผ
- ๐ ๆไปถๆไฝ๏ผๅๅปบใ่ฏปๅใ็ผ่พใๆ็ดขๆไปถ
- ๐ป ไปฃ็ ๆง่ก๏ผ่ฟ่ก Python/Node.js ่ๆฌ๏ผๅฎๆถ่ฐ่ฏ
- ๐ Web ๅผๅ๏ผๅๅปบๅ็ซฏๅบ็จๅนถไธ้ฎ้จ็ฝฒๅฐ็ไบง็ฏๅข
- ๐ ๆฐๆฎๅค็๏ผ่ฏปๅใ็ผ่พ Excel๏ผ็ๆๆฅๅ
- ๐จ ๅพๅ็ๆ๏ผๅๅปบๆต็จๅพใๆฐๆฎๅฏ่งๅๅพ่กจ
- ๐ ๆบ่ฝๆ็ดข๏ผๆไปถๅ ๅฎนๆ็ดขใ็ฅ่ฏๅบๆฃ็ดข๏ผๅฆๅฏ็จ๏ผ
ไธไธช MCP Server = ๅฎๆด็ Agent ่ฝๅๆ ๐
# ๅ
้้กน็ฎ
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/ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
ๆไพ 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 ๅๆฐๆ่ฝๆง่กๅ ้คใ
ไธบ็จๆทๆไพๆ ้็ฎก็ๅ Token ็ๅทฅไฝ็ฉบ้ด็ฎๅฝๆ ๆฅ่ฏขใ
GET /api/workspace/tree?user_id={user_id}&chat_id={chat_id}&max_depth=5- ไธ้่ฆ
Authorizationๅคด - ไป
่ฟๅๅฏนๅบ
user_id + chat_id็ปๅ็ๅทฅไฝ็ฉบ้ด - ๆฏไธช็ฎๅฝๅฑ็บงๆๆ่ฟไฟฎๆนๆถ้ดๆๅบ๏ผไป ไฟ็ๅ 20 ไธชๆไปถ/ๆไปถๅคน๏ผๅ ถไฝ็ดๆฅ่ฟๆปคไปฅ่็ๅธฆๅฎฝ
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ใ
ๆญฅ้ชค 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"
}
Tool: exec
Arguments: {
"code": "print('Hello, World!')"
}
Tool: exec
Arguments: {
"file": "/script.py",
"args": ["--verbose", "input.txt"]
}
Tool: fs_read
Arguments: {
"path": "/data.xlsx",
"sheet": "Sheet1", # ๅฏ้๏ผๆๅฎๅทฅไฝ่กจ
"range": "A1:D100" # ๅฏ้๏ผๆๅฎ่ฏปๅ่ๅด
}
Tool: fs_write
Arguments: {
"path": "/output.xlsx",
"content": [
["Name", "Age", "City"],
["Alice", 30, "Beijing"],
["Bob", 25, "Shanghai"]
]
}
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; }
| ๅ้ๅ | ่ฏดๆ | ้ป่ฎคๅผ |
|---|---|---|
MCP_WORKSPACES_DIR |
็จๆทๅทฅไฝ็ฉบ้ดๆ น็ฎๅฝ | ้กน็ฎ็ฎๅฝ/user_data |
MCP_ALLOWED_DIRS |
ๅ ่ฎธ่ฎฟ้ฎ็็ฎๅฝๅ่กจ๏ผๅ จๅฑๆจกๅผ๏ผ | ๅฝๅๅทฅไฝ็ฎๅฝ |
FASTMCP_PORT |
ๆๅกๅจ็ซฏๅฃ | 8000 |
ๆฌข่ฟๆไบค Issue ๅ Pull Request๏ผ