Skip to main content
Glama
ntanhprt

pshare-share-mcp

by ntanhprt

pshare-share-mcp

MCP-Server, der jedem KI-System (Claude Code, Claude Desktop oder anderen MCP-Clients) das Hochladen von Dateien/Ordnern auf Pshare und das Erhalten eines Share-Links ermöglicht — genau wie bei manueller Bedienung: über die UI hochladen und dann die Schaltfläche Share drücken, um den Link zu kopieren.

Keine Anmeldung oder Token erforderlich — konsistent mit der aktuellen Architektur von Pshare (auch der Web-Client führt keine echte Authentifizierung durch, sondern verwendet nur eine selbst generierte X-Browser-Id).

Anforderung: Es muss bereits eine Pshare-Instanz irgendwo laufen (localhost oder im LAN) — dieses Repo ist nur ein MCP-Server, der die REST-API von Pshare aufruft, und führt Pshare nicht selbst aus.

Bereitgestellte Tools

pshare_upload

Feld

erforderlich

Beschreibung

paths

✅

Array absoluter Pfade (Datei oder Ordner) auf dem Rechner, auf dem der MCP-Server läuft. Ordner werden rekursiv hochgeladen, wobei die Unterordnerstruktur erhalten bleibt.

title

❌

Titel, der auf der Share-Karte angezeigt wird

senderName

❌

Name des Absenders, der dem Empfänger angezeigt wird

password

❌

Passwort zum Öffnen des Share-Links

description

❌

Beschreibung, die auf der Share-Karte angezeigt wird

ttlMinutes

❌

Anzahl der Minuten, die der Link gültig ist; leer = kein Ablauf

Rückgabewert: Share-Link im Format http://<pshare-host>/?share=<N> zusammen mit der Dateianzahl und dem Passwortstatus.

Dateien > 90MB werden automatisch auf Chunked-Upload umgestellt (wie beim LAN-Upload des Web-Clients), ohne dass weitere Schritte nötig sind.

Related MCP server: vnsh-mcp

Installation

Einfach dieses Repo klonen — Pshare muss nicht heruntergeladen werden:

git clone https://github.com/ntanhprt/Pshare-mcp.git
cd Pshare-mcp
pnpm install
pnpm build      # biên dịch ra dist/

Konfiguration (Umgebungsvariablen)

Variable

Standard

Beschreibung

PSHARE_BASE_URL

http://localhost:5173

URL des Pshare-Servers, den der MCP für Upload/Share aufruft

PSHARE_MCP_HOST

0.0.0.0

Bind-Host beim Ausführen des HTTP-Transports

PSHARE_MCP_PORT

7317

Port beim Ausführen des HTTP-Transports

PSHARE_MCP_ALLOWED_HOSTS

(nicht gesetzt)

Liste erlaubter Hosts, durch Kommas getrennt, zum Aktivieren des DNS-Rebinding-Schutzes beim Binden an 0.0.0.0

localhost ist nur korrekt, wenn der MCP-Server auf genau dem Rechner läuft, auf dem Pshare läuft. localhost zeigt immer auf „den Rechner, auf dem der Prozess läuft" — wenn Sie diesen MCP also auf einem anderen Rechner/Laptop installieren als dem, auf dem Pshare läuft (auch im selben LAN), müssen Sie die IP des Pshare-Rechners angeben. Wenn Pshare beispielsweise auf einem Rechner mit der IP 192.168.3.7 läuft:

PSHARE_BASE_URL=http://192.168.3.7:5173 claude mcp add pshare-share -- node "$(pwd)/dist/index.js"

Behalten Sie den Standardwert localhost nur bei, wenn Sie den MCP (stdio) direkt auf demselben Rechner ausführen, auf dem Pshare läuft.

Eigenständiger Testlauf

# 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

Integrationsanleitung für andere Entwickler

1. Verwendung mit Claude Code (stdio-Transport — empfohlen, wenn die KI auf demselben Rechner/Host wie Pshare läuft)

Nach dem Klonen + Build (siehe Abschnitt Installation oben), aus dem Verzeichnis Pshare-mcp heraus:

claude mcp add pshare-share -- node "$(pwd)/dist/index.js"

Um auf Pshare auf einem anderen Rechner zu verweisen, übergeben Sie die Umgebungsvariable mit -e (siehe Hinweis zu localhost im Abschnitt Konfiguration):

claude mcp add pshare-share \
  -e PSHARE_BASE_URL=http://192.168.3.7:5173 \
  -- node "$(pwd)/dist/index.js"

Prüfen, ob die Registrierung erfolgreich war:

claude mcp list

2. Verwendung mit Claude Desktop (stdio-Transport)

Öffnen Sie die Konfigurationsdatei (~/Library/Application Support/Claude/claude_desktop_config.json unter macOS, %APPDATA%\Claude\claude_desktop_config.json unter Windows) und fügen Sie Folgendes hinzu:

{
  "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"
      }
    }
  }
}

Starten Sie Claude Desktop neu, um das Tool pshare_upload zu erhalten.

3. Verwendung über HTTP/SSE (wenn die KI auf einem anderen Rechner im selben LAN läuft)

Führen Sie den MCP-Server auf dem Rechner aus, der Pshare hostet (oder auf einem beliebigen Rechner, der Pshare erreichen kann):

PSHARE_BASE_URL=http://localhost:5173 pnpm start:http

Auf dem Client-Rechner (Claude Code oder ein beliebiger MCP-Client mit HTTP-Transport-Unterstützung) zeigen Sie auf:

http://<IP-máy-chạy-mcp>:7317/mcp

Beispiel mit Claude Code:

claude mcp add --transport http pshare-share http://192.168.3.7:7317/mcp

4. Verwendung mit jedem anderen KI-/Agent-Framework

MCP ist ein standardisiertes JSON-RPC-Protokoll — jeder MCP-Client (LangChain MCP-Adapter, benutzerdefinierter Agent usw.) kann sich verbinden, es genügt:

  • stdio: Befehl node dist/index.js starten und über stdin/stdout kommunizieren.

  • HTTP: POST http://<host>:<port>/mcp gemäß der Streamable-HTTP-Transport-Spezifikation von MCP aufrufen.

Sicherheitshinweis

Dieser MCP-Server führt keine Authentifizierung durch — jeder, der ihn erreichen kann (über stdio, wenn er Prozesse ausführen darf, oder über HTTP, wenn er Zugriff auf host:port hat), kann Dateien auf die echte Pshare-Instanz hochladen/teilen. Dies ist konsistent mit Pshare selbst (keine Auth auf der Upload-/Share-API), sollte aber beachtet werden, wenn der HTTP-Transport über das LAN hinaus geöffnet wird.

Available Tools

1 tool
pshare_uploadUpload to Pshare and get a share linkA

Uploads one or more files/folders from this machine to Pshare (LAN file sharing) and returns the same share link a user would get by uploading through the UI and clicking "Share".

ParametersJSON Schema
NameRequiredDescriptionDefault
pathsYesAbsolute file or folder paths on this machine to upload. Folders are uploaded recursively.
titleNoTitle shown on the share card
passwordNoPassword required to open the share link
senderNameNoName of the sender shown to recipients
ttlMinutesNoMinutes until the share expires; omit for no expiry
descriptionNoDescription shown on the share card

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It clearly states the upload side-effect and the nature of the return value, but it does not disclose potential caveats such as file size limits, authentication requirements, or whether an existing share is reused or a new one is created. The UI-equivalence note adds value, but behavioral disclosure remains basic.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that immediately states the action and outcome. Every phrase earns its place, and there is zero filler or repetition of schema field names.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, so the description's mention of the returned share link is valuable for understanding what to expect. With six parameters well-documented in the schema and a straightforward purpose, the description is complete enough for an agent to use the tool, though it could add edge-case behavior (e.g., handling of inaccessible paths).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the description rightfully leaves parameter details to the schema. The only parameter-related hint in the description is 'one or more files/folders', which mirrors the 'paths' array. This adds no meaning beyond the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Uploads'), a clear resource ('one or more files/folders from this machine to Pshare'), and a concrete outcome ('returns the same share link a user would get'). It fully distinguishes the tool's purpose even without sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage context by equating the tool's output to the UI 'Share' action, implying when to use it: whenever a user would upload files via the Pshare interface. It does not explicitly mention exclusions or alternatives, but with no sibling tools, this is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev1.0.0
    • First observedpshare_upload

TDQS

A3.9/5.0

Scored across 1 tool

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count2/5

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.

Completeness2/5

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

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    Enables AI assistants to manage Microsoft SharePoint documents and folders through natural language, supporting operations like listing, reading, uploading, updating, deleting, and creating Office files.
    13
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables sharing and reading encrypted files (text, images, logs) for AI workflows, with automatic 24-hour expiration and host-blind security.
    74 npm
    156
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to securely transfer files between machines via encrypted, expiring share links, with tools for upload, download, status checks, and link management.
    MIT
  • F
    license
    A
    quality
    B
    maintenance
    Enables 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
    -