Skip to main content
Glama
appium

MCP Appium

Official
by appium

appium_geolocation

Manage device GPS location during mobile app tests by reading, setting, or resetting coordinates on iOS and Android.

Instructions

Get, set, or reset the device geolocation (GPS coordinates). Works on both iOS (simulators and real devices) and Android (emulators and real devices with mock location enabled). Use action=get to read current coordinates, action=set with latitude/longitude (and optional altitude for Android) to simulate a location, or action=reset to restore the system default. Note: On Android emulators, reset is not supported — use action=set to manually restore coordinates instead. On Android real devices, the mocked location may persist until the GPS cache refreshes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform. get: read the current device geolocation. set: set the device geolocation (requires latitude and longitude; optional altitude for Android). reset: reset the geolocation to the default/system value. Not supported on Android emulators — use action=set instead.
altitudeNoAltitude value in meters. Android only, defaults to 0. Ignored on iOS. Used with: set.
latitudeNoLatitude value (-90 to 90). Measurement of distance north or south of the Equator. Required for: set.
longitudeNoLongitude value (-180 to 180). Measurement of distance east or west of the prime meridian. Required for: set.
sessionIdNoSession ID to target. If omitted, uses the active session.
Behavior4/5

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

While the annotations only declare readOnlyHint=false and openWorldHint=false, the description adds useful behavior: platform support differences, reset unsupported on Android emulators, the suggestion to use set instead, and the note about mocked location persistence on Android real devices. This goes beyond what the annotations or schema communicate.

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 informative without padding; each sentence earns its place. The main action modes are front-loaded, followed by platform caveats. The structure flows logically from overview to usage to edge cases.

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?

Given the absence of an output schema, the description could have briefly stated the return shape for action=get, but 'read current coordinates' is reasonably indicative. It covers platform-specific behavior, action semantics, and limitations. The only minor gap is the exact output format for get operations.

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 baseline is 3. The description repeats the action modes and mentions optional altitude, but it does not add substantial meaning beyond the schema's parameter descriptions. The schema already documents required-for-set, ranges, platform applicability, and defaults.

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 opens with a specific verb-plus-resource statement: 'Get, set, or reset the device geolocation (GPS coordinates).' It clearly distinguishes this from other Appium control siblings by naming a unique resource and the three supported operations. The platform coverage statement further disambiguates the tool's scope.

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 gives explicit conditional guidance: use action=get to read, action=set to simulate, action=reset to restore, and explains when reset is not supported. It does not explicitly name alternative sibling tools, but the geolocation scope is distinctive enough that the intended usage context is clear.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/appium/appium-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server