Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 1 addition & 8 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,10 +1,3 @@
# Alexa MCP Server - Minimal Setup

# REQUIRED: Amazon ubid-main cookie (find in browser DevTools)
UBID_MAIN="123-456-78910"

# REQUIRED: Amazon at-main auth token (find in browser DevTools)
AT_MAIN="Atza|IwEBIA-......................."

# API Configuration
API_BASE="https://your-deployment.workers.dev"
TZ="Europe/Rome"
13 changes: 13 additions & 0 deletions .mcpbignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
.env
.env.*
.wrangler/
mcpb/
src/
ARCHITECTURE.md
SETUP.md
biome.json
pnpm-lock.yaml
pnpm-workspace.yaml
tsconfig.json
worker-configuration.d.ts
wrangler.jsonc
38 changes: 38 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
## Commit & Pull Request Guidelines

- Use short, imperative commit messages (e.g., Add dialogue parser, Fix scene load order). Keep changes scoped and commit frequently.

- PRs should include intent, key changes, and testing performed; link related tasks/issues. Add screenshots or short clips for visual changes.

- Before opening a PR, ensure docs are updated, new commands are documented, and tests (if any) pass locally.

- All commits should be done using **your own git identity**

- Do not work directly on main, : create a dedicated branch with setup prefix before committing or pushing.
- Examples: windsurf/feature-name, codex/fix-description, gemini/refactor-module

- Never delete branches (no --delete-branch on merges) unless explicitly instructed.


- **Merge policy (MANDATORY for all agents): unless explicitly specified otherwise by the user, the merge target is ALWAYS main.**
- If the target branch is not written clearly in the request, assume main.
- Do not infer a different merge target from recent context/history.

## Identity & Git Hygiene

- Author/committer identity is managed by the repo owner; do not change git config locally (no git config commands). Use the existing configuration as-is. Use $ENV variables for agent-specific commits.

- Never use the Heartran git identity for commits or pushes.

- Keep commits small and topical; prefer multiple commits over one large drop when touching orthogonal areas.

## Git Identity

- Every agent should have his own git identity when committing changes in order to have a more clear and readable history

| Agent | GIT_COMMITTER_NAME / GIT_AUTHOR_NAME | GIT_COMMITTER_EMAIL / GIT_AUTHOR_EMAIL |
| --- | :---: | --- |
| Codex | Codex | [199175422+chatgpt-codex-connector[bot]@users.noreply.github.com](mailto:199175422+chatgpt-codex-connector[bot]@users.noreply.github.com) |
| Gemini | Gemini | [176961590+gemini-code-assist[bot]@users.noreply.github.com](mailto:176961590+gemini-code-assist[bot]@users.noreply.github.com) |
| Cascade | Cascade | [cascade@users.noreply.github.com](mailto:cascade@users.noreply.github.com) |
| GitHub Copilot | Copilot[bot] | [198982749+Copilot[bot]@users.noreply.github.com](mailto:198982749+Copilot[bot]@users.noreply.github.com) |
212 changes: 0 additions & 212 deletions ARCHITECTURE.md

This file was deleted.

68 changes: 63 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,67 @@
Alexa MCP Server
# Alexa Home Automation MCPB

Checkout demo: https://x.com/sijan2003/status/1969916996423946405
Local MCP Bundle for Alexa smart home control.

**note:** alexa doesn't have a direct `/announce` endpoint for general use, so this implementation uses an endpoint discovered by intercepting traffic from the android alexa app using burp suite.
This repository now contains only the MCPB server. It runs locally over `stdio` and talks directly to Alexa using your Amazon cookies. There is no Cloudflare worker, no HTTP wrapper, and no `API_BASE`.

## Setup
## What it includes

See [SETUP.md](./SETUP.md) for quick 2-minute setup instructions.
- Alexa announcements
- Bedroom sensor snapshot
- Light listing and control
- Music status
- Volume read and control
- Smart home device discovery
- Do Not Disturb read and control
- MCP prompt `announcement_template`

## Required credentials

The bundle uses these Amazon cookie values:

- `UBID_MAIN`
- `AT_MAIN`

For general smart home control, Amazon web cookies are usually enough. For announcements, Alexa app cookies are often more reliable.

## Local development

1. Install dependencies:

```bash
npm install --omit=dev
```

2. Run the server locally:

```bash
UBID_MAIN=... AT_MAIN=... node server/index.mjs
```

On PowerShell:

```powershell
$env:UBID_MAIN="..."
$env:AT_MAIN="..."
node .\server\index.mjs
```

Optional:

- `TZ` to override the timezone used for night-time announcement suppression

## Build the bundle

1. Validate the manifest:

```bash
npx @anthropic-ai/mcpb validate .
```

2. Pack the bundle:

```bash
npx @anthropic-ai/mcpb pack .
```

The resulting `.mcpb` file can be installed directly in Claude Desktop or another MCPB-compatible client.
Loading