Expose captured data to your AI coding assistant. Alohomora stays the data source; the reasoning stays with the agent you already use.
The desktop app exposes captured data — traffic, errors, traces, events, database, cache, feature flags, build/git metadata — as MCP tools over Streamable HTTP on loopback.
There is no embedded chatbot and no LLM key in the app. Alohomora is the data source; the reasoning happens in whatever agent you already use (Claude Code, Cursor, Claude Desktop).
Off by default. Two separate toggles: one for the server, one for write tools.
In the desktop app, open Preferences and find the MCP server section:
Then point your agent at the endpoint:
http://127.0.0.1:53900/mcp
claude mcp add alohomora --transport http http://127.0.0.1:53900/mcp
Add to your .cursor/mcp.json:
{
"mcpServers": {
"alohomora": {
"url": "http://127.0.0.1:53900/mcp"
}
}
}
Claude Desktop requires an stdio bridge. Use mcp-remote via npx:
{
"mcpServers": {
"alohomora": {
"command": "npx",
"args": ["mcp-remote", "http://127.0.0.1:53900/mcp"]
}
}
}
Always available once the server is on. Each tool takes an optional deviceId parameter; with a single connected device it defaults to that one.
| Tool | Description |
|---|---|
get_attention |
Unviewed errors + failed traffic. Best starting point for triage. |
list_traffic |
List captured network requests with filters for status, method, URL. |
get_traffic |
Full detail for a single traffic entry: headers, body, timing. |
list_errors |
List captured errors with exception type, message, and timestamp. |
get_error |
Full error detail including stack trace. |
list_traces |
List captured trace summaries grouped by trace ID. |
get_trace |
All spans for a trace with parent/child relationships and timing. |
list_events |
List recorded events with name, timestamp, and properties. |
get_database_schema |
Tables, columns, types, and constraints for a registered database. |
query_database_table |
Read rows from a table with optional limit and offset. |
list_cache_keys |
List SharedPreferences / UserDefaults keys. |
get_cache_value |
Read a single cache value by key. |
list_feature_flags |
List recorded feature flags with source, type, and value. |
get_build_metadata |
Package name, version, branch, commit, build timestamp. |
get_git_history |
Recent commits embedded at build time (SHA, message, author, date). |
list_devices |
Connected devices with model, OS version, and session status. |
Pre-built prompt templates that orchestrate multiple read tools into a coherent flow:
| Prompt | Description |
|---|---|
triage |
What's broken right now? Pulls attention items, recent errors, and failed traffic. |
debug_request(id) |
Why is this request failing? Walks through the traffic entry, related errors, and suggests a source-level fix. |
explain_screen(name) |
Explain what this screen is doing: events fired, traffic triggered, errors encountered. |
Separate opt-in: toggle "Allow write tools" in Preferences. Off by default.
When enabled, these tools become available. They use the same code paths as the UI — whatever the agent does shows up in the console.
| Tool | Description |
|---|---|
replay_traffic |
Re-send a captured request through the app's replay handler. |
list_mock_rules |
List active mock rules in the current session. |
set_mock_rules |
Create or update mock rules (URL pattern, status, response body). |
clear_mock_rules |
Remove all mock rules from the active session. |
get_throttle |
Get the current throttle profile. |
set_throttle |
Set a throttle preset (NONE, EDGE, SLOW_3G, FAST_3G, SLOW_WIFI). |
clear_captured |
Delete captured traffic, traces, events, and/or errors. |
clear_captured is irreversible. When an agent calls it, a system-wide Allow/Deny dialog appears in the desktop app. The tool blocks until you respond.
127.0.0.1, not 0.0.0.0. Not reachable from other machines on the network.Origin headers are rejected with 403. Origin-less requests (CLI agents) are allowed.adb forward — if you can reach port 53900 on localhost, you already have ADB access to the device.[REDACTED] handling is on the replay path, not the storage or read path.BuildInfo.slackWebhookUrl is dropped in the build-metadata projection. It is the one secret that must never be served via MCP.