Skip to content

Commit 5b4c35b

Browse files
committed
🎨 Add logo and enhance documentation branding
Add logo image and improve visual branding across documentation This update introduces a cohesive visual identity: - Add neon glow icon logo to docs and README - Enhance badge styling with logos and consistent colors - Improve MCP reference formatting with better indentation - Update quickstart guide with clearer transport explanations - Remove plan.md from navigation structure - Standardize documentation appearance across all files
1 parent e00ccd4 commit 5b4c35b

File tree

6 files changed

+85
-68
lines changed

6 files changed

+85
-68
lines changed

README.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,15 @@
22

33
<div align="center">
44

5+
<img src="docs/assets/images/logo_neon_glow_icon.png" alt="DroidMind Logo" width="180" />
6+
57
[![Python 3.13+](https://img.shields.io/badge/python-3.13+-9D00FF.svg?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/downloads/)
6-
[![License](https://img.shields.io/badge/license-Apache_2.0-FF00FF.svg?style=for-the-badge)](LICENSE)
7-
[![Status](https://img.shields.io/badge/status-active_development-39FF14.svg?style=for-the-badge)](docs/plan.md)
8-
[![Code Style](https://img.shields.io/badge/code_style-ruff-00FFFF.svg?style=for-the-badge)](https://github.com/astral-sh/ruff)
9-
[![Type Check](https://img.shields.io/badge/type_check-pyright-FFBF00.svg?style=for-the-badge)](https://github.com/microsoft/pyright)
8+
[![License](https://img.shields.io/badge/license-Apache_2.0-FF00FF.svg?style=for-the-badge&logo=apache&logoColor=white)](LICENSE)
9+
[![Status](https://img.shields.io/badge/status-active_development-39FF14.svg?style=for-the-badge&logo=githubactions&logoColor=white)](docs/plan.md)
10+
[![Code Style](https://img.shields.io/badge/code_style-ruff-00FFFF.svg?style=for-the-badge&logo=ruff&logoColor=white)](https://github.com/astral-sh/ruff)
11+
[![Type Check](https://img.shields.io/badge/type_check-pyright-FFBF00.svg?style=for-the-badge&logo=typescript&logoColor=white)](https://github.com/microsoft/pyright)
12+
[![MCP](https://img.shields.io/badge/protocol-MCP-E6E6FA.svg?style=for-the-badge&logo=anthropic&logoColor=white)](https://modelcontextprotocol.io/)
13+
[![Android](https://img.shields.io/badge/platform-android-A4C639.svg?style=for-the-badge&logo=android&logoColor=white)](https://www.android.com/)
1014

1115
**Control Android devices with AI through the Model Context Protocol**
1216

283 KB
Loading

docs/index.md

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
11
# ✨ Welcome to DroidMind 🤖
22

3-
<div align="center">
3+
<p align="center">
4+
<img src="assets/images/logo_neon_glow_icon.png" alt="DroidMind Logo" width="180" />
5+
</p>
46

57
[![Python 3.13+](https://img.shields.io/badge/python-3.13+-9D00FF.svg?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/downloads/)
6-
[![License](https://img.shields.io/badge/license-Apache_2.0-FF00FF.svg?style=for-the-badge)](license.md)
7-
[![Status](https://img.shields.io/badge/status-active_development-39FF14.svg?style=for-the-badge)](plan.md)
8+
[![License](https://img.shields.io/badge/license-Apache_2.0-FF00FF.svg?style=for-the-badge&logo=apache&logoColor=white)](license.md)
9+
[![Status](https://img.shields.io/badge/status-active_development-39FF14.svg?style=for-the-badge&logo=githubactions&logoColor=white)](plan.md)
10+
[![Code Style](https://img.shields.io/badge/code_style-ruff-00FFFF.svg?style=for-the-badge&logo=ruff&logoColor=white)](https://github.com/astral-sh/ruff)
11+
[![Type Check](https://img.shields.io/badge/type_check-pyright-FFBF00.svg?style=for-the-badge&logo=typescript&logoColor=white)](https://github.com/microsoft/pyright)
12+
[![MCP](https://img.shields.io/badge/protocol-MCP-E6E6FA.svg?style=for-the-badge&logo=anthropic&logoColor=white)](https://modelcontextprotocol.io/)
13+
[![Android](https://img.shields.io/badge/platform-android-A4C639.svg?style=for-the-badge&logo=android&logoColor=white)](https://www.android.com/)
814

915
**Control Android devices with AI through the Model Context Protocol**
1016

11-
</div>
12-
1317
**DroidMind is your visionary copilot for Android mastery, bridging the gap between your AI assistant and Android devices.** It leverages the [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) to unlock unparalleled control, debugging, and system analysis capabilities—all through natural language.
1418

1519
Imagine your AI assistant not just _talking_ about code, but actively participating in the development loop: building, testing, and debugging directly on your Android devices. DroidMind makes this a reality.

docs/mcp-reference.md

Lines changed: 48 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,17 @@ Below is a categorized list of DroidMind tools. For detailed parameters, refer t
1313
- **`android-device`**: Performs various device management operations on Android devices.
1414
- `action`: Specifies the operation. One of:
1515
- `list_devices`: Lists all connected Android devices and their basic information.
16-
- No specific arguments required beyond `ctx`.
16+
- No specific arguments required beyond `ctx`.
1717
- `connect_device`: Connects to an Android device over TCP/IP (Wi-Fi).
18-
- Requires: `ip_address`.
19-
- Optional: `port` (default 5555).
18+
- Requires: `ip_address`.
19+
- Optional: `port` (default 5555).
2020
- `disconnect_device`: Disconnects from a specified Android device.
21-
- Requires: `serial`.
21+
- Requires: `serial`.
2222
- `device_properties`: Retrieves detailed system properties of a specific device.
23-
- Requires: `serial`.
23+
- Requires: `serial`.
2424
- `reboot_device`: Reboots a device into normal, recovery, or bootloader mode.
25-
- Requires: `serial`.
26-
- Optional: `mode` (default `normal`; e.g., `recovery`, `bootloader`).
25+
- Requires: `serial`.
26+
- Optional: `mode` (default `normal`; e.g., `recovery`, `bootloader`).
2727
- `ctx`: MCP Context.
2828
- `serial` (optional): Device serial number. See specific `action` for usage.
2929
- `ip_address` (optional): IP address for `connect_device`.
@@ -34,13 +34,14 @@ Below is a categorized list of DroidMind tools. For detailed parameters, refer t
3434
### Diagnostics & Logging
3535

3636
- **`android-diag`**: Performs diagnostic operations like capturing bug reports or heap dumps.
37+
3738
- `serial`: Device serial number.
3839
- `action`: Specifies the diagnostic operation. One of:
3940
- `capture_bugreport`: Captures a comprehensive bug report from the device.
40-
- Optional: `output_path` (host path for adb to write .zip, temp if empty), `include_screenshots` (default `True`), `timeout_seconds` (default `300s`).
41+
- Optional: `output_path` (host path for adb to write .zip, temp if empty), `include_screenshots` (default `True`), `timeout_seconds` (default `300s`).
4142
- `dump_heap`: Captures a heap dump from a running process.
42-
- Requires: `package_or_pid` (app package name or process ID).
43-
- Optional: `output_path` (local path for .hprof, temp if empty), `native` (default `False` for Java heap), `timeout_seconds` (default `120s`).
43+
- Requires: `package_or_pid` (app package name or process ID).
44+
- Optional: `output_path` (local path for .hprof, temp if empty), `native` (default `False` for Java heap), `timeout_seconds` (default `120s`).
4445
- `ctx`: MCP Context.
4546
- `output_path` (optional): Path for output file. See action specifics.
4647
- `include_screenshots` (optional): For `capture_bugreport`.
@@ -53,16 +54,16 @@ Below is a categorized list of DroidMind tools. For detailed parameters, refer t
5354
- `serial`: Device serial number.
5455
- `action`: Specifies the operation. One of:
5556
- `get_device_logcat`: Fetches general logcat output from a device.
56-
- Optional: `lines`, `filter_expr`, `buffer`, `format_type`, `max_size`.
57+
- Optional: `lines`, `filter_expr`, `buffer`, `format_type`, `max_size`.
5758
- `get_app_logs`: Fetches logcat output filtered for a specific application.
58-
- Requires: `package`.
59-
- Optional: `lines`.
59+
- Requires: `package`.
60+
- Optional: `lines`.
6061
- `get_anr_logs`: Retrieves Application Not Responding (ANR) traces.
61-
- No specific arguments beyond `serial` and `ctx`.
62+
- No specific arguments beyond `serial` and `ctx`.
6263
- `get_crash_logs`: Fetches application crash reports.
63-
- No specific arguments beyond `serial` and `ctx`.
64+
- No specific arguments beyond `serial` and `ctx`.
6465
- `get_battery_stats`: Gets battery statistics and history.
65-
- No specific arguments beyond `serial` and `ctx`.
66+
- No specific arguments beyond `serial` and `ctx`.
6667
- `ctx`: MCP Context.
6768
- `package` (optional): Package name for `get_app_logs`.
6869
- `lines` (optional): Number of lines for logcat actions.
@@ -78,24 +79,24 @@ Below is a categorized list of DroidMind tools. For detailed parameters, refer t
7879
- `serial`: Device serial number.
7980
- `action`: Specifies the operation. One of:
8081
- `list_directory`: Lists contents of a directory on the device.
81-
- Requires: `path` (directory path on device).
82+
- Requires: `path` (directory path on device).
8283
- `push_file`: Uploads a file from the DroidMind server's machine to the device.
83-
- Requires: `local_path` (source on server), `device_path` (destination on device).
84+
- Requires: `local_path` (source on server), `device_path` (destination on device).
8485
- `pull_file`: Downloads a file from the device to the DroidMind server's machine.
85-
- Requires: `device_path` (source on device), `local_path` (destination on server).
86+
- Requires: `device_path` (source on device), `local_path` (destination on server).
8687
- `delete_file`: Deletes a file or directory.
87-
- Requires: `path` (path to delete on device).
88+
- Requires: `path` (path to delete on device).
8889
- `create_directory`: Creates a directory.
89-
- Requires: `path` (directory path to create on device).
90+
- Requires: `path` (directory path to create on device).
9091
- `file_exists`: Checks if a file or directory exists.
91-
- Requires: `path` (path to check on device). Returns: `bool`.
92+
- Requires: `path` (path to check on device). Returns: `bool`.
9293
- `read_file`: Reads file content.
93-
- Requires: `device_path` (or `path`) for the file on device.
94-
- Optional: `max_size` (defaults to 100KB).
94+
- Requires: `device_path` (or `path`) for the file on device.
95+
- Optional: `max_size` (defaults to 100KB).
9596
- `write_file`: Writes content to a file.
96-
- Requires: `device_path` (or `path`) for the file on device, `content` (text to write).
97+
- Requires: `device_path` (or `path`) for the file on device, `content` (text to write).
9798
- `file_stats`: Gets file/directory statistics.
98-
- Requires: `path` (path on device).
99+
- Requires: `path` (path on device).
99100
- `ctx`: MCP Context.
100101
- `path` (optional): General device path. See specific `action` for usage.
101102
- `local_path` (optional): Server-side path for `push_file`/`pull_file`.
@@ -110,28 +111,28 @@ Below is a categorized list of DroidMind tools. For detailed parameters, refer t
110111
- `serial`: Device serial number.
111112
- `action`: Specifies the operation. One of:
112113
- `install_app`: Installs an APK on the device.
113-
- Requires: `apk_path` (local path to APK on DroidMind server).
114-
- Optional: `reinstall` (default `False`), `grant_permissions` (default `True`).
114+
- Requires: `apk_path` (local path to APK on DroidMind server).
115+
- Optional: `reinstall` (default `False`), `grant_permissions` (default `True`).
115116
- `uninstall_app`: Uninstalls an application from the device.
116-
- Requires: `package` (package name).
117-
- Optional: `keep_data` (default `False`).
117+
- Requires: `package` (package name).
118+
- Optional: `keep_data` (default `False`).
118119
- `start_app`: Starts an application.
119-
- Requires: `package` (package name).
120-
- Optional: `activity` (specific activity to launch).
120+
- Requires: `package` (package name).
121+
- Optional: `activity` (specific activity to launch).
121122
- `stop_app`: Force stops an application.
122-
- Requires: `package` (package name).
123+
- Requires: `package` (package name).
123124
- `clear_app_data`: Clears data and cache for an application.
124-
- Requires: `package` (package name).
125+
- Requires: `package` (package name).
125126
- `list_packages`: Lists installed application packages.
126-
- Optional: `include_system_apps` (default `False`).
127+
- Optional: `include_system_apps` (default `False`).
127128
- `get_app_manifest`: Gets the AndroidManifest.xml contents for an app.
128-
- Requires: `package` (package name).
129+
- Requires: `package` (package name).
129130
- `get_app_permissions`: Gets permissions used by an app, including runtime status.
130-
- Requires: `package` (package name).
131+
- Requires: `package` (package name).
131132
- `get_app_activities`: Gets the activities defined in an app, including intent filters and main activity.
132-
- Requires: `package` (package name).
133+
- Requires: `package` (package name).
133134
- `get_app_info`: Retrieves detailed information about an installed application.
134-
- Requires: `package` (package name).
135+
- Requires: `package` (package name).
135136
- `ctx`: MCP Context.
136137
- `package` (optional): Package name. See specific `action` for usage.
137138
- `apk_path` (optional): Local path to APK for `install_app`.
@@ -153,20 +154,21 @@ Below is a categorized list of DroidMind tools. For detailed parameters, refer t
153154
### UI Automation
154155

155156
- **`android-ui`**: Performs various UI interaction operations on an Android device.
157+
156158
- `serial`: Device serial number.
157159
- `action`: Specifies the UI operation. One of:
158160
- `tap`: Simulates a tap at specified screen coordinates.
159-
- Requires: `x`, `y` (coordinates to tap).
161+
- Requires: `x`, `y` (coordinates to tap).
160162
- `swipe`: Simulates a swipe gesture.
161-
- Requires: `start_x`, `start_y`, `end_x`, `end_y` (swipe coordinates).
162-
- Optional: `duration_ms` (swipe duration, default 300ms).
163+
- Requires: `start_x`, `start_y`, `end_x`, `end_y` (swipe coordinates).
164+
- Optional: `duration_ms` (swipe duration, default 300ms).
163165
- `input_text`: Inputs text into the currently focused field.
164-
- Requires: `text` (text to input).
166+
- Requires: `text` (text to input).
165167
- `press_key`: Simulates pressing an Android keycode.
166-
- Requires: `keycode` (Android keycode, e.g., 3 for HOME, 4 for BACK).
168+
- Requires: `keycode` (Android keycode, e.g., 3 for HOME, 4 for BACK).
167169
- `start_intent`: Starts an app activity using an intent.
168-
- Requires: `package` (package name), `activity` (activity name, relative or fully qualified).
169-
- Optional: `extras` (dictionary of intent extras).
170+
- Requires: `package` (package name), `activity` (activity name, relative or fully qualified).
171+
- Optional: `extras` (dictionary of intent extras).
170172
- `ctx`: MCP Context.
171173
- `x` (optional): X coordinate for `tap`.
172174
- `y` (optional): Y coordinate for `tap`.

docs/quickstart.md

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ Your IDE will look for a configuration file (e.g., `.cursor/mcp.json` for Cursor
2525
"git+https://github.com/hyperb1iss/droidmind",
2626
"droidmind",
2727
"--transport",
28-
"stdio" // Or "sse" if your specific IDE/client setup requires it
28+
"stdio" // The default and preferred mode for most IDE integrations
2929
]
3030
}
3131
}
@@ -35,7 +35,7 @@ Your IDE will look for a configuration file (e.g., `.cursor/mcp.json` for Cursor
3535
- **`command: "uvx"`**: Tells the IDE to use `uvx`.
3636
- **`"--from", "git+https://github.com/hyperb1iss/droidmind"`**: `uvx` will fetch DroidMind directly from GitHub.
3737
- **`"droidmind"`**: The package name to run.
38-
- **`"--transport", "stdio"`**: Specifies the communication protocol. `stdio` is common for direct IDE integrations. Some clients might require `sse` (e.g., `sse://localhost:4256/sse`), in which case you'd adjust the port and ensure it's free. If using `sse`, you might also need to specify `"--host", "localhost"` and `"--port", "4256"` in the args.
38+
- **`"--transport", "stdio"`**: Specifies the communication protocol. `stdio` is the default and preferred mode for direct IDE integrations.
3939

4040
Once configured, your IDE should automatically start DroidMind when needed. You typically won't see a separate terminal window for DroidMind, as the IDE manages it in the background.
4141

@@ -45,37 +45,32 @@ Once configured, your IDE should automatically start DroidMind when needed. You
4545

4646
With the `mcp.json` (or equivalent) configured, your AI assistant should automatically discover and connect to DroidMind when it starts up or when you try to use a DroidMind-related tool.
4747

48-
- **No Manual Connection URI Needed (Usually)**: Since the IDE launches DroidMind, the connection is typically handled internally. You usually don't need to manually input an MCP URI like `sse://localhost:4256/sse` if the IDE is managing the server via `stdio` or a predefined SSE configuration within the `args`.
48+
- **No Manual Connection URI Needed (Usually)**: Since the IDE launches DroidMind, the connection is typically handled internally. You usually don't need to manually input an MCP URI.
4949

5050
- **Instructions for Common Clients**:
5151

5252
- **Cursor**:
5353

5454
1. Ensure your project has a `.cursor/mcp.json` file with the DroidMind configuration shown in Step 1.
5555
2. Restart Cursor or open a new project window.
56-
3. Cursor should automatically use `uvx` to run DroidMind when you invoke a command that would use DroidMind's tools.
56+
3. Cursor will automatically start DroidMind on startup, making its tools immediately available.
5757

5858
- **Claude Desktop**:
5959
1. Open Claude Desktop settings (from the main application menu).
6060
2. Go to `Developer` settings.
6161
3. Click `Edit Config` to open `claude_desktop_config.json`.
62-
4. Add or modify the `mcpServers` section similar to the example in Step 1. Claude Desktop is designed to launch MCP servers itself.
62+
4. Add or modify the `mcpServers` section similar to the example below. Claude Desktop is designed to launch MCP servers itself.
6363
```json
6464
{
6565
"mcpServers": {
66-
"droidmind_via_uvx": {
67-
// You can name this entry as you like
66+
"droidmind": {
6867
"command": "uvx",
6968
"args": [
7069
"--from",
7170
"git+https://github.com/hyperb1iss/droidmind",
7271
"droidmind",
7372
"--transport",
74-
"sse", // Claude Desktop typically uses SSE
75-
"--host",
76-
"localhost",
77-
"--port",
78-
"4256" // Or another free port
73+
"stdio" // Default and preferred for Claude Desktop
7974
]
8075
// Add "workingDirectory": "/path/to/your/droidmind/project" if needed
8176
// Add "env": { ... } if DroidMind needs specific environment variables
@@ -85,6 +80,19 @@ With the `mcp.json` (or equivalent) configured, your AI assistant should automat
8580
```
8681
5. Restart Claude Desktop. It will attempt to start DroidMind using this configuration.
8782

83+
**Note on SSE Transport (Alternative Method):**
84+
If you need to use SSE transport instead of stdio (for specific use cases or compatibility reasons):
85+
86+
1. You'll need to run the DroidMind server manually with SSE enabled:
87+
88+
```bash
89+
uvx --from git+https://github.com/hyperb1iss/droidmind droidmind --transport sse --host localhost --port 4256
90+
```
91+
92+
2. Then configure your AI client to connect to the SSE endpoint (e.g., `sse://localhost:4256/sse`).
93+
94+
This approach requires more manual setup but may be necessary for certain client configurations. See the [Installation Guide](installation.md) for more details on running DroidMind as a standalone server.
95+
8896
After successful connection (which is often automatic with IDE-managed servers), your AI assistant should indicate that DroidMind's tools are available (often indicated by a special icon or prefix in the chat input, or by the AI successfully executing DroidMind commands).
8997

9098
## 3. Your First Commands!

mkdocs.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,6 @@ nav:
120120
- 9. Example AI Queries: user_manual/example_queries.md
121121
- MCP Reference:
122122
- Tool Overview: mcp-reference.md
123-
- Project Plan: plan.md
124123
- License: license.md # Assuming you have a LICENSE.md
125124

126125
# Extra CSS/JS (if needed)

0 commit comments

Comments
 (0)