mcp-appium
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_APPIUM_CAPS | No | Pass the Appium capabilities directly as a JSON string. | |
| MCP_APPIUM_PLATFORM | No | Selects which platform configuration to use from the capabilities file when multiple are defined. | |
| MCP_APPIUM_CAPS_FILE | No | Path to an alternative capabilities file instead of appium-caps.json. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| connect_to_sessionA | Se connecte à un serveur Appium en cours d'exécution.
Args: appium_url: URL du serveur Appium (défaut: http://127.0.0.1:4723) session_id: ID de session Appium existante (optionnel) create_if_needed: Si True, crée une session si aucune n'existe |
| screenshotA | Prend une capture de l'écran actuel et la renvoie pour analyse. Une copie est aussi écrite dans le répertoire temporaire du système. |
| get_page_sourceA | Récupère l'arbre XML de l'écran actuel. C'est l'équivalent du DOM pour une application native. Args: simplified: Si True, retourne une version allégée avec seulement les attributs utiles (type, text, label, content-desc, accessibility_id, bounds, enabled, visible). Si False, retourne le XML brut complet. |
| find_elementsB | Recherche des éléments dans l'application. Args: locator: Le locator à chercher. Exemples : - "//*[@content-desc='MonBouton']" (XPath) - "accessibility_id=MonBouton" - "id=com.exemple.app:id/mon_bouton" - "predicate=label == 'Valider'" (iOS) - "MonTexte" (recherche par texte dans tous les attributs) strategy: "auto" (détection automatique), "text_search", ou une stratégie explicite : xpath, accessibility_id, id, name, class, android (uiautomator), predicate, class_chain. |
| get_element_infoA | Récupère toutes les informations d'un élément (texte, position, taille, attributs, visibilité, cliquabilité...). Args: locator: Locator de l'élément (XPath, accessibility_id, id, etc.) |
| tap_elementA | Tap ou clic sur un élément de l'application. Args: locator: Locator de l'élément à cliquer. verify: Si True, compare l'écran avant/après et signale un tap sans effet (coûte deux lectures du page source). |
| type_textC | Saisit du texte dans un champ de l'application. Args: locator: Locator du champ de saisie. text: Texte à saisir. |
| go_backA | Appuie sur le bouton retour (Android/Windows). |
| close_sessionA | Ferme la session, mais uniquement si ce serveur l'a créée. Une session ouverte par un test appartient à ce test : la fermer couperait l'exécution en cours. Le rattachement se contente donc d'oublier la session, qui continue de vivre. |
| get_session_infoA | Retourne les informations de la session Appium en cours : plateforme, capabilities, taille d'écran, etc. |
| suggest_locatorsA | Cherche un élément par texte/description et suggère les meilleurs locators Robot Framework pour le cibler (du plus stable au moins stable). Utile pour : "quel locator utiliser pour le bouton Valider ?" Args: text_or_description: Texte visible, label, ou description de l'élément. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Most tools are clearly distinct: session management, element lookup, and actions. Minor overlap exists between get_page_source/screenshot and find_elements/get_element_info, but descriptions make the differences clear.
All tool names follow a consistent snake_case verb_noun pattern (connect_to_session, get_page_source, type_text, find_elements, etc.). go_back is a phrasal verb but matches the style.
11 tools is well-scoped for an Appium MCP server. Each tool serves a clear purpose in session management, element inspection, or interaction, with no redundant or unnecessary entries.
Core workflows like connecting, inspecting, tapping, typing, and navigating back are covered. However, common mobile interactions such as swipe, scroll, long press, and wait-for-element are missing, which could block typical automation flows.