Back to list
plurigrid

localsend-mcp

by plurigrid

everything is topological chemputer!

2🍴 3📅 Jan 20, 2026

SKILL.md


name: localsend-mcp description: LocalSend-based P2P transfer with MCP server design for NATS/Tailscale discovery and throughput tuning. source: local license: UNLICENSED

LocalSend MCP Skill

Use This Skill When

  • The user mentions LocalSend, AirDrop-like transfer, or peer-to-peer file sharing.
  • The task asks for an MCP server or tool set around LocalSend.
  • Discovery/advertising needs to use NATS or Tailscale before transferring data.

Reality Check (LocalSend in This Repo)

  • localsend (Flox package) launches a GUI and does not exit for --help.
  • Discovery uses UDP multicast 224.0.0.167:53317 (LAN only).
  • Transfer runs HTTPS on port 53317; direct IPs are required across subnets.
  • For headless automation, prefer a CLI client (e.g., jocalsend) or a small protocol wrapper.

Architecture: Advertise -> Negotiate -> Transfer -> Tune

  1. Advertise capabilities over NATS (or Tailscale if LAN multicast is blocked).
  2. Negotiate transport and parameters (LAN multicast vs direct IP).
  3. Transfer via LocalSend protocol/CLI.
  4. Tune throughput until spectral gap <= 0.25 (>= 75% of target throughput).

MCP Tool Set (Draft)

Discovery / Advertising

  • localsend_advertise:
    • Inputs: agent_id, device_name, localsend_port, tailscale_ip?, capabilities, spectral_gap_target
  • localsend_list_peers:
    • Inputs: source = localsend_multicast | nats | tailscale

Session Negotiation

  • localsend_negotiate:
    • Inputs: peer_id, preferred_transport, max_chunk_bytes, max_parallel
    • Output: session_id, transport, target_ip, port

Transfer

  • localsend_send:
    • Inputs: session_id, file_path, chunk_bytes, parallelism
  • localsend_receive:
    • Inputs: session_id, dest_dir, accept

Throughput Tuning

  • localsend_probe:
    • Inputs: session_id, probe_bytes, probe_parallelism
    • Output: throughput_bps, rtt_ms, loss_rate
  • localsend_session_status:
    • Inputs: session_id
    • Output: bytes_sent, bytes_received, throughput_bps, spectral_gap

Spectral Gap Heuristic (Practical)

Define:

spectral_gap = 1.0 - (observed_throughput / target_throughput)

Stop tuning when spectral_gap <= 0.25.

Tuning Loop:

  1. Start chunk_bytes = 256KB, parallelism = 1
  2. Increase parallelism to 2, 4, 8 while loss < 1%
  3. Increase chunk size up to 1MB while RTT stable
  4. Recompute spectral gap each step

Integration Points in This Repo

  • NATS broadcast helpers: lib/synadia_broadcast.rb
  • Tailscale patterns: lib/tailscale_file_transfer_skill.rb
  • MCP server reference: mcp_unified_server.py

Implementation Notes

  • Avoid assuming LocalSend has a stable CLI; verify with jocalsend --help if installed.
  • If multicast discovery fails (Tailscale), use NATS to exchange target_ip + port.
  • Keep tool outputs structured; avoid dumping large blobs through MCP.

Score

Total Score

60/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon