> For the complete documentation index, see [llms.txt](https://docs.mozark.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mozark.ai/mcp/mozark-mcp-docs/reference/tools-by-category.md).

# Tools by category

Browse Mozark MCP tools by capability.

The Mozark MCP server exposes 137 tools. You never call them directly — your assistant chooses them based on what you ask — but knowing what exists helps you ask for the right thing.

{% hint style="info" %}
Many clients load tools lazily. If a tool seems missing, ask the assistant to search for it by name (for example *"load the Mozark optics tools"*).
{% endhint %}

## Context & identity

| Tool                          | Description                                                                                         |
| ----------------------------- | --------------------------------------------------------------------------------------------------- |
| `mozark_get_active_context`   | Show the active organisation / project / app and where it came from.                                |
| `mozark_set_active_context`   | Set organisation, project and app for the session.                                                  |
| `mozark_switch_organization`  | Change organisation (clears project & app).                                                         |
| `mozark_switch_project`       | Change project within the organisation.                                                             |
| `mozark_switch_app`           | Change app within the organisation/project.                                                         |
| `mozark_clear_active_context` | Reset to no context.                                                                                |
| `acp_whoami`                  | Your profile with default org, project and app IDs.                                                 |
| `whoami`                      | The identity the MCP server is authenticated as.                                                    |
| `get_workflow_rules`          | The mandatory procedure for a workflow (context, generation, optics, appium, testplan, duplicates). |
| `get_skill_instructions`      | Mozark's test-generation rules and format for a given test type.                                    |

**Example prompts:** *"Which project am I in?"* · *"Switch to the iOS app."*

## Admin Control Panel (ACP)

| Tool                                         | Description                                                                    |
| -------------------------------------------- | ------------------------------------------------------------------------------ |
| `acp_list_organizations`                     | Organisations you can see.                                                     |
| `acp_list_projects` / `acp_list_my_projects` | Projects in an org (optionally filtered by app) / projects you have access to. |
| `acp_list_apps`                              | Apps in an organisation.                                                       |
| `acp_list_users` / `acp_list_project_users`  | Users in an org / in a project.                                                |
| `acp_list_memberships` / `acp_list_roles`    | Memberships and role definitions.                                              |
| `acp_get_entitlements`                       | Plan and entitlements for an organisation.                                     |
| `acp_get_usage_report`                       | Usage versus plan.                                                             |

**Example prompts:** *"How much of our device-hours quota have we used this month?"* · *"Who has access to the Checkout project?"*

## Test case management (TCM)

### Test cases

`tcm_create_test_case` · `tcm_get_test_case` · `tcm_list_test_cases` · `tcm_update_test_case` · `tcm_patch_test_case` · `tcm_delete_test_case` · `tcm_bulk_delete_test_cases`

### Folders

`tcm_create_folder` · `tcm_list_folders` · `tcm_get_folder` · `tcm_add_test_cases_to_folder` · `tcm_remove_test_cases_from_folder`

### Requirements

`tcm_create_requirement` · `tcm_list_requirements` · `tcm_get_requirement` · `tcm_update_requirement` · `tcm_patch_requirement` · `tcm_delete_requirement`

### Test plans

`tcm_create_test_plan` · `tcm_list_test_plans` · `tcm_get_test_plan` · `tcm_update_test_plan` · `tcm_add_test_cases_to_plan` · `tcm_remove_test_cases_from_plan` · `tcm_delete_test_plan` · `tcm_bulk_delete_test_plans`

### Test runs

`tcm_create_test_run` · `tcm_list_test_runs` · `tcm_get_test_run` · `tcm_update_test_run` · `tcm_patch_test_run` · `tcm_add_test_cases_to_run` · `tcm_test_run_start_testcase` · `tcm_test_run_set_step_status` · `tcm_test_run_add_evidence` · `tcm_test_run_finish_testcase` · `tcm_test_run_lock` · `tcm_test_run_unlock` · `tcm_delete_test_run` · `tcm_bulk_delete_test_runs`

### Bugs

`tcm_create_bug` · `tcm_list_bugs` · `tcm_get_bug` · `tcm_update_bug` · `tcm_patch_bug` · `tcm_delete_bug` · `tcm_bulk_delete_bugs`

### Own-Cloud devices

`tcm_create_custom_device` · `tcm_list_custom_devices` · `tcm_execute_testcase_owncloud`

**Example prompts:** *"List open bugs assigned to me."* · *"Lock TR-5 so nobody edits it."*

## AI agents

| Tool                        | Description                                                         |
| --------------------------- | ------------------------------------------------------------------- |
| `generate_test_cases`       | Author Agent — generate cases for a feature (type + polarity).      |
| `save_test_cases`           | Save generated cases to TCM with AI-provenance tags and embed them. |
| `search_test_cases`         | Semantic search over existing test cases.                           |
| `embed_test_cases`          | Batch-index existing cases for semantic search.                     |
| `suggest_test_plan`         | Planner Agent — propose cases for a sprint or release.              |
| `find_duplicate_test_cases` | Detect near-duplicate test cases.                                   |

**Example prompts:** *"Generate edge-case tests for offline mode."* · *"Which existing cases cover guest checkout?"*

## Knowledge base

| Tool                                            | Description                             |
| ----------------------------------------------- | --------------------------------------- |
| `get_image_upload_url`                          | Signed URL to upload a screenshot.      |
| `process_uploaded_image` / `upload_app_screens` | Analyse and index a screenshot.         |
| `upload_document`                               | Index a PRD, BRD or user story.         |
| `retrieve_from_knowledge_base`                  | Search screens, elements and documents. |
| `list_available_screens` / `list_images`        | What's indexed.                         |
| `load_pom` / `update_pom` / `list_pom_results`  | Page Object Models per screen.          |

## Optics (real-device test execution)

| Tool                                               | Description                                            |
| -------------------------------------------------- | ------------------------------------------------------ |
| `optics_start_session` / `optics_stop_session`     | Start or end a session on a device.                    |
| `optics_launch_app`                                | Relaunch the app under test.                           |
| `optics_get_keywords` / `optics_get_keyword_guide` | The automation keyword vocabulary and its usage guide. |
| `optics_get_page_source` / `optics_get_elements`   | Inspect what's on screen.                              |
| `optics_execute_keyword`                           | Run one step; returns a screenshot.                    |
| `optics_add_step_evidence`                         | Attach a screenshot to a test-run step.                |
| `optics_export_yaml`                               | Export the executed steps as a reusable Optics script. |

## Appium (device automation)

See the full list in [Automate devices with Appium](/mcp/mozark-mcp-docs/guides/automate-devices-with-appium.md).

### Session

`appium_list_devices` · `appium_list_free_devices` · `appium_start_session` · `appium_get_session` · `appium_stop_session` · `appium_health_check` · `appium_hub_status`

### Apps

`appium_get_app_upload_command` · `appium_upload_app` · `appium_install_app` · `appium_activate_app` · `appium_terminate_app`

### Interaction

`appium_find_element` · `appium_find_elements` · `appium_click_element` · `appium_set_element_value` · `appium_clear_element` · `appium_get_element_text` · `appium_get_page_source` · `appium_execute_script` · `appium_navigate_*` · `appium_refresh` · `appium_get_url` · `appium_*_orientation` · `appium_*_context(s)` · `appium_*_settings` · `appium_apple_cdp_execute`

### Evidence

`appium_take_screenshot` · `appium_add_step_evidence` · `appium_list_screenshots` · `appium_list_assets` · `appium_list_outputs` · `appium_get_logs` · `appium_get_log_types`

## Deprecated

| Tool                         | Status                                                                          |
| ---------------------------- | ------------------------------------------------------------------------------- |
| `delete_duplicate_test_case` | Deprecated — use `find_duplicate_test_cases` then `tcm_bulk_delete_test_cases`. |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.mozark.ai/mcp/mozark-mcp-docs/reference/tools-by-category.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
