dejank
Captures native Android logs (logcat) from the running app, enabling debugging of runtime errors and device behavior.
Attaches to Expo/React Native apps running in debug mode to inspect the UI, take screenshots, reproduce taps, and gather logs and profiles.
Collects native logs from the iOS Simulator and supports debugging and validation on iOS devices.
Uses the Metro bundler to discover debug targets and connect to the running React Native app for inspection and profiling.
Captures React/JS profiles and component tree data via Fusebox DevTools to diagnose rendering and performance issues.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@dejankWhy is the screen slow when I press Load feed?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Dejank
Give your AI coding agent hands on a live React Native app.
Dejank is an MCP server. Your agent can tap the UI, read the screen, pull native logs, capture React/JS profiles, and save evidence — so it can find bugs, verify fixes, and investigate performance without you switching to DevTools by hand.
You describe what's wrong in plain English. The agent uses Dejank to look at the running app and figure it out.
What you need first
A React Native or Expo app running in debug mode
Metro already started (usually port
8081)A simulator or device with the app open
An AI tool that supports MCP (Cursor, Claude, VS Code, ChatGPT desktop, Windsurf, Antigravity, Gemini CLI, …)
Dejank doesn't start Metro or your app for you — it attaches to what's already running.
Related MCP server: Mobile Device MCP
Install
1. Add Dejank to your AI tool
From this repo:
pnpm mcp:install-global -- --npxThat writes a dejank MCP server into every client it finds on your machine:
App | Config |
Cursor |
|
Claude Desktop |
|
Claude Code |
|
VS Code / VSCodium |
|
ChatGPT desktop |
|
Windsurf |
|
Antigravity |
|
Gemini CLI |
|
GitHub Copilot (Agent Host) |
|
Warp |
|
Amazon Q / Kiro / LM Studio / Cline / Roo | when their config dirs already exist |
Equivalent Cursor / Claude config:
{
"mcpServers": {
"dejank": {
"command": "npx",
"args": ["-y", "dejank"],
"env": {
"DEJANK_METRO_HOST": "localhost",
"DEJANK_METRO_PORT": "8081"
}
}
}
}VS Code uses the same command, but the top-level key is servers (not mcpServers). ChatGPT desktop on macOS stores MCP in ~/.codex/config.toml under [mcp_servers.dejank].
Developing Dejank itself? Use the local build instead of npm:
pnpm mcp:install-globalFully quit and reopen your AI tools so they reload MCP. In VS Code, use Agent mode in Copilot Chat.
2. Start your app
npx expo start
# open the app on a simulator or deviceMetro should be running (usually on port 8081) before you ask the agent anything.
Try it
Just ask your agent, in plain English:
Reproduce the bug when I tap Submit and tell me what failed.
I fixed the null check — tap Submit again and confirm the error is gone.
Why is the screen slow when I press Load feed?
Show me the UI tree and a screenshot of the current screen.
Pull the last minute of device logs after I tap Retry.
The agent picks the right Dejank tools for the job — no need to know their names.
What it's good for
Goal | Dejank gives the agent |
Fix a bug | UI tree, tap, screenshot, native logs, component tree |
Verify a fix | The same tap/screenshot/logs, repeatable before vs after |
Diagnose slowness | One-shot JS + React profiling around a tap, via |
Check UI state | UI tree + screenshot |
Trace React renders | Component tree and profiler data via Fusebox DevTools |
Catch runtime noise | Android logcat / iOS Simulator logs |
Dejank collects evidence from the live app. Your agent — and you — decide the fix.
Not built yet: dedicated JS console streaming, network inspection, memory/heap profiling. Native device logs often catch JS/runtime errors anyway, since most get printed there too.
How it works
you ask to debug / verify / profile
│
▼
agent calls Dejank (MCP)
│
▼
Dejank attaches to Metro / the app
│
▼
tap · screenshot · logs · JS/React profiles
│
▼
evidence returns to the agent
│
▼
agent explains it, and can patch your codeTools
Tool | Use it for |
| Performance — one-shot JS + React profiling + diagnosis around an optional tap |
| See on-screen controls; reproduce taps by label or coordinates |
| Visual proof for bugs and UI checks |
| Native logs (logcat / iOS Simulator) |
| React component names via Fusebox DevTools |
| Finer-grained JS or React profiling when you need more control |
| Metro debug targets, useful if attaching fails |
| Find recent evidence files |
For "is it slow?" questions, investigate_slow_screen alone is usually enough. For bugs and validation, the agent composes tap + get_ui_tree + take_screenshot + get_device_logs.
Settings
Env var | Meaning | Default |
| Where Metro runs |
|
| Metro port |
|
| Where profiles and screenshots are saved |
|
Developing Dejank itself
pnpm install
pnpm build
pnpm mcp:install-global # local dist/ → Cursor / Claude (use -- --npx for npm)
pnpm mcp # run the server in the foregroundContributor checks:
pnpm validate:m0 # basic attach / capability check
pnpm validate:m3 # injected slow-screen scenarios (sample app + simulator)Historical product notes: docs/SCOPE.md.
License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityBmaintenanceThis MCP server enables real-time debugging and inspection of running React Native apps, providing access to console logs, errors, network requests, navigation state, storage, and performance profiling.1MIT
- Alicense-qualityAmaintenanceAn MCP server that lets AI agents control iOS and Android devices (tap, scroll, type, take screenshots, read UI trees, and run code). Works with multiple devices at the same time.54238MIT
- AlicenseAqualityAmaintenanceMCP server that gives AI coding agents hands, eyes and a mechanic's ear for React Native development.9212MIT
- AlicenseBqualityDmaintenanceEnables AI agents to inspect, log, and control React Native apps on Android emulators or iOS simulators, including UI tree, tap, scroll, and hot reload.229645MIT
Related MCP Connectors
Live browser debugging for AI assistants — DOM, console, network via MCP.
Agent Replay Debugger MCP — record every agent step + deterministic replay. Step-debugger for
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/RanjithKumarSeekolu/dejank'
If you have feedback or need assistance with the MCP directory API, please join our Discord server