Skip to main content
Glama
R-zin

tailscale-mesh-mcp

by R-zin

check_connectivity

Run Tailscale ping latency, TCP port, and SSH health checks across mesh nodes to diagnose connectivity issues.

Instructions

Execute internal network latency pings (tailscale ping), TCP port tests, or SSH health checks across mesh nodes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
portNoTarget TCP port number (required if type is 'port')
typeYesCheck type: 'ping' for WireGuard/DERP latency, 'port' for TCP socket test, or 'ssh' for Tailscale SSH verification
countNoNumber of ping packets to send (for ping type, default 3)
dryRunNoSimulate the connectivity check without executing network commands or connections
targetYesTarget node Tailscale IP address (100.x.y.z), MagicDNS name (node.tailnet.ts.net), or hostname
timeoutMsNoTimeout in milliseconds for the connectivity probe (default 5000ms)
sshCommandNoSafe command to execute over Tailscale SSH (for ssh type, default: 'exit 0')exit 0

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, yet it only says these checks are 'executed.' It does not disclose that it runs active network commands against remote mesh nodes, that the ssh mode can execute a command on a target host, whether credentials/permissions are required, or what side effects or failures look like.

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

Conciseness4/5

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

A single tight sentence with the verb front-loaded and no filler; the parenthetical '(tailscale ping)' earns its place by disambiguating the ping mode. The three modes are run together rather than structured as a list, which is the only minor weakness.

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

Completeness2/5

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

For a 7-parameter tool with no annotations and no output schema, the description is thin: it says nothing about what a check returns (latency figures, success/failure, raw output), nothing about authentication or prerequisites for SSH, and nothing about the dryRun simulation path. An agent would have to rely entirely on the schema to call this correctly.

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 every parameter (type enum, port, count, dryRun, timeoutMs, sshCommand) is already documented in the schema. The description adds no format, default, or constraint detail beyond it, so the baseline 3 applies.

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

Purpose4/5

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

The description names a specific verb (execute) and resource (network latency pings / TCP port tests / SSH health checks) and enumerates the three supported modes. It is unambiguous on its own, but it offers no explicit contrast with the only sibling, list_devices.

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

Usage Guidelines3/5

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

Enumerating the three check types ('ping', 'port', 'ssh') implies which mode to pick for which scenario, but there is no explicit when-to-use/when-not statement and no routing to alternatives. Usage is inferable rather than stated.

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

Deploy Server

Other Tools