Specter MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| build_appB | Build a KMM application for Android or iOS. Returns structured build result with error details on failure. |
| install_appB | Install an app on a device or simulator. For Android, installs an APK. For iOS, installs an .app bundle. |
| launch_appB | Launch an installed app on a device or simulator. |
| get_ui_contextB | Capture the current UI state including screenshot and interactive elements. Returns a compressed screenshot and a list of UI elements with their properties. |
| interact_with_uiA | Perform UI interactions like tap, swipe, or text input. Can target elements by ID/text or by coordinates. |
| run_unit_testsB | Run unit tests for Android or iOS. Returns structured test results with pass/fail status and failure details. |
| run_maestro_flowA | Run a Maestro E2E test flow. Returns structured results with step-by-step status. On failure, generates a failure bundle with screenshot and logs for debugging. |
| run_linterA | Run code linter (Detekt, Android Lint, SwiftLint, ktlint). Returns structured lint results with issue locations and suggestions. |
| list_devicesB | List available devices (emulators, simulators, physical devices). Returns device details including status and platform. |
| manage_envB | Manage device environment: boot, shutdown, or restart emulators and simulators. |
| clean_projectA | Clean project build caches, DerivedData, and other temporary files. Helps resolve build issues caused by stale caches. |
| analyze_crashA | Analyze crash logs and device logs to identify crash patterns and root causes. Supports both Android (logcat) and iOS (crash files + oslog). For live device analysis, checks device logs automatically. For iOS, can also analyze .ips/.crash files with symbolication. |
| deep_link_navigateB | Navigate to a specific screen in the app using a deep link or Universal Link. Supports custom URL schemes (myapp://path) and HTTPS URLs for App Links/Universal Links. |
| inspect_app_stateA | Inspect app preferences (SharedPreferences/UserDefaults) and SQLite databases. Can list all preferences, inspect specific databases, or run SQL queries. |
| inspect_logsA | Inspect device logs (Android logcat or iOS unified logs). Can filter by app, log level, tags, patterns, and time range. |
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 15 tools
Each tool targets a distinct function: crash analysis, building, cleaning, deep link navigation, UI capture, app state inspection, log inspection, installation, UI interaction, launch, device listing, environment management, linter, E2E tests, and unit tests. There is no ambiguity between tools.
Most tools follow a verb_noun pattern (e.g., analyze_crash, build_app). One exception is deep_link_navigate (noun_verb), and interact_with_ui uses a preposition, but overall the naming is mostly consistent.
15 tools is well-scoped for a mobile app development and testing server. Each tool earns its place, covering build, test, deploy, device management, and analysis without being overwhelming.
The tool set covers core workflows: building, testing (unit, lint, E2E), installing, launching, UI interaction, logging, crash analysis, and device management. Minor gaps like uninstall or app data reset are absent but not critical.