moeba-claude-channel
v0.0.41
Published
Claude Code channel for Moeba — chat with Claude Code from the Moeba app
Maintainers
Readme
moeba-claude-channel
Claude Code channel for Moeba — chat with Claude Code from the Moeba mobile app.
What it does
Bridges your Claude Code session to the Moeba app. Send messages from your phone, Claude Code processes them and replies back.
Moeba App → Moeba Server → SSE → Local MCP Channel → Claude Code
← HTTP reply ← moeba_reply tool ←Install
npm install -g moeba-claude-channelSetup
Add to ~/.claude.json:
{
"mcpServers": {
"moeba": {
"command": "moeba-claude-channel",
"args": ["--login"],
"autoApprove": ["moeba_reply", "moeba_progress"]
}
}
}First run
- Start Claude Code — the channel starts automatically
- Browser opens for Google/Apple sign-in (same account as your Moeba app)
- Credentials cached at
~/.moeba/channel-<project>.json - A "Claude Code — <project>" agent appears in your Moeba app
Headless mode (SSH, CI, or setting up for another user)
No browser needed — pass an API key and email via env vars:
{
"mcpServers": {
"moeba": {
"command": "moeba-claude-channel",
"args": ["--login"],
"env": {
"MOEBA_API_KEY": "mba_your_key_here",
"MOEBA_EMAIL": "[email protected]"
},
"autoApprove": ["moeba_reply", "moeba_progress"]
}
}
}Multi-project support
Each project directory gets its own agent in the Moeba app:
Claude Code — keplerClaude Code — moebaClaude Code — roxy
The project name is detected from the git repo. Override with MOEBA_PROJECT env var.
Tools
| Tool | Description |
|------|-------------|
| moeba_reply | Send a reply back to the Moeba user |
| moeba_progress | Show a typing indicator while working |
Channel notifications (two-way)
The tools work once the MCP server is loaded, but to let Claude Code auto-respond to incoming messages from the app, load it as a channel:
claude --dangerously-load-development-channels server:moebaFor fully unattended operation (no permission prompts — Claude can read/write files, run commands, etc.):
claude --dangerously-load-development-channels server:moeba --dangerously-skip-permissionsWarning: Only use
--dangerously-skip-permissionsin trusted environments. Any message from an authenticated Moeba user can trigger file operations and command execution.
Channel modes — when does a session become an agent?
Every session (simplest): keep
--loginin the MCPargs(Setup above). Every Claude Code session you open authenticates and registers its ownClaude Code — <project>agent in the app.Selective (recommended when the
moebaMCP server is user-scoped / loads in every session): if you don't want every folder to create an agent, remove--loginfromargsand gate on theMOEBA_CHANNELenv var — set it only when you actually want a channel:alias moeba='MOEBA_CHANNEL=1 claude --dangerously-load-development-channels server:moeba'Then plain
claudeloads the tools but creates no agent; runningmoebastarts a channel session with its own per-folder agent. Auth still uses the cached creds / browser sign-in /MOEBA_API_KEY+MOEBA_EMAILas configured.
Requirements
- Claude Code v2.1.80+
- Moeba account (free)
- Node.js 20+
