Skip to main content
Glama

Connect

connect

Links to a running React Native app via Metro, using an optional port, device, or target ID, so an agent can inspect and interact with the live app.

Instructions

Connect to a running React Native app via Metro. Optionally pass a port, a target_id from list_targets, or a device name — otherwise standard ports are scanned and the app's JS runtime is picked.

Input Schema

NameRequiredDescriptionDefault
portNo
deviceNo
target_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose useful non-obvious behavior: default port scanning and that the app's JS runtime is selected automatically. However it says nothing about idempotency (what happens if already connected), timeouts, failure modes, or whether an existing session is replaced — meaningful gaps for a stateful connection tool.

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?

Two compact clauses, front-loaded with the action and then the argument options. No filler, no restating the tool name, and the default-scanning fallback is stated inline rather than in a separate sentence.

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

Completeness3/5

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

No output schema and no annotations mean the description is the only source of behavioral detail, and while it covers parameters and default discovery, it omits what a successful connection yields and how errors surface. Adequate to call the tool, but thin for a session-establishing operation that everything else depends on.

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

Parameters4/5

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

Schema coverage is 0%, so the description must compensate, and it does name all three parameters with meaning: port, target_id (sourced from list_targets), and device name. The 'or' framing also implies these are alternatives, which the bare schema does not convey. It lacks format detail for device (name vs UDID) and precedence rules if multiple are supplied.

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?

States a specific verb and resource — 'Connect to a running React Native app via Metro' — which is unambiguous and clearly distinct from sibling tools like list_targets or ping. It does not explicitly say how it differs from connect-adjacent siblings (e.g., launch_app), but the resource and transport are named precisely.

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?

Gives clear context for the two modes of use: pass one of port/target_id/device, or rely on default port scanning. It names list_targets as the source for target_id, which routes the agent correctly. It stops short of stating prerequisites (app must already be running, Metro must be up) or what to do if connection fails.

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