Genio520 ISP MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| write | No | Set via --write to enable edits and commits; omit for inspection and camera validation. | false |
| GENIO_JDK | No | Path to a custom JDK installation. | |
| workspace | Yes | Absolute path to the local source workspace, passed via --workspace. | |
| GENIO_SERIAL | No | ADB device serial; needed when multiple devices are connected. | |
| GENIO_ANDROID_SDK | No | Path to a custom Android SDK installation. | |
| GENIO_CAMERA_KEYSTORE | No | Path to the original development.keystore when moving a source checkout. |
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_target_infoA | Read Genio Android/ABI/build and ADB status. No system changes. |
| get_camera_capabilitiesA | Read HAL-advertised camera metadata. Availability is distinct from verified control effects. |
| build_camera_probeA | Build the diagnostic Camera2 APK using the existing local Android SDK/JDK. Returns source and APK hashes. |
| run_camera_validationA | Install the built diagnostic APK and start YUV capture/control validation. Temporarily closes the built-in camera app, wakes the board, grants this diagnostic app CAMERA permission, and returns a job ID. Files are saved per run. |
| get_jobC | Read asynchronous build/capture job status. |
| get_reportB | Read a local validation report and artifact paths. Summary is the default. |
| commit_candidateA | Commit exactly the listed individual Genio source files. Never operates on IMG_ENHANCE or TTC, never pushes, and refuses unrelated staged files. |
| list_source_filesB | List allowed source files in the configured workspace. Does not require a board or Trail. |
| read_source_fileA | Read one allowed UTF-8 source file, including its SHA256 for conflict checking. |
| edit_source_fileA | Edit one source file using exact unique replacements and the SHA256 returned by read_source_file. NEW creates a file exclusively in an existing directory using content. Requires source write opt-in; never deletes files. |
| get_source_diffA | Read Git status plus unstaged and staged changes for explicitly selected source files. |
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
Each tool has a fairly distinct role: read-only target info, camera capability probing, build, run validation, job status, and report retrieval form a clear pipeline, while the source tools (list/read/edit/diff/commit) are well separated. Minor potential confusion exists between get_job (async job status) and get_report (validation report contents), and between commit_candidate and get_source_diff, but descriptions differentiate them adequately.
Every tool follows a consistent verb_noun snake_case pattern (get_target_info, build_camera_probe, run_camera_validation, commit_candidate, list_source_files, read_source_file, edit_source_file, get_source_diff). No mixed conventions or vague single-word names.
Eleven tools is well within the ideal 3-15 range and each maps to a concrete step in the camera-validation or source-editing workflow. Nothing seems redundant or missing at the count level.
The surface covers the core lifecycle: board inspection, build, run validation, job polling, report reading, plus a full source read/edit/diff/commit loop. Gaps are minor and largely intentional (no delete/restore source, no job cancellation, no push), which an agent can work around within stated constraints.