A Claude Code channel plugin that bridges chat from the Mira iOS app into a local Claude Code session.
When the iOS app's "Claude Code" toggle is ON, every message the user sends from the app POSTs to http://127.0.0.1:3141/api/chat on your laptop. This plugin runs as an MCP channel inside Claude Code, receives the POST, pushes the message into the active Claude Code session as a <channel source="mira" chat_id="..."> tag, and waits. When Claude calls the reply tool, the response is delivered back to the iOS app.
This is a development-stage channel, so it isn't on Anthropic's approved allowlist. You'll start Claude Code with --dangerously-load-development-channels to load it.
Add the marketplace, then install the plugin:
claude
# inside the Claude Code session:
/plugin marketplace add big-halo/mira-claude-channel
/plugin install mira@mira-marketplace
Quit, then relaunch Claude Code with the development-channels flag:
claude --dangerously-load-development-channels plugin:mira@mira-marketplace
Confirm the prompt. Claude Code will spawn server.ts over stdio and the HTTP listener will start on 127.0.0.1:3141 automatically. You don't run bun yourself.
In the iOS app, open Settings → Claude Code → toggle Local Integration ON.
Send a message from the app. It will appear in your Claude Code session as a <channel> tag. Claude responds by calling the reply tool, and the text shows up back in the app.
With Claude Code running per step 2 above, in another terminal:
curl -X POST http://127.0.0.1:3141/api/chat \
-H 'Content-Type: application/json' \
-d '{"messages":[{"speaker":0,"content":"hello from curl"}],"user_local_time":"now","user_timezone":"UTC","location":null}'
The request blocks until Claude calls reply (timeout 120s). The response body is {"text": "...", "sources": [], "debug": null}, matching the format the iOS app expects.
.claude-plugin/marketplace.json # marketplace catalog
plugins/mira/
.claude-plugin/plugin.json # plugin manifest, declares mcpServers
server.ts # MCP channel + Bun HTTP listener
package.json # @modelcontextprotocol/sdk
Admin access level
Server config contains admin-level keywords
Uses power tools
Uses Bash, Write, or Edit tools
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
npx claudepluginhub big-halo/mira-claude-channel --plugin miraUnified capability management center for Skills, Agents, and Commands.
Brand Voice transforms scattered brand materials into enforceable AI guardrails — automatically. It searches across Notion, Google Drive, Confluence, Gong, Slack, and meeting transcripts to distill your strongest brand signals into a single source of truth, then applies them to every piece of AI-generated content. The more your team creates with Claude, the more consistent your brand becomes.