{
  "markdown": "# moeba-claude-channel\n\nClaude Code channel for [Moeba](https://moeba.co.za) — chat with Claude Code from the Moeba mobile app.\n\n## What it does\n\nBridges your Claude Code session to the Moeba app. Send messages from your phone, Claude Code processes them and replies back.\n\n```\nMoeba App → Moeba Server → SSE → Local MCP Channel → Claude Code\n                        ← HTTP reply ← moeba_reply tool ←\n```\n\n## Install\n\n```bash\nnpm install -g moeba-claude-channel\n```\n\n## Setup\n\nAdd to `~/.claude.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"moeba\": {\n      \"command\": \"moeba-claude-channel\",\n      \"args\": [\"--login\"],\n      \"autoApprove\": [\"moeba_reply\", \"moeba_progress\"]\n    }\n  }\n}\n```\n\n### First run\n\n1. Start Claude Code — the channel starts automatically\n2. Browser opens for Google/Apple sign-in (same account as your Moeba app)\n3. Credentials cached at `~/.moeba/channel-<project>.json`\n4. A **\"Claude Code — \\<project\\>\"** agent appears in your Moeba app\n\n### Headless mode (SSH, CI, or setting up for another user)\n\nNo browser needed — pass an API key and email via env vars:\n\n```json\n{\n  \"mcpServers\": {\n    \"moeba\": {\n      \"command\": \"moeba-claude-channel\",\n      \"args\": [\"--login\"],\n      \"env\": {\n        \"MOEBA_API_KEY\": \"mba_your_key_here\",\n        \"MOEBA_EMAIL\": \"user@example.com\"\n      },\n      \"autoApprove\": [\"moeba_reply\", \"moeba_progress\"]\n    }\n  }\n}\n```\n\n## Multi-project support\n\nEach project directory gets its own agent in the Moeba app:\n\n- `Claude Code — kepler`\n- `Claude Code — moeba`\n- `Claude Code — roxy`\n\nThe project name is detected from the git repo. Override with `MOEBA_PROJECT` env var.\n\n## Tools\n\n| Tool | Description |\n|------|-------------|\n| `moeba_reply` | Send a reply back to the Moeba user |\n| `moeba_progress` | Show a typing indicator while working |\n\n## Channel notifications (two-way)\n\nThe tools work once the MCP server is loaded, but to let Claude Code\n**auto-respond to incoming messages** from the app, load it as a channel:\n\n```bash\nclaude --dangerously-load-development-channels server:moeba\n```\n\nFor fully unattended operation (no permission prompts — Claude can read/write files, run commands, etc.):\n\n```bash\nclaude --dangerously-load-development-channels server:moeba --dangerously-skip-permissions\n```\n\n> **Warning:** Only use `--dangerously-skip-permissions` in trusted environments. Any message from an authenticated Moeba user can trigger file operations and command execution.\n\n### Channel modes — when does a session become an agent?\n\n- **Every session (simplest):** keep `--login` in the MCP `args` (Setup above).\n  Every Claude Code session you open authenticates and registers its own\n  `Claude Code — <project>` agent in the app.\n\n- **Selective (recommended when the `moeba` MCP server is user-scoped / loads in\n  every session):** if you don't want *every* folder to create an agent, **remove\n  `--login` from `args`** and gate on the `MOEBA_CHANNEL` env var — set it only\n  when you actually want a channel:\n\n  ```bash\n  alias moeba='MOEBA_CHANNEL=1 claude --dangerously-load-development-channels server:moeba'\n  ```\n\n  Then plain `claude` loads the tools but creates **no** agent; running `moeba`\n  starts a channel session with its own per-folder agent. Auth still uses the\n  cached creds / browser sign-in / `MOEBA_API_KEY`+`MOEBA_EMAIL` as configured.\n\n## Requirements\n\n- [Claude Code](https://claude.ai/code) v2.1.80+\n- [Moeba](https://moeba.co.za) account (free)\n- Node.js 20+\n\n## Links\n\n- [Moeba App (iOS)](https://apps.apple.com/za/app/moeba/id6758993423)\n- [Moeba App (Android)](https://play.google.com/store/apps/details?id=za.co.moeba.app)\n- [Moeba Web](https://web.moeba.co.za)\n",
  "bytes": 3662,
  "sha": "45a7ced01ebfd23d4998ff6715bfff326acef73a6e3b9044c3476e6b44acab6e",
  "repo_slug": "jaspergreen/moeba-claude-channel",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_jaspergreen_moeba_claude_channel_moeba_c_96f299ef/readme"
}