
Alexa Mcp
io.github.chrischallv0.1.0更新於 Oct 8, 2026
Amazon Alexa for Claude — Echo devices, announcements, routines, smart home, lists
概覽
讓助理列出並控制 Amazon Alexa 裝置、語音播報、執行例行程序,以及管理智慧家庭裝置與清單。
- 功能
- 透過 Amazon 私有的 Alexa Web API 運作,可列出 Echo 音箱、Echo Show 和 Fire TV 及其線上狀態,並讀取媒體播放狀態、音量、例行程序、智慧家庭裝置與情境、購物和待辦清單、鬧鐘、計時器與提醒。寫入類工具可設定音量、控制播放、讓單一裝置說話或在多台裝置上播報、執行例行程序、開關智慧家庭裝置、調整亮度、啟用情境,以及新增或移除清單項目。這些操作受確認機制約束:第一次呼叫只回傳預覽和 confirmToken,只有帶著該權杖再次呼叫才會真正執行。
- 適用情境
- 適合讓助理讀取或操作既有的 Alexa 環境:查看哪些裝置在線上、正在播放什麼、購物清單內容,或觸發某個例行程序與播報。它不是通用的語音指令通道,任意語音命令被刻意排除在外。
- 執行需求
- 以 npm 套件形式透過 stdio 在本機執行,僅支援桌面端。需要 Node.js,並需在瀏覽器中一次性登入 Amazon;登入會註冊一個名為 alexa-mcp 的虛擬裝置,並把註冊資訊(更新權杖與工作階段 cookie)存到狀態目錄,預設為 ~/.alexa-mcp。也可以透過 ALEXA_REGISTRATION 環境變數提供註冊資訊。需要連線到 Amazon 的網路存取。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Alexa Mcp,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
alexa-mcp
This project was developed and is maintained by AI (Claude Code). Use at your own discretion.
An MCP server for Amazon Alexa: list and control Echo speakers, Echo Shows and Fire TVs, make Alexa speak or announce, run routines, control the smart-home devices and scenes Alexa knows about, read and edit shopping/to-do lists, and see alarms, timers and reminders.
It talks to Amazon's private Alexa web API — the one the Alexa app uses — through alexa-remote2. There is no public API for any of this, so expect occasional breakage when Amazon changes things.
Sign in once
You sign in to Amazon in your own browser; this server never sees your password.
- In a chat: ask Claude to sign in to Alexa. It calls
alexa_begin_loginand gives you an amazon.com link. Sign in there (password, two-step code, whatever Amazon asks), and you land on a blankwww.amazon.com/ap/maplandingpage. Paste that page's address back and Claude callsalexa_finish_login. - Hosted connector: the sign-in page shows a Sign in to Amazon button and a box for that same address.
- Terminal:
npx @chrischall/alexa-mcp loginprints the link and reads the pasted address (--printalso writes the registration as one base64 line forALEXA_REGISTRATION; treat it as a credential).
Under the hood this is the Alexa iOS app's OAuth sign-in with PKCE. The link carries only a challenge, the matching secret stays on the server, and the code in the pasted address is single-use and expires in minutes. Finishing registers a virtual device named alexa-mcp on your account and saves the registration (refresh token plus session cookies) to ~/.alexa-mcp/registration.json (mode 0600). After that no browser is needed: cookies are re-minted from the refresh token every few days. To revoke access, remove the alexa-mcp device from your Amazon account (Manage Your Content and Devices → Devices).
Tools
✋ = confirmation-gated. A client that supports prompts asks you first; elsewhere (claude.ai, Claude Desktop) the first call sends nothing and returns a preview plus a confirmToken, and only a repeat call with that token acts. Arbitrary voice commands ("Alexa, …") are deliberately not exposed: they can buy things and unlock doors.
Configuration
When both ALEXA_REGISTRATION and the state file are present, the state file wins if it is the same virtual device and at least as new (it is the refreshed copy); otherwise the env var wins (a fresh login).
Hosting
mint.yaml describes the server to mcp-host: one child per user (identity.perUserChild), a two-step auth.flow (begin → sign in on amazon.com → paste the address), and the registration persists in each user's data dir.
Development
See docs/ALEXA-API.md for the verified response shapes and hosts.
來源:README.md,提交 065794d
工具
0版本歷史
1- v0.1.0最新Oct 8, 2026


