Skip to main content
Glama
ntanhprt

pshare-share-mcp

by ntanhprt

pshare-share-mcp

MCPサーバーは、あらゆるAI(Claude Code、Claude Desktop、その他のMCPクライアント)がファイル/フォルダーをPshareにアップロードし、共有リンクを受け取れるようにします。UIからアップロードして共有ボタンを押してリンクをコピーする手動操作とまったく同じです。

ログインやトークンは一切不要です。Pshareの現在のアーキテクチャと一貫しています(Webクライアント自体も実際には認証を行わず、自動生成されたX-Browser-Idのみを使用します)。

要件: Pshare のインスタンスがどこか(localhostまたはLAN内)で実行されている必要があります。このリポジトリはPshareのREST APIを呼び出すMCPサーバーであり、Pshare自体を実行するものではありません。

提供ツール

pshare_upload

フィールド

必須

説明

paths

✅

MCPサーバーが実行されているマシン上の絶対パス(ファイルまたはフォルダー)の配列。フォルダーは再帰的にアップロードされ、サブフォルダー構造が保持されます。

title

❌

共有カードに表示されるタイトル

senderName

❌

受信者に表示される送信者名

password

❌

共有リンクを開くためのパスワード

description

❌

共有カードに表示される説明

ttlMinutes

❌

リンクの有効期限(分)。空の場合は期限切れなし

返される結果: http://<pshare-host>/?share=<N> 形式の共有リンクと、ファイル数とパスワードステータス。

90MBを超えるファイルは自動的にチャンクアップロード(WebクライアントのLANアップロード動作と同様)に切り替わります。追加の操作は不要です。

Related MCP server: vnsh-mcp

インストール

このリポジトリをクローンするだけです。Pshare全体をダウンロードする必要はありません:

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

設定(環境変数)

変数

デフォルト

説明

PSHARE_BASE_URL

http://localhost:5173

MCPがアップロード/共有のために呼び出すPshareサーバーのURL

PSHARE_MCP_HOST

0.0.0.0

HTTPトランスポート実行時のバインドホスト

PSHARE_MCP_PORT

7317

HTTPトランスポート実行時のポート

PSHARE_MCP_ALLOWED_HOSTS

(未設定)

許可するホストのカンマ区切りリスト。0.0.0.0 にバインドする際のDNSリバインディング保護を有効にするために使用

localhost は、MCPサーバーがPshareを実行しているのと同じマシンで実行されている場合にのみ正しく機能します。 localhost は常に「そのプロセスを実行しているマシン自身」を指すため、Pshareを実行しているマシンとは異なるマシン/ラップトップ(同じLAN内であっても)にこのMCPをインストールする場合は、Pshareを実行しているマシンの実際のIPアドレスに変更する必要があります。たとえば、PshareがIP 192.168.3.7 のマシンで実行されている場合:

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

localhost のデフォルトは、Pshareを実行しているのと同じマシンでMCP(stdio)を実行する場合にのみ保持してください。

単体で試す

# 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

他の開発者向け統合ガイド

1. Claude Codeで使用する(stdioトランスポート — AIがPshareと同じマシン/ホストで実行される場合に推奨)

クローンしてビルドした後(上記のインストールセクションを参照)、Pshare-mcp ディレクトリ内から:

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

別のマシンでPshareを指定するには、-e でenvを渡します(設定セクションの localhost に関する注意を参照):

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

登録されているか確認:

claude mcp list

2. Claude Desktopで使用する(stdioトランスポート)

設定ファイル(macOSでは ~/Library/Application Support/Claude/claude_desktop_config.json、Windowsでは %APPDATA%\Claude\claude_desktop_config.json)を開き、次を追加します:

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

Claude Desktopを再起動して、pshare_upload ツールを認識させます。

3. HTTP/SSE経由で使用する(AIが同じLAN内の別のマシンで実行されている場合)

Pshareをホストしているマシン(またはPshareに到達できる任意のマシン)でMCPサーバーを実行します:

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

クライアントマシン(Claude Code、またはHTTPトランスポートをサポートするMCPクライアント)で、次を指定します:

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

Claude Codeの例:

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

4. その他のAI/エージェントフレームワークで使用する

MCPは標準のJSON-RPCプロトコルです。任意のMCPクライアント(LangChain MCPアダプター、カスタムエージェントなど)から接続できます。必要なのは次のとおりです:

  • stdio: node dist/index.js コマンドを起動し、stdin/stdoutを介して通信します。

  • HTTP: MCPのStreamable HTTPトランスポート仕様に従って POST http://<host>:<port>/mcp を呼び出します。

セキュリティ上の注意

このMCPサーバーは認証を行いません。アクセスできれば(プロセス実行権限があればstdio経由、またはホスト:ポートにアクセスできればHTTP経由で)、誰でも実際のPshareにファイルをアップロード/共有できます。これはPshare自体(アップロード/共有APIに認証がない)と一貫していますが、HTTPトランスポートをLANに公開する場合は注意が必要です。

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
    -