alexa-mcp 0.2.3 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/client.js CHANGED
@@ -39,10 +39,11 @@ export class AlexaClient {
39
39
  }
40
40
  const res = await fetch(fullUrl, init);
41
41
  const text = await res.text();
42
+ if (process.env.ALEXA_DEBUG) {
43
+ const bodyPreview = text.slice(0, 500);
44
+ console.error(`[alexa-mcp] ${opts.method} ${fullUrl} → ${res.status} (${text.length}b): ${bodyPreview}`);
45
+ }
42
46
  if (!res.ok) {
43
- if (process.env.ALEXA_DEBUG) {
44
- console.error(`[alexa-mcp] ${opts.method} ${fullUrl} → ${res.status}: ${text.slice(0, 200)}`);
45
- }
46
47
  if (opts.throwOnError) {
47
48
  const prefix = opts.errorPrefix ?? "API error ";
48
49
  throw new Error(`${prefix}${res.status}: ${text.slice(0, 200)}`);
@@ -167,7 +168,7 @@ export class AlexaClient {
167
168
  if (action === "setBrightness") {
168
169
  if (brightness === undefined)
169
170
  throw new Error("brightness required for setBrightness");
170
- await this.postGraphql({
171
+ const result = (await this.postGraphql({
171
172
  operationName: "setBrightness",
172
173
  variables: {
173
174
  endpointId,
@@ -192,13 +193,14 @@ export class AlexaClient {
192
193
  __typename
193
194
  }
194
195
  }`,
195
- });
196
+ }));
197
+ this.throwOnGraphqlErrors(result);
196
198
  return;
197
199
  }
198
200
  if (action === "setColorTemperature") {
199
201
  if (colorTemperatureInKelvin === undefined)
200
202
  throw new Error("colorTemperatureInKelvin required for setColorTemperature");
201
- await this.postGraphql({
203
+ const result = (await this.postGraphql({
202
204
  operationName: "setColorTemperature",
203
205
  variables: {
204
206
  endpointId,
@@ -228,27 +230,43 @@ export class AlexaClient {
228
230
  __typename
229
231
  }
230
232
  }`,
231
- });
233
+ }));
234
+ this.throwOnGraphqlErrors(result);
232
235
  return;
233
236
  }
234
237
  const featureOp = action === "turnOn" ? "turnOn" : "turnOff";
235
- await this.postGraphql({
238
+ const result = (await this.postGraphql({
236
239
  operationName: "setPower",
237
240
  variables: {
238
241
  endpointId,
239
242
  featureOperationName: featureOp,
240
243
  },
241
244
  query: "mutation setPower($endpointId: String, $featureOperationName: FeatureOperationName!) { setEndpointFeatures(setEndpointFeaturesInput: {featureControlRequests: [{endpointId: $endpointId, featureName: power, featureOperationName: $featureOperationName}]}) { featureControlResponses { code endpointId featureOperationName __typename } errors { code message featureOperationName __typename } __typename } }",
242
- });
245
+ }));
246
+ const gqlErrors = result?.errors;
247
+ const mutationErrors = result?.data?.setEndpointFeatures?.errors;
248
+ const responses = result?.data?.setEndpointFeatures?.featureControlResponses;
249
+ if (gqlErrors?.length) {
250
+ throw new Error(`GraphQL error: ${gqlErrors.map(e => e.message).join("; ")}`);
251
+ }
252
+ if (mutationErrors?.length) {
253
+ throw new Error(`Control error: ${mutationErrors.map(e => `${e.code}: ${e.message}`).join("; ")}`);
254
+ }
255
+ if (responses?.length && responses.some(r => r.code !== "SUCCESS")) {
256
+ const failed = responses.filter(r => r.code !== "SUCCESS");
257
+ throw new Error(`Control failed: ${failed.map(r => `${r.endpointId}: ${r.code}`).join("; ")}`);
258
+ }
243
259
  }
244
260
  /**
245
261
  * Batch POST /nexus/v1/graphql — control multiple endpoints at once.
246
262
  * Uses setEndpointFeatures mutation with multiple featureControlRequests.
247
263
  * Much faster than individual requests for many devices.
264
+ * Returns featureControlResponses array with per-endpoint {endpointId, code} so callers can
265
+ * report per-device success/failure.
248
266
  */
249
267
  async graphqlBatchControl(requests) {
250
268
  if (requests.length === 0)
251
- return;
269
+ return [];
252
270
  // Build inline GraphQL array syntax like the working single mutations
253
271
  const requestsGraphQL = requests.map((req) => {
254
272
  if (req.action === "turnOn" || req.action === "turnOff") {
@@ -268,7 +286,7 @@ export class AlexaClient {
268
286
  throw new Error(`Unsupported action: ${req.action}`);
269
287
  }
270
288
  }).join(', ');
271
- await this.postGraphql({
289
+ const result = (await this.postGraphql({
272
290
  operationName: "batchSetEndpointFeatures",
273
291
  variables: {},
274
292
  query: `mutation batchSetEndpointFeatures {
@@ -290,7 +308,8 @@ export class AlexaClient {
290
308
  __typename
291
309
  }
292
310
  }`,
293
- });
311
+ }));
312
+ return result?.data?.setEndpointFeatures?.featureControlResponses ?? [];
294
313
  }
295
314
  /** POST to nexus/v1/graphql with app-like headers (matches Alexa mobile app). */
296
315
  async postGraphql(body) {
@@ -317,6 +336,22 @@ export class AlexaClient {
317
336
  });
318
337
  return Array.isArray(result) ? result : [];
319
338
  }
339
+ /** Throw if a GraphQL mutation response contains errors. */
340
+ throwOnGraphqlErrors(result) {
341
+ const gqlErrors = result?.errors;
342
+ const mutationErrors = result?.data?.setEndpointFeatures?.errors;
343
+ const responses = result?.data?.setEndpointFeatures?.featureControlResponses;
344
+ if (gqlErrors?.length) {
345
+ throw new Error(`GraphQL error: ${gqlErrors.map(e => e.message).join("; ")}`);
346
+ }
347
+ if (mutationErrors?.length) {
348
+ throw new Error(`Control error: ${mutationErrors.map(e => `${e.code}: ${e.message}`).join("; ")}`);
349
+ }
350
+ if (responses?.length && responses.some(r => r.code !== "SUCCESS")) {
351
+ const failed = responses.filter(r => r.code !== "SUCCESS");
352
+ throw new Error(`Control failed: ${failed.map(r => `${r.endpointId}: ${r.code}`).join("; ")}`);
353
+ }
354
+ }
320
355
  graphqlHeaders() {
321
356
  return {
322
357
  "x-amzn-client": "AlexaApp",
@@ -349,11 +384,12 @@ export class AlexaClient {
349
384
  query: AlexaClient.FRIENDLY_NAME_QUERY,
350
385
  }));
351
386
  const results = await this.postGraphqlBatch(bodies);
352
- for (let i = 0; i < amzn.length; i++) {
353
- const r = results[i];
387
+ for (const result of results) {
388
+ const r = result;
389
+ const id = r?.data?.endpoint?.id;
354
390
  const text = r?.data?.endpoint?.friendlyNameObject?.value?.text;
355
- if (text)
356
- map.set(amzn[i], text);
391
+ if (id && text)
392
+ map.set(id, text);
357
393
  }
358
394
  return map;
359
395
  }
@@ -552,28 +588,92 @@ export class AlexaClient {
552
588
  else {
553
589
  appliances = parseSmarthomeV2Response(r.data, undefined, undefined, capabilitiesMap);
554
590
  }
555
- return appliances.map((a) => ({
591
+ const filtered = AlexaClient.filterSmartHomeAppliances(appliances);
592
+ const deduped = AlexaClient.deduplicateAppliances(filtered);
593
+ return deduped.map((a) => ({
556
594
  endpointId: a.endpointId,
557
- entityId: a.entityId,
595
+ entityId: a.endpointId ?? a.entityId,
558
596
  friendlyName: a.friendlyName,
559
597
  isReachable: a.isReachable,
560
598
  capabilities: a.capabilities,
561
599
  }));
562
600
  }
563
- /** Resolve smart home device by friendly name (case-insensitive partial match). Prefer direct GraphQL control. */
601
+ /**
602
+ * Filter out non-device endpoints from the raw layout list.
603
+ * Removes Fire TV apps (package names), Alexa scenes, Echo devices,
604
+ * VSK endpoints, FireTV launchers, and other non-controllable entries.
605
+ */
606
+ static filterSmartHomeAppliances(appliances) {
607
+ const appPackagePattern = /^(com\s|uk\s|org\s)/i;
608
+ const nonDeviceNames = /^(firetv launcher|alexa vsk at unknown)$/i;
609
+ const echoOnlyCaps = new Set(["speaker", "bluetooth", "temperatureSensor", "motionSensor", "detectionEvents"]);
610
+ return appliances.filter((a) => {
611
+ const name = a.friendlyName?.trim() ?? "";
612
+ const caps = a.capabilities ?? [];
613
+ if (appPackagePattern.test(name))
614
+ return false;
615
+ if (nonDeviceNames.test(name))
616
+ return false;
617
+ if (caps.length === 0)
618
+ return false;
619
+ if (caps.every((c) => echoOnlyCaps.has(c)))
620
+ return false;
621
+ return true;
622
+ });
623
+ }
624
+ /**
625
+ * Deduplicate appliances with the same friendly name.
626
+ * Keeps the endpoint with the most capabilities; breaks ties by keeping the last one
627
+ * (more recently registered endpoints tend to be at the end of the layout list).
628
+ */
629
+ static deduplicateAppliances(appliances) {
630
+ const byName = new Map();
631
+ for (const a of appliances) {
632
+ const key = a.friendlyName?.toLowerCase().trim() ?? "";
633
+ if (!key)
634
+ continue;
635
+ const existing = byName.get(key);
636
+ if (!existing) {
637
+ byName.set(key, a);
638
+ continue;
639
+ }
640
+ const existingScore = (existing.capabilities ?? []).length;
641
+ const newScore = (a.capabilities ?? []).length;
642
+ if (newScore >= existingScore) {
643
+ byName.set(key, a);
644
+ }
645
+ }
646
+ const dedupedSet = new Set(Array.from(byName.values()).map((a) => a.endpointId ?? a.entityId));
647
+ return appliances.filter((a) => dedupedSet.has(a.endpointId ?? a.entityId));
648
+ }
649
+ /**
650
+ * Resolve smart home device by friendly name.
651
+ * Matching priority: exact match > name contains query > query contains name.
652
+ * Only the last fallback (query contains name) allows shorter names to match longer queries.
653
+ */
564
654
  async resolveApplianceByName(name) {
565
655
  const appliances = await this.listAppliances();
566
656
  const q = name.toLowerCase().trim();
567
- const match = appliances.find((a) => {
568
- const fn = a.friendlyName?.toLowerCase() ?? "";
569
- return fn.includes(q) || q.includes(fn);
657
+ const exact = appliances.find((a) => (a.friendlyName?.toLowerCase().trim() ?? "") === q);
658
+ if (exact)
659
+ return exact;
660
+ const partial = appliances.find((a) => {
661
+ const fn = a.friendlyName?.toLowerCase().trim() ?? "";
662
+ return fn.includes(q);
570
663
  });
571
- return match ?? null;
664
+ if (partial)
665
+ return partial;
666
+ const reverse = appliances.find((a) => {
667
+ const fn = a.friendlyName?.toLowerCase().trim() ?? "";
668
+ return fn.length > 2 && q.includes(fn);
669
+ });
670
+ return reverse ?? null;
572
671
  }
573
672
  /**
574
673
  * Resolve smart home devices by pattern (e.g. "kitchen lights").
575
- * Matches appliances whose friendlyName contains all space-separated words (case-insensitive).
576
- * "lights" also matches "light" and vice versa. Returns all matches for room/group control.
674
+ * First tries AND matching (all words must appear in the name, with singular/plural tolerance).
675
+ * If no results, falls back to OR matching (any word matches) so "kitchen lights" still finds
676
+ * "Kitchen spot 1" even though "lights" doesn't appear in the name.
577
677
  */
578
678
  async resolveAppliancesByPattern(pattern) {
579
679
  const appliances = await this.listAppliances();
@@ -589,10 +689,16 @@ export class AlexaClient {
589
689
  return true; // "light" → "lights"
590
690
  return false;
591
691
  };
592
- return appliances.filter((a) => {
692
+ const andMatches = appliances.filter((a) => {
593
693
  const fn = a.friendlyName?.toLowerCase() ?? "";
594
694
  return words.every((w) => matchWord(fn, w));
595
695
  });
696
+ if (andMatches.length > 0)
697
+ return andMatches;
698
+ return appliances.filter((a) => {
699
+ const fn = a.friendlyName?.toLowerCase() ?? "";
700
+ return words.some((w) => matchWord(fn, w));
701
+ });
596
702
  }
597
703
  /**
598
704
  * Control all appliances matching a pattern (e.g. "kitchen lights").
@@ -679,91 +785,86 @@ export class AlexaClient {
679
785
  }
680
786
  /**
681
787
  * Batch control multiple appliances with the same action and values.
682
- * Much faster than individual controlAppliance calls for many devices.
788
+ * GraphQL endpoints are sent as a single batched mutation (fast); Phoenix endpoints use
789
+ * individual Promise.allSettled calls.
790
+ * Returns a per-device result array: {entityId, success, error?}.
683
791
  */
684
792
  async batchControlAppliances(entityIds, action, brightness, colorTemperatureInKelvin) {
685
793
  if (entityIds.length === 0)
686
- return;
794
+ return [];
795
+ const resultMap = new Map();
796
+ for (const id of entityIds)
797
+ resultMap.set(id, { success: true });
687
798
  // Separate GraphQL and Phoenix endpoints
688
- const graphqlRequests = entityIds
689
- .filter(id => id.startsWith("amzn1.alexa.endpoint."))
690
- .map(endpointId => ({
691
- endpointId,
692
- action,
693
- brightness,
694
- colorTemperatureInKelvin,
695
- }));
696
- const phoenixRequests = entityIds
697
- .filter(id => !id.startsWith("amzn1.alexa.endpoint."))
698
- .map(entityId => {
699
- const params = { action };
700
- if (action === "setBrightness" && brightness !== undefined) {
701
- params.brightness = brightness;
799
+ const graphqlIds = entityIds.filter(id => id.startsWith("amzn1.alexa.endpoint."));
800
+ const phoenixIds = entityIds.filter(id => !id.startsWith("amzn1.alexa.endpoint."));
801
+ if (graphqlIds.length > 0) {
802
+ const graphqlRequests = graphqlIds.map(endpointId => ({ endpointId, action, brightness, colorTemperatureInKelvin }));
803
+ try {
804
+ const responses = await this.graphqlBatchControl(graphqlRequests);
805
+ for (const r of responses) {
806
+ if (r.code !== "SUCCESS") {
807
+ resultMap.set(r.endpointId, { success: false, error: r.code });
808
+ }
809
+ }
702
810
  }
703
- if (action === "setColorTemperature" && colorTemperatureInKelvin !== undefined) {
704
- params.colorTemperatureInKelvin = colorTemperatureInKelvin;
811
+ catch (e) {
812
+ for (const id of graphqlIds)
813
+ resultMap.set(id, { success: false, error: String(e) });
705
814
  }
706
- return {
707
- entityId,
708
- entityType: "APPLIANCE",
709
- parameters: params,
710
- };
711
- });
712
- // Execute batch requests in parallel
713
- const promises = [];
714
- if (graphqlRequests.length > 0) {
715
- promises.push(this.graphqlBatchControl(graphqlRequests));
716
815
  }
717
- if (phoenixRequests.length > 0) {
718
- promises.push(this.putApp("/api/phoenix/state", {
719
- controlRequests: phoenixRequests,
720
- }).then(() => { }));
816
+ if (phoenixIds.length > 0) {
817
+ const phoenixResults = await Promise.allSettled(phoenixIds.map(entityId => this.controlAppliance(entityId, action, brightness, colorTemperatureInKelvin)));
818
+ phoenixIds.forEach((id, i) => {
819
+ const r = phoenixResults[i];
820
+ if (r.status === "rejected")
821
+ resultMap.set(id, { success: false, error: String(r.reason) });
822
+ });
721
823
  }
722
- await Promise.all(promises);
824
+ return entityIds.map(id => ({ entityId: id, ...resultMap.get(id) }));
723
825
  }
724
826
  /**
725
827
  * Batch control multiple appliances with different actions/values.
726
- * Maximum flexibility - each device can have different settings.
828
+ * Maximum flexibility each device can have different settings.
829
+ * Returns a per-device result array: {entityId, success, error?}.
727
830
  */
728
831
  async batchControlAppliancesCustom(requests) {
729
832
  if (requests.length === 0)
730
- return;
731
- // Separate GraphQL and Phoenix endpoints
732
- const graphqlRequests = requests
733
- .filter(req => req.entityId.startsWith("amzn1.alexa.endpoint."))
734
- .map(({ entityId, action, brightness, colorTemperatureInKelvin }) => ({
735
- endpointId: entityId,
736
- action,
737
- brightness,
738
- colorTemperatureInKelvin,
739
- }));
740
- const phoenixRequests = requests
741
- .filter(req => !req.entityId.startsWith("amzn1.alexa.endpoint."))
742
- .map(({ entityId, action, brightness, colorTemperatureInKelvin }) => {
743
- const params = { action };
744
- if (action === "setBrightness" && brightness !== undefined) {
745
- params.brightness = brightness;
833
+ return [];
834
+ const resultMap = new Map();
835
+ for (const req of requests)
836
+ resultMap.set(req.entityId, { success: true });
837
+ const graphqlReqs = requests.filter(req => req.entityId.startsWith("amzn1.alexa.endpoint."));
838
+ const phoenixReqs = requests.filter(req => !req.entityId.startsWith("amzn1.alexa.endpoint."));
839
+ if (graphqlReqs.length > 0) {
840
+ const graphqlRequests = graphqlReqs.map(({ entityId, action, brightness, colorTemperatureInKelvin }) => ({
841
+ endpointId: entityId,
842
+ action,
843
+ brightness,
844
+ colorTemperatureInKelvin,
845
+ }));
846
+ try {
847
+ const responses = await this.graphqlBatchControl(graphqlRequests);
848
+ for (const r of responses) {
849
+ if (r.code !== "SUCCESS") {
850
+ resultMap.set(r.endpointId, { success: false, error: r.code });
851
+ }
852
+ }
746
853
  }
747
- if (action === "setColorTemperature" && colorTemperatureInKelvin !== undefined) {
748
- params.colorTemperatureInKelvin = colorTemperatureInKelvin;
854
+ catch (e) {
855
+ for (const req of graphqlReqs)
856
+ resultMap.set(req.entityId, { success: false, error: String(e) });
749
857
  }
750
- return {
751
- entityId,
752
- entityType: "APPLIANCE",
753
- parameters: params,
754
- };
755
- });
756
- // Execute batch requests in parallel
757
- const promises = [];
758
- if (graphqlRequests.length > 0) {
759
- promises.push(this.graphqlBatchControl(graphqlRequests));
760
858
  }
761
- if (phoenixRequests.length > 0) {
762
- promises.push(this.putApp("/api/phoenix/state", {
763
- controlRequests: phoenixRequests,
764
- }).then(() => { }));
859
+ if (phoenixReqs.length > 0) {
860
+ const phoenixResults = await Promise.allSettled(phoenixReqs.map(({ entityId, action, brightness, colorTemperatureInKelvin }) => this.controlAppliance(entityId, action, brightness, colorTemperatureInKelvin)));
861
+ phoenixReqs.forEach((req, i) => {
862
+ const r = phoenixResults[i];
863
+ if (r.status === "rejected")
864
+ resultMap.set(req.entityId, { success: false, error: String(r.reason) });
865
+ });
765
866
  }
766
- await Promise.all(promises);
867
+ return requests.map(req => ({ entityId: req.entityId, ...resultMap.get(req.entityId) }));
767
868
  }
768
869
  /** Get full automation (includes sequence) from app API. Used for run. */
769
870
  async getAutomation(automationId) {
@@ -786,6 +887,38 @@ export class AlexaClient {
786
887
  return null;
787
888
  }
788
889
  }
890
+ /**
891
+ * List all Appliance members of a named room/space group.
892
+ * Resolves group chrEntityIds back to Appliance objects from listAppliances.
893
+ */
894
+ async listGroupMembers(groupName) {
895
+ const groups = await this.listDeviceGroupsWithAppliances();
896
+ const q = groupName.toLowerCase().trim();
897
+ const group = groups.find((g) => g.name.toLowerCase() === q || g.name.toLowerCase().includes(q));
898
+ if (!group)
899
+ return [];
900
+ const appliances = await this.listAppliances();
901
+ const uuidToAppliance = new Map();
902
+ for (const a of appliances) {
903
+ const eid = a.endpointId ?? a.entityId;
904
+ if (eid) {
905
+ const uuid = eid.replace("amzn1.alexa.endpoint.", "");
906
+ uuidToAppliance.set(uuid.toLowerCase(), a);
907
+ }
908
+ }
909
+ const members = [];
910
+ for (const chrId of group.chrEntityIds) {
911
+ const app = uuidToAppliance.get(chrId.toLowerCase());
912
+ if (app) {
913
+ members.push(app);
914
+ }
915
+ else {
916
+ const endpointId = chrId.includes(".") ? chrId : `amzn1.alexa.endpoint.${chrId}`;
917
+ members.push({ entityId: endpointId, endpointId, friendlyName: chrId, isReachable: true });
918
+ }
919
+ }
920
+ return members;
921
+ }
789
922
  /** GET /api/phoenix/group — room/space groups (Living room, Kitchen, etc.) with appliance membership. */
790
923
  async listDeviceGroups() {
791
924
  const groups = await this.listDeviceGroupsWithAppliances();
@@ -876,6 +1009,15 @@ export class AlexaClient {
876
1009
  type: r.type,
877
1010
  }));
878
1011
  }
1012
+ /** Resolve a routine by exact or partial name match (case-insensitive). */
1013
+ async resolveRoutineByName(name, partial = false) {
1014
+ const routines = await this.listRoutines();
1015
+ const q = name.toLowerCase().trim();
1016
+ if (partial) {
1017
+ return routines.find((r) => r.name.toLowerCase().includes(q)) ?? null;
1018
+ }
1019
+ return routines.find((r) => r.name.toLowerCase() === q) ?? null;
1020
+ }
879
1021
  async runRoutine(automationId, sequenceJson) {
880
1022
  let payload = sequenceJson;
881
1023
  if (!payload) {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-tools.d.ts","sourceRoot":"","sources":["../src/mcp-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,SAAS,EACjB,aAAa,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,QAw4B1C;AAED,wBAAsB,YAAY,CAAC,oBAAoB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAQtF"}
1
+ {"version":3,"file":"mcp-tools.d.ts","sourceRoot":"","sources":["../src/mcp-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,SAAS,EACjB,aAAa,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,QA0gC1C;AAED,wBAAsB,YAAY,CAAC,oBAAoB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAQtF"}