pulse-mcp-bridge
Allows interaction with an Expo mobile app to capture live device status, app logs, screenshots, and bug reports.
Provides integration with local Git repositories to retrieve today's commits for standup snapshots combined with device status.
Allows interaction with a React Native mobile app to retrieve device status, logs, screenshots, and bug reports.
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., "@pulse-mcp-bridgewhat's the device status?"
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.
pulse-mcp-bridge
An MCP (Model Context Protocol) server that bridges your IDE to a running React Native / Expo mobile app on your local Wi-Fi network, so tools like Claude Code or Cursor can pull live device status, app logs, and a combined standup snapshot (device status + today's git commits).
How it fits together
IDE (MCP client) <--stdio--> pulse-mcp (index.js) <--HTTP--> mobile app (mobile-app-server.js)
or <--HTTP--> mock-phone.js (for local testing)Related MCP server: Expo MCP Server
Setup
npm install1. Try it locally with the mock phone (no device needed)
In one terminal, start the mock phone server:
node mock-phone.jsThis listens on http://localhost:8080 and fakes /status and /logs responses.
2. Register the MCP server with your IDE
See mcp-config.example.json for ready-to-paste config blocks for Cursor, Claude Desktop, and Windsurf. Point MOBILE_PHONE_IP at:
127.0.0.1when testing againstmock-phone.jsyour phone's local IP (e.g.
192.168.1.50) when testing against a real device
3. Wire up the real mobile app
index.js (the MCP server) is generic and reusable as-is — it never needs to change per app. The only thing that changes per app is mobile-app-server.js, the tiny HTTP bridge that runs inside the app.
Setup, once per new app:
Copy the bridge file into the target app, e.g. as
src/pulseServer.js:cp mobile-app-server.js /path/to/your-app/src/pulseServer.jsInstall its native dependencies in that app:
npx expo install react-native-http-bridge-refurbished react-native-device-info react-native-view-shotThese are native modules — if the app runs on plain Expo Go, you'll need a dev-client build instead (
npx expo prebuildthennpx expo run:ios/npx expo run:android).Wire it into
App.tsx:import { startPulseServer, setCurrentRoute, recordLog } from "./pulseServer"; useEffect(() => { if (__DEV__) startPulseServer(); }, []); // On navigation change: setCurrentRoute(routeName); // Anywhere in the app: recordLog("Synced dashboard data", "success", "SyncService"); recordLog(`Network request failed: ${error.message}`, "error", "NetworkClient");Add the bug-report recording hooks too if you want
get_bug_report/get_saved_bug_reports— see "Bug-report step recording" below.Same Wi-Fi network — your phone/emulator and dev machine must be on the same Wi-Fi network (or use
127.0.0.1for the iOS Simulator, which shares the Mac's own network stack).Point your MCP config at this device: set
MOBILE_PHONE_IP(in your IDE's MCP config, seemcp-config.example.json) to that device's IP —127.0.0.1for Simulator, the phone's LAN IP (e.g.192.168.1.50) for a real device.
Real device notes:
Real iPhone — verified. This integration has been tested end-to-end against a real Expo/React Native app on a real iPhone, including a live crash scenario — the bridge correctly goes unreachable when the app stops responding. iOS 14+ will prompt for a one-time "Local Network" permission the first time the app starts the bridge server — the user must tap Allow, or the bridge will be unreachable.
Real Android — not yet verified, though it should work in principle (
react-native-http-bridge-refurbishedsupports Android too). Android 9+ blocks plaintext HTTP by default, so you'll likely needandroid:usesCleartextTraffic="true"inAndroidManifest.xmlfor local dev builds, or the bridge will silently fail to connect.Android emulator: since it's NAT'd and can't be reached directly, use
127.0.0.1plusadb forward tcp:8080 tcp:8080.
Available MCP tools
Tool | Description |
| Battery level, active route/screen, OS/platform, and |
| Recent structured log entries ( |
| Pings |
| Finds the most recent |
| Combines live device status with today's local git commits (falls back gracefully outside a git repo) |
| Live screenshot of whatever screen is currently showing on the app, returned as an inline image |
| The current/live step recording (see below) plus device context, for reproducing a bug in progress |
| All bug reports auto-saved on the device, each with its full steps, logs, and device info snapshot |
Bug-report step recording
Wire a "Start/Stop Recording" toggle in your app to startSessionRecording() / stopSessionRecording(), and call recordStep(...) at any point worth capturing (button taps, network results, errors). When recording stops, a complete report — numbered steps, full logs, and a device/build info snapshot — is auto-saved and instantly queryable via get_bug_report / get_saved_bug_reports. No manual "steps to reproduce" writeup needed.
Environment variables
Variable | Default | Purpose |
|
| IP address of the phone/mock server running the HTTP bridge |
This server cannot be installed
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
- AlicenseBqualityBmaintenanceCaptures and provides access to React Native console logs from Metro bundler, enabling AI assistants to retrieve, filter, and search app logs in real-time without manual copy/paste.Last updated6464472MIT
- Alicense-qualityCmaintenanceEnables automated testing and development of Expo/React Native apps through session-based Expo dev server management and Maestro UI automation tools for tapping, text input, screenshots, and flow execution.Last updated165,2645MIT
- Alicense-qualityDmaintenanceEnables AI assistants to view and analyze screenshots from React Native/Expo applications for AI-powered mobile UI development. Integrates with Claude, Cursor, VS Code and other MCP-compatible editors.Last updated2415MIT
- 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.Last updated221,0625MIT
Related MCP Connectors
Connect to Atlassian Jira, Confluence, and Compass to search, create, and manage your work.
CodeRide eliminates the context reset cycle once and for all. Through MCP integration, it seamless…
Let ChatGPT, Claude & Cursor use your Mac: email, calendar, iMessage, Teams, files. Local, free.
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/tarunmalpani/pulse-mcp-bridge'
If you have feedback or need assistance with the MCP directory API, please join our Discord server