pshare-share-mcp
Enables AI assistants to upload files and folders to a Pshare instance and generate share links, with support for optional password, TTL, and chunked uploads for large files.
README
pshare-share-mcp
MCP server cho phép bất kỳ AI nào (Claude Code, Claude Desktop, hoặc client MCP khác) upload file/folder lên Pshare và nhận lại link share — y hệt thao tác tay: upload qua UI rồi bấm nút Share để copy link.
Không cần đăng nhập / token gì cả — nhất quán với kiến trúc hiện tại của Pshare (chính client web cũng
không xác thực thật, chỉ dùng một X-Browser-Id tự sinh).
Yêu cầu: đã có sẵn 1 instance Pshare đang chạy ở đâu đó (localhost hoặc trong LAN) — repo này chỉ là MCP server gọi vào REST API của Pshare, không tự chạy Pshare.
Tool cung cấp
pshare_upload
| field | bắt buộc | mô tả |
|---|---|---|
paths |
✅ | mảng đường dẫn tuyệt đối (file hoặc folder) trên máy đang chạy MCP server. Folder được upload đệ quy, giữ nguyên cấu trúc thư mục con. |
title |
❌ | tiêu đề hiển thị trên card share |
senderName |
❌ | tên người gửi hiển thị cho người nhận |
password |
❌ | mật khẩu để mở link share |
description |
❌ | mô tả hiển thị trên card share |
ttlMinutes |
❌ | số phút link tồn tại; bỏ trống = không hết hạn |
Kết quả trả về: link share dạng http://<pshare-host>/?share=<N> kèm số file và trạng thái password.
File > 90MB tự động chuyển sang chunked upload (giống hành vi upload LAN của client web), không cần quan tâm thêm.
Cài đặt
Chỉ cần clone repo này — không cần tải cả Pshare về:
git clone https://github.com/ntanhprt/Pshare-mcp.git
cd Pshare-mcp
pnpm install
pnpm build # biên dịch ra dist/
Cấu hình (biến môi trường)
| biến | mặc định | mô tả |
|---|---|---|
PSHARE_BASE_URL |
http://localhost:5173 |
URL của Pshare server mà MCP sẽ gọi vào để upload/share |
PSHARE_MCP_HOST |
0.0.0.0 |
host bind khi chạy transport HTTP |
PSHARE_MCP_PORT |
7317 |
port khi chạy transport HTTP |
PSHARE_MCP_ALLOWED_HOSTS |
(không đặt) | danh sách host được phép, cách nhau bằng dấu phẩy, dùng để bật DNS-rebinding protection khi bind 0.0.0.0 |
localhostchỉ đúng khi MCP server chạy trên đúng cái máy đang chạy Pshare.localhostluôn trỏ về "chính máy đang chạy process đó" — nên nếu bạn cài MCP này trên máy/laptop khác với máy chạy Pshare (kể cả cùng LAN), bắt buộc phải đổi thành IP thật của máy chạy Pshare. Ví dụ, nếu Pshare đang chạy ở máy có IP192.168.3.7:PSHARE_BASE_URL=http://192.168.3.7:5173 claude mcp add pshare-share -- node "$(pwd)/dist/index.js"Chỉ giữ mặc định
localhostkhi bạn chạy MCP (stdio) ngay trên cùng máy đang chạy Pshare.
Chạy thử độc lập
# stdio (mặc định)
pnpm start
# HTTP/SSE — AI ở máy khác trong LAN cũng gọi được
pnpm start:http
# → nghe tại http://<PSHARE_MCP_HOST>:<PSHARE_MCP_PORT>/mcp
Hướng dẫn tích hợp cho dev khác
1. Dùng với Claude Code (transport stdio — khuyên dùng khi AI chạy cùng máy/host với Pshare)
Sau khi clone + build (xem mục Cài đặt ở trên), từ trong thư mục Pshare-mcp:
claude mcp add pshare-share -- node "$(pwd)/dist/index.js"
Muốn trỏ tới Pshare ở máy khác, truyền env qua -e (xem lưu ý về localhost ở mục Cấu hình):
claude mcp add pshare-share \
-e PSHARE_BASE_URL=http://192.168.3.7:5173 \
-- node "$(pwd)/dist/index.js"
Kiểm tra đã đăng ký:
claude mcp list
2. Dùng với Claude Desktop (transport stdio)
Mở file config (~/Library/Application Support/Claude/claude_desktop_config.json trên macOS,
%APPDATA%\Claude\claude_desktop_config.json trên Windows) và thêm:
{
"mcpServers": {
"pshare-share": {
"command": "node",
"args": ["/đường/dẫn/tuyệt/đối/tới/Pshare-mcp/dist/index.js"],
"env": {
"PSHARE_BASE_URL": "http://localhost:5173"
}
}
}
}
Khởi động lại Claude Desktop để nhận tool pshare_upload.
3. Dùng qua HTTP/SSE (khi AI chạy ở máy khác trong cùng LAN)
Chạy server MCP ở máy đang host Pshare (hoặc bất kỳ máy nào gọi được tới Pshare):
PSHARE_BASE_URL=http://localhost:5173 pnpm start:http
Trên máy client (Claude Code, hoặc bất kỳ MCP client hỗ trợ HTTP transport nào), trỏ tới:
http://<IP-máy-chạy-mcp>:7317/mcp
Ví dụ với Claude Code:
claude mcp add --transport http pshare-share http://192.168.3.7:7317/mcp
4. Dùng với bất kỳ AI/agent framework nào khác
MCP là giao thức JSON-RPC chuẩn — bất kỳ client MCP nào (LangChain MCP adapter, custom agent, v.v.) cũng kết nối được, chỉ cần:
- stdio: spawn lệnh
node dist/index.jsvà giao tiếp qua stdin/stdout. - HTTP: gọi
POST http://<host>:<port>/mcptheo Streamable HTTP transport spec của MCP.
Lưu ý bảo mật
MCP server này không xác thực — bất kỳ ai gọi được vào nó (qua stdio nếu có quyền chạy process, hoặc qua HTTP nếu truy cập được vào host:port) đều có thể upload/share file lên Pshare thật. Điều này nhất quán với chính Pshare (không có auth trên API upload/share), nhưng cần lưu ý khi mở transport HTTP ra ngoài LAN.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。