pshare-share-mcp
This server lets any MCP-compatible AI upload files/folders to a Pshare instance and receive share links, without needing authentication.
Upload one or multiple absolute file/folder paths; folders are uploaded recursively preserving structure.
Get a Pshare share link like
https://pshare.protontech.vn/?share=<N>with file count and password status.Optionally set a display title, sender name, description, password to protect the link, or TTL in minutes for expiration.
Files larger than 90MB are automatically chunked into a multi-part upload.
Can be used via stdio or HTTP/SSE transport from Claude Code, Claude Desktop, or any standard MCP client.
Point to a different Pshare server by setting
PSHARE_BASE_URLif needed.
pshare-share-mcp
MCP server that allows any AI (Claude Code, Claude Desktop, or other MCP clients) to upload files/folders to Pshare and get back a share link — exactly like the manual flow: upload via the UI then click the Share button to copy the link.
No login or token needed — consistent with Pshare's current architecture (the web client itself doesn't really authenticate, it just uses a self-generated X-Browser-Id).
Requirement: you already have a running Pshare instance somewhere (localhost or on the LAN) — this repo is only an MCP server that calls Pshare's REST API, it doesn't run Pshare itself.
Provided tools
pshare_upload
field | required | description |
| ✅ | array of absolute paths (file or folder) on the machine running the MCP server. Folders are uploaded recursively, preserving the subdirectory structure. |
| ❌ | title displayed on the share card |
| ❌ | sender name shown to the recipient |
| ❌ | password required to open the share link |
| ❌ | description displayed on the share card |
| ❌ | number of minutes the link stays valid; leave empty = never expires |
Returned result: a share link of the form http://<pshare-host>/?share=<N> along with the file count and password status.
Files larger than 90MB automatically switch to chunked upload (same as the web client's LAN upload behavior); no further action needed.
Related MCP server: vnsh-mcp
Installation
Just clone this repo — no need to download Pshare itself:
git clone https://github.com/ntanhprt/Pshare-mcp.git
cd Pshare-mcp
pnpm install
pnpm build # biên dịch ra dist/Configuration (environment variables)
variable | default | description |
|
| URL of the Pshare server that the MCP will call to upload/share |
|
| bind host when running HTTP transport |
|
| port when running HTTP transport |
| (not set) | list of allowed hosts, comma-separated, used to enable DNS-rebinding protection when binding |
localhostis only correct when the MCP server runs on the very machine running Pshare.localhostalways points to "the machine running that process" — so if you install this MCP on a different machine/laptop than the one running Pshare (even on the same LAN), you must change it to the real IP of the machine running Pshare. For example, if Pshare is running on a machine with IP192.168.3.7:PSHARE_BASE_URL=http://192.168.3.7:5173 claude mcp add pshare-share -- node "$(pwd)/dist/index.js"Only keep the default
localhostwhen you run the MCP (stdio) directly on the same machine running Pshare.
Standalone test run
# 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>/mcpIntegration guide for other developers
1. Use with Claude Code (stdio transport — recommended when the AI runs on the same machine/host as Pshare)
After cloning + building (see Installation above), from inside the Pshare-mcp directory:
claude mcp add pshare-share -- node "$(pwd)/dist/index.js"To point to Pshare on another machine, pass env via -e (see the localhost note in Configuration):
claude mcp add pshare-share \
-e PSHARE_BASE_URL=http://192.168.3.7:5173 \
-- node "$(pwd)/dist/index.js"Verify it's registered:
claude mcp list2. Use with Claude Desktop (stdio transport)
Open the config file (~/Library/Application Support/Claude/claude_desktop_config.json on macOS, %APPDATA%\Claude\claude_desktop_config.json on Windows) and add:
{
"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"
}
}
}
}Restart Claude Desktop to get the pshare_upload tool.
3. Use over HTTP/SSE (when the AI runs on another machine on the same LAN)
Run the MCP server on the machine hosting Pshare (or any machine that can reach Pshare):
PSHARE_BASE_URL=http://localhost:5173 pnpm start:httpOn the client machine (Claude Code, or any MCP client that supports HTTP transport), point to:
http://<IP-máy-chạy-mcp>:7317/mcpExample with Claude Code:
claude mcp add --transport http pshare-share http://192.168.3.7:7317/mcp4. Use with any other AI/agent framework
MCP is a standard JSON-RPC protocol — any MCP client (LangChain MCP adapter, custom agent, etc.) can connect, just need:
stdio: spawn the command
node dist/index.jsand communicate via stdin/stdout.HTTP: call
POST http://<host>:<port>/mcpfollowing MCP's Streamable HTTP transport spec.
Security notes
This MCP server does not authenticate — anyone who can reach it (via stdio if they can run the process, or via HTTP if they can access the host:port) can upload/share files to the real Pshare. This is consistent with Pshare itself (no auth on the upload/share API), but keep this in mind when exposing the HTTP transport beyond the LAN.
Available Tools
1 toolTool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v1.0.0- First observed
pshare_upload
TDQS
Scored across 1 tool
With only a single tool, there is no possibility of confusion or overlap. The tool's purpose is clearly unique by virtue of being the only one.
A single tool name cannot be inconsistent with itself. 'pshare_upload' uses a clear prefix plus verb structure, and there are no other names to compare against.
A one-tool server for a file-sharing service feels too thin. While the tool covers the upload action, the apparent scope of 'share' implies at least download or retrieval functionality, making a single tool insufficient.
The tool surface is severely limited to uploading. There are no tools for downloading, listing, deleting, or managing shares, which means agents have no way to complete a full sharing workflow.
Maintenance
Related MCP Connectors
File uploads for AI agents. Upload, list, and manage files. No signup required.
Persistent file storage for AI agents via MCP and curl. Upload, download, and version files.
Upload any file, get a tracked shareable link. DocSend for AI agents.
Upload AI-written HTML presentations and manage expiring, revocable share links over OAuth.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables AI assistants to manage Microsoft SharePoint documents and folders through natural language, supporting operations like listing, reading, uploading, updating, deleting, and creating Office files.13MIT
- AlicenseNot gradedqualityAmaintenanceEnables sharing and reading encrypted files (text, images, logs) for AI workflows, with automatic 24-hour expiration and host-blind security.180 npm156MIT

YAFL MCP Serverofficial
AlicenseNot gradedqualityCmaintenanceEnables AI agents to securely transfer files between machines via encrypted, expiring share links, with tools for upload, download, status checks, and link management.MIT- FlicenseAqualityBmaintenanceEnables AI agents and users to upload and download files via MCP, generating shareable links and identifier codes. Files are automatically deleted after 24 hours.9-