{
  "markdown": "<div align=\"center\">\n\n# Melaya MCP Server\n\n**Let an AI assistant use your Android phone, your browser, and the rest of your Melaya account.**\n\n[![MCP Registry](https://img.shields.io/badge/MCP_Registry-org.melaya%2Fmelaya-6E56CF)](https://registry.modelcontextprotocol.io)\n[![smithery badge](https://smithery.ai/badge/info-h530/melaya)](https://smithery.ai/servers/info-h530/melaya)\n[![Listed on mcpservers.org](https://mcpservers.org/badge.svg)](https://mcpservers.org/servers/melaya-labs/melaya-mcp)\n[![Glama MCP server](https://glama.ai/mcp/servers/@melaya-labs/melaya-mcp/badge)](https://glama.ai/mcp/servers/@melaya-labs/melaya-mcp)\n[![Tools](https://img.shields.io/badge/tools-77_across_8_domains-22D3EE)](#what-it-can-do)\n[![Auth](https://img.shields.io/badge/auth-OAuth_2.1_%2B_PKCE-10B981)](#permissions)\n[![License](https://img.shields.io/badge/license-Apache--2.0-blue)](./LICENSE)\n\n[Documentation](https://github.com/melaya-labs/melaya/blob/main/docs/mcp.md) · [Melaya](https://melaya.org) · [Device Control](https://melaya.org/en/product/agentic-device-control) · [MCP Server](https://melaya.org/en/product/mcp)\n\n</div>\n\n<p align=\"center\">\n  <img src=\"https://melaya.org/blog/july-2026/three-pillars.png\" width=\"860\" alt=\"Melaya: assistant, agent builder and paired phone on one runtime\">\n</p>\n\nMelaya pairs a phone to your account and gives an agent the same view of it a person has: it reads the screen through Android's accessibility tree, then taps, types, swipes, and moves between apps. No per-app integration, no vendor API. **If you can use the app, so can the agent.**\n\nThis is a remote [Model Context Protocol](https://modelcontextprotocol.io) server. MCP is a vendor-neutral standard, so one endpoint works everywhere:\n\n```\nhttps://api.melaya.org/mcp\n```\n\nNothing to install, no SDK required.\n\n## Connect\n\n<table>\n<tr>\n<td width=\"120\" align=\"center\"><img src=\"assets/clients/claude-code.svg\" width=\"34\"><br><b>Claude Code</b></td>\n<td>\n\n```bash\nclaude mcp add --transport http melaya https://api.melaya.org/mcp\n```\n\n</td>\n</tr>\n<tr>\n<td width=\"120\" align=\"center\"><img src=\"assets/clients/codex.svg\" width=\"34\"><br><b>Codex CLI</b></td>\n<td>\n\n```bash\ncodex mcp add melaya --url https://api.melaya.org/mcp\n```\n\nDirect HTTP needs `experimental_use_rmcp_client = true` in `~/.codex/config.toml`.\n\n</td>\n</tr>\n<tr>\n<td width=\"120\" align=\"center\"><img src=\"assets/clients/cursor.webp\" width=\"34\"><br><b>Cursor</b></td>\n<td>\n\n`~/.cursor/mcp.json`, or `.cursor/mcp.json` for one project:\n\n```json\n{ \"mcpServers\": { \"melaya\": { \"url\": \"https://api.melaya.org/mcp\" } } }\n```\n\n</td>\n</tr>\n<tr>\n<td width=\"120\" align=\"center\"><img src=\"assets/clients/anthropic.webp\" width=\"34\"><br><b>Claude</b></td>\n<td>\n\nclaude.ai, Desktop and mobile: **Settings → Connectors → Add custom connector**, paste `https://api.melaya.org/mcp`\n\n</td>\n</tr>\n<tr>\n<td width=\"120\" align=\"center\"><img src=\"assets/clients/openai.webp\" width=\"34\"><br><b>ChatGPT</b></td>\n<td>\n\n**Settings → Connectors → Developer mode**, paste the same endpoint\n\n</td>\n</tr>\n<tr>\n<td width=\"120\" align=\"center\"><img src=\"assets/clients/mistral.webp\" width=\"34\"><br><b>Le Chat</b></td>\n<td>\n\n**Connectors → Add custom MCP connector**\n\n</td>\n</tr>\n<tr>\n<td width=\"120\" align=\"center\"><b>VS Code</b></td>\n<td>\n\n```bash\ncode --add-mcp '{\"name\":\"melaya\",\"type\":\"http\",\"url\":\"https://api.melaya.org/mcp\"}'\n```\n\n</td>\n</tr>\n<tr>\n<td width=\"120\" align=\"center\"><b>Everything else</b></td>\n<td>\n\nWindsurf, Zed, Cline, Goose, Lovable, Gemini CLI, Qwen Code and any other MCP client take the same block, in whichever file that client uses for MCP servers:\n\n```json\n{ \"mcpServers\": { \"melaya\": { \"url\": \"https://api.melaya.org/mcp\" } } }\n```\n\n</td>\n</tr>\n</table>\n\nAuthentication is OAuth 2.1 with PKCE. You choose which permissions to grant on a Melaya consent page; the assistant receives a scoped token. Your password is never shared.\n\nThen just ask:\n\n> Connect my phone and go through my unread Instagram DMs.\n\n---\n\n## What it can do\n\n### Operate your phone\n\nRead the screen, open apps, tap, type, scroll, swipe, screenshot. You watch it work, and one control stops everything.\n\n<p align=\"center\">\n  <img src=\"https://melaya.org/blog/july-2026/device-agent-overlay.png\" width=\"300\" alt=\"The agent working, with a live step trace and a stop control\">\n</p>\n\nMelaya ships navigation playbooks for common apps, so the agent arrives knowing where things are instead of exploring blindly.\n\n<p align=\"center\">\n  <img src=\"https://melaya.org/blog/july-2026/app-playbooks.png\" width=\"680\" alt=\"App playbooks: navigation map, stable control ids, canonical step sequence\">\n</p>\n\n### Operate a browser\n\nThe same read-act-verify loop on a desktop site, through the Melaya extension on Chrome or Edge. **You attach the tab; the model never picks one.**\n\n<p align=\"center\">\n  <img src=\"https://melaya.org/blog/browser-control/live-session.png\" width=\"680\" alt=\"A live browser session, driven step by step\">\n</p>\n\nIt can also **debug** the page it is on: network activity, console output, and a performance diagnosis that ranks causes with the file and the number behind each, rather than handing over a raw panel. Credential values are redacted at capture, before anything reaches the model.\n\n### Build and run agents\n\nList the template library and instantiate a validated template, or author a pipeline from scratch, validate it before saving, schedule it, and watch it run. Hand a long or recurring job to an autonomous agent on your own machine, on your own model subscription, that carries on after the conversation ends.\n\n<p align=\"center\">\n  <img src=\"https://melaya.org/blog/june-2026/agent-builder.png\" width=\"700\" alt=\"The Melaya Agent Builder\">\n</p>\n\n### Read your connected services\n\nMail, documents, your ERP. **Read-only, structurally**: the write path is blocked in two independent places, so a write stays blocked even if Melaya's own tool catalog is out of date.\n\n### Find out what happened\n\nRuns, transcripts, tool traces, failure diagnosis, cost, and what your agents have learned across runs.\n\n---\n\n## What it cannot do\n\nEnforced on the device itself, not on the server, so no prompt and no agent instruction can move them.\n\n### It only touches what you allow-list\n\nApps on the phone, origins in the browser. The agent can hand access back, narrowing the list or clearing it, but **only you can grant it**.\n\n<p align=\"center\">\n  <img src=\"https://melaya.org/blog/device-control/app-permissions.jpeg\" width=\"280\" alt=\"The allow-list, in the Melaya app\">\n</p>\n\nThat asymmetry is deliberate. The agent reads text off your screen, and text can be written by anyone: a message, a comment, a web page. A boundary it could widen in response to what it reads would not be a boundary.\n\n### Publishing and paying always ask you\n\nYou see the exact text before it goes out, and approvals reach you even when the phone is locked.\n\n<p align=\"center\">\n  <img src=\"https://melaya.org/blog/july-2026/on-device-approval.png\" width=\"420\" alt=\"An approval card, showing the exact text before it publishes\">\n  &nbsp;\n  <img src=\"https://melaya.org/blog/july-2026/sleeping-phone.png\" width=\"230\" alt=\"An approval on a locked phone\">\n</p>\n\n### There is a STOP control\n\nOn the phone overlay and in the Melaya app. It halts everything immediately, across every agent and every connected assistant.\n\n### Approvals are listed here, never decided here\n\nThe gate exists to put a human between an agent and a consequential action, and the caller here is a model reading untrusted content. You approve in the Melaya app or on your phone.\n\nPassword fields are excluded from screen reads.\n\nAlso deliberately absent, and enforced by tests rather than by convention: **trading** (it writes against live exchange keys), **administration** (no honest consent sentence exists for it), and **credential values of any kind**.\n\n---\n\n## Permissions\n\nEight scopes, one per domain. You grant them individually.\n\n| Scope | What it allows |\n|---|---|\n| `melaya:read` | Your workspace: pipelines, runs, traces, evaluations, pending approvals |\n| `melaya:platform` | Your account and plan: tier, usage against limits, subscription |\n| `melaya:runner` | Set up and check the Melaya runner on your computer |\n| `melaya:phone` | Operate your paired Android phone, inside apps you allow-listed |\n| `melaya:browser` | Operate a connected browser, on sites you allowed |\n| `melaya:pipelines` | Create, edit, schedule, run and cancel agent pipelines |\n| `melaya:connectors` | Read data from connected services. Read only |\n| `melaya:team` | Read project membership, and invite people you name |\n\nThe tool list your assistant receives is filtered to what you granted, so connecting for phone control alone shows **23 tools rather than all 77**. If a capability seems missing, you declined it; reconnect and approve it.\n\n> [!NOTE]\n> **If you also use the Melaya SDK**, \"connectors\" means something different there. In the SDK it is project credential storage. Here, `melaya:connectors` is reading data from services you already connected. This surface cannot store, read or delete a credential.\n\n## Requirements\n\n- A Melaya account — free at [melaya.org](https://melaya.org)\n- An Android phone (Android 8 or newer) for phone control. There is no iOS build.\n- The Melaya extension on Chrome or Edge for browser control\n- For autonomous agents: Node 18+, Python 3.11+, and a signed-in CLI on the machine hosting the runner\n\n## Privacy\n\nScreen and page content read during a run goes to Melaya and to whichever model you selected, for the duration of that run. The [privacy policy](https://melaya.org/en/legal/privacy) covers collection, retention and deletion.\n\nOne credential does cross the boundary, and it is worth naming: if you set up the optional local runner, the command you are given contains a runner token. It is valid for 7 days, revocable in settings or with `melaya_runner_revoke`, and unavoidable because the runner starts from a command line. On a hosted assistant that command appears in your conversation history. Nothing else does; provider and connector credentials are resolved server-side and never reach the assistant.\n\nDisconnecting in Melaya settings immediately revokes the connection's ability to renew itself. A token it already holds keeps working until it expires, at most one hour.\n\n## What's in this repo\n\n| Path | Purpose |\n|---|---|\n| `server.json` | Manifest for the [official MCP Registry](https://registry.modelcontextprotocol.io) |\n| `.mcp.json` | Remote server declaration |\n| `.claude-plugin/`, `skills/`, `commands/` | Claude Code plugin packaging — one distribution of the same server |\n\nThe server itself runs as part of the Melaya platform; this repo is its public manifest, packaging and documentation.\n\n## The rest of the platform\n\nThis server is one surface onto Melaya. Its tool domains map to the products\nbehind them, so if a scope is useful the product page explains what it reaches:\n\n| Product | What it is | `melaya:` scope |\n|---|---|---|\n| [Melaya Agents Builder](https://melaya.org/en/product/agentic-framework) | Visual builder for agent pipelines, 6,633+ tools and 111+ subagents | `pipelines` |\n| [Melaya Assistant](https://melaya.org/en/product/assistant) | The governed operating layer over those agents | `platform` |\n| [Device Control](https://melaya.org/en/product/agentic-device-control) | Android phone control through the accessibility tree | `phone` |\n| [Melaya Browser Control](https://melaya.org/en/product/agentic-browser-control) | Origin-scoped control of a paired browser | `browser` |\n| [Melaya MCP Server](https://melaya.org/en/product/mcp) | This server | all of the above |\n\nThe [browser extension](https://melaya.org/en/blog/melaya-browser-extension) is\nwhat Browser Control talks to, and ships for Chrome, Edge and Firefox.\n\nPricing starts at a $0 Sandbox tier for evaluating the platform during open\nbeta: [see plans](https://melaya.org/en/pricing).\n\n## Links\n\n- [Full documentation](https://github.com/melaya-labs/melaya/blob/main/docs/mcp.md)\n- [Melaya SDKs](https://github.com/melaya-labs/melaya) — nine languages\n- [Product overview](https://melaya.org/en/product/mcp) · [All products](https://melaya.org)\n- [Privacy Policy](https://melaya.org/en/legal/privacy) · [Terms](https://melaya.org/en/legal/terms)\n- [Support](mailto:info@melaya.org)\n\n## License\n\nApache-2.0, matching the [Melaya SDKs](https://github.com/melaya-labs/melaya).\n\nIt covers what is in this repository — the registry manifest, the plugin packaging, the skills and this documentation. It is not a licence to the Melaya service itself: using the hosted server at `api.melaya.org` needs a Melaya account and is governed by the [Terms](https://melaya.org/en/legal/terms).\n",
  "bytes": 12731,
  "sha": "e86c8e2ee9345159a22fac033563138588e39167a3c354e429e1a824bbc3e029",
  "repo_slug": "melaya-labs/melaya-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_org_melaya_melaya_3bf8cd7a/readme"
}