@relaycast/mcp 0.2.3 → 0.2.5

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.
Files changed (42) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/resources/definitions.d.ts +2 -2
  5. package/dist/resources/definitions.d.ts.map +1 -1
  6. package/dist/resources/definitions.js.map +1 -1
  7. package/dist/resources/ws-bridge.d.ts.map +1 -1
  8. package/dist/resources/ws-bridge.js +5 -0
  9. package/dist/resources/ws-bridge.js.map +1 -1
  10. package/dist/server.d.ts.map +1 -1
  11. package/dist/server.js +48 -15
  12. package/dist/server.js.map +1 -1
  13. package/dist/smithery.d.ts +55 -0
  14. package/dist/smithery.d.ts.map +1 -0
  15. package/dist/smithery.js +34 -0
  16. package/dist/smithery.js.map +1 -0
  17. package/dist/tools/channels.d.ts.map +1 -1
  18. package/dist/tools/channels.js +65 -30
  19. package/dist/tools/channels.js.map +1 -1
  20. package/dist/tools/features.d.ts.map +1 -1
  21. package/dist/tools/features.js +73 -27
  22. package/dist/tools/features.js.map +1 -1
  23. package/dist/tools/messaging.d.ts.map +1 -1
  24. package/dist/tools/messaging.js +67 -30
  25. package/dist/tools/messaging.js.map +1 -1
  26. package/dist/tools/programmability.d.ts +2 -2
  27. package/dist/tools/programmability.d.ts.map +1 -1
  28. package/dist/tools/programmability.js +185 -50
  29. package/dist/tools/programmability.js.map +1 -1
  30. package/dist/tools/registration.d.ts +2 -2
  31. package/dist/tools/registration.d.ts.map +1 -1
  32. package/dist/tools/registration.js +28 -18
  33. package/dist/tools/registration.js.map +1 -1
  34. package/dist/transports.d.ts +11 -1
  35. package/dist/transports.d.ts.map +1 -1
  36. package/dist/transports.js +9 -3
  37. package/dist/transports.js.map +1 -1
  38. package/dist/types.d.ts +1 -0
  39. package/dist/types.d.ts.map +1 -1
  40. package/dist/types.js +8 -1
  41. package/dist/types.js.map +1 -1
  42. package/package.json +3 -3
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export { createRelayMcpServer, MCP_VERSION } from './server.js';
2
2
  export type { McpServerOptions } from './server.js';
3
3
  export { startStdio, createHttpHandler } from './transports.js';
4
+ export type { SessionLifecycle } from './transports.js';
4
5
  export { DEFAULT_SYSTEM_PROMPT } from './prompts.js';
5
6
  export type { SessionState } from './types.js';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAChE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAChE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAChE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEhE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEhE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEhE,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import type { AgentClient, Relay } from '@relaycast/sdk';
3
- export declare function registerResourceDefinitions(server: McpServer, getAgentClient: () => AgentClient, getRelay: () => Relay): void;
2
+ import type { AgentClient, RelayCast } from '@relaycast/sdk';
3
+ export declare function registerResourceDefinitions(server: McpServer, getAgentClient: () => AgentClient, getRelay: () => RelayCast): void;
4
4
  //# sourceMappingURL=definitions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/resources/definitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEzD,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,SAAS,EACjB,cAAc,EAAE,MAAM,WAAW,EACjC,QAAQ,EAAE,MAAM,KAAK,GACpB,IAAI,CAwEN"}
1
+ {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/resources/definitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE7D,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,SAAS,EACjB,cAAc,EAAE,MAAM,WAAW,EACjC,QAAQ,EAAE,MAAM,SAAS,GACxB,IAAI,CAwEN"}
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/resources/definitions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/resources/definitions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ws-bridge.d.ts","sourceRoot":"","sources":["../../src/resources/ws-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,EAAE,CAmDhE;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;AAEnD;;;;GAIG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,aAAa,CAA6B;gBAGhD,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,mBAAmB,EAClC,cAAc,EAAE,cAAc;IAOhC;;OAEG;IACH,KAAK,IAAI,IAAI;IAYb;;OAEG;IACH,IAAI,IAAI,IAAI;CAOb"}
1
+ {"version":3,"file":"ws-bridge.d.ts","sourceRoot":"","sources":["../../src/resources/ws-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAiB,MAAM,kBAAkB,CAAC;AACnE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,EAAE,CAmDhE;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;AAEnD;;;;GAIG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,aAAa,CAA6B;gBAGhD,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,mBAAmB,EAClC,cAAc,EAAE,cAAc;IAOhC;;OAEG;IACH,KAAK,IAAI,IAAI;IAiBb;;OAEG;IACH,IAAI,IAAI,IAAI;CAOb"}
@@ -73,6 +73,11 @@ export class WsBridge {
73
73
  */
74
74
  start() {
75
75
  this.unsubscribeFn = this.wsClient.on('*', (event) => {
76
+ // Filter out client-only events (open, close, error, reconnecting)
77
+ // Only process server events that affect resources
78
+ if (event.type === 'open' || event.type === 'close' || event.type === 'error' || event.type === 'reconnecting') {
79
+ return;
80
+ }
76
81
  const uris = eventToResourceUris(event);
77
82
  const matched = this.subscriptions.getMatchingSubscriptions(uris);
78
83
  for (const uri of matched) {
@@ -1 +1 @@
1
- {"version":3,"file":"ws-bridge.js","sourceRoot":"","sources":["../../src/resources/ws-bridge.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAkB;IACpD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,iBAAiB;YACpB,OAAO;gBACL,eAAe;gBACf,oBAAqB,KAAa,CAAC,OAAO,WAAW;aACtD,CAAC;QACJ,KAAK,iBAAiB;YACpB,OAAO,CAAC,oBAAqB,KAAa,CAAC,OAAO,WAAW,CAAC,CAAC;QACjE,KAAK,cAAc;YACjB,OAAO;gBACL,eAAe;gBACf,oBAAqB,KAAa,CAAC,SAAS,SAAS;aACtD,CAAC;QACJ,KAAK,aAAa;YAChB,OAAO;gBACL,eAAe;gBACf,cAAe,KAAa,CAAC,eAAe,EAAE;aAC/C,CAAC;QACJ,KAAK,mBAAmB;YACtB,OAAO;gBACL,eAAe;gBACf,cAAe,KAAa,CAAC,eAAe,EAAE;aAC/C,CAAC;QACJ,KAAK,cAAc,CAAC;QACpB,KAAK,eAAe;YAClB,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC5B,KAAK,iBAAiB,CAAC;QACvB,KAAK,iBAAiB,CAAC;QACvB,KAAK,kBAAkB,CAAC;QACxB,KAAK,eAAe,CAAC;QACrB,KAAK,aAAa;YAChB,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAC9B,KAAK,kBAAkB;YACrB,OAAO;gBACL,oBAAqB,KAAa,CAAC,OAAO,WAAW;aACtD,CAAC;QACJ,KAAK,iBAAiB;YACpB,OAAO;gBACL,oBAAqB,KAAa,CAAC,OAAO,WAAW;aACtD,CAAC;QACJ,KAAK,cAAc;YACjB,OAAO,EAAE,CAAC;QACZ,KAAK,eAAe;YAClB,OAAO,EAAE,CAAC;QACZ,KAAK,gBAAgB,CAAC;QACtB,KAAK,kBAAkB;YACrB,OAAO,EAAE,CAAC;QACZ;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAID;;;;GAIG;AACH,MAAM,OAAO,QAAQ;IACX,QAAQ,CAAW;IACnB,aAAa,CAAsB;IACnC,cAAc,CAAiB;IAC/B,aAAa,GAAwB,IAAI,CAAC;IAElD,YACE,QAAkB,EAClB,aAAkC,EAClC,cAA8B;QAE9B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAkB,EAAE,EAAE;YAChE,MAAM,IAAI,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;YACxC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAClE,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC1B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;CACF"}
1
+ {"version":3,"file":"ws-bridge.js","sourceRoot":"","sources":["../../src/resources/ws-bridge.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAkB;IACpD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,iBAAiB;YACpB,OAAO;gBACL,eAAe;gBACf,oBAAqB,KAAa,CAAC,OAAO,WAAW;aACtD,CAAC;QACJ,KAAK,iBAAiB;YACpB,OAAO,CAAC,oBAAqB,KAAa,CAAC,OAAO,WAAW,CAAC,CAAC;QACjE,KAAK,cAAc;YACjB,OAAO;gBACL,eAAe;gBACf,oBAAqB,KAAa,CAAC,SAAS,SAAS;aACtD,CAAC;QACJ,KAAK,aAAa;YAChB,OAAO;gBACL,eAAe;gBACf,cAAe,KAAa,CAAC,eAAe,EAAE;aAC/C,CAAC;QACJ,KAAK,mBAAmB;YACtB,OAAO;gBACL,eAAe;gBACf,cAAe,KAAa,CAAC,eAAe,EAAE;aAC/C,CAAC;QACJ,KAAK,cAAc,CAAC;QACpB,KAAK,eAAe;YAClB,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC5B,KAAK,iBAAiB,CAAC;QACvB,KAAK,iBAAiB,CAAC;QACvB,KAAK,kBAAkB,CAAC;QACxB,KAAK,eAAe,CAAC;QACrB,KAAK,aAAa;YAChB,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAC9B,KAAK,kBAAkB;YACrB,OAAO;gBACL,oBAAqB,KAAa,CAAC,OAAO,WAAW;aACtD,CAAC;QACJ,KAAK,iBAAiB;YACpB,OAAO;gBACL,oBAAqB,KAAa,CAAC,OAAO,WAAW;aACtD,CAAC;QACJ,KAAK,cAAc;YACjB,OAAO,EAAE,CAAC;QACZ,KAAK,eAAe;YAClB,OAAO,EAAE,CAAC;QACZ,KAAK,gBAAgB,CAAC;QACtB,KAAK,kBAAkB;YACrB,OAAO,EAAE,CAAC;QACZ;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAID;;;;GAIG;AACH,MAAM,OAAO,QAAQ;IACX,QAAQ,CAAW;IACnB,aAAa,CAAsB;IACnC,cAAc,CAAiB;IAC/B,aAAa,GAAwB,IAAI,CAAC;IAElD,YACE,QAAkB,EAClB,aAAkC,EAClC,cAA8B;QAE9B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAoB,EAAE,EAAE;YAClE,mEAAmE;YACnE,mDAAmD;YACnD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBAC/G,OAAO;YACT,CAAC;YACD,MAAM,IAAI,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;YACxC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAClE,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC1B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAapE,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEvE,eAAO,MAAM,WAAW,UAAU,CAAC;AAEnC,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACtC,SAAS,CAAC,EAAE,YAAY,CAAC;CAC1B;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAuGzE"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAcpE,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEvE,eAAO,MAAM,WAAW,UAAU,CAAC;AAEnC,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACtC,SAAS,CAAC,EAAE,YAAY,CAAC;CAC1B;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CA8IzE"}
package/dist/server.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import { Relay, WsClient } from '@relaycast/sdk';
2
+ import { ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';
3
+ import { RelayCast, WsClient } from '@relaycast/sdk';
3
4
  import { registerRegistrationTools } from './tools/registration.js';
4
5
  import { registerChannelTools } from './tools/channels.js';
5
6
  import { registerMessagingTools } from './tools/messaging.js';
@@ -33,7 +34,7 @@ export function createRelayMcpServer(options) {
33
34
  if (!workspaceKey) {
34
35
  throw new Error('Workspace key not configured. Set RELAY_API_KEY at startup, or call "create_workspace" or "set_workspace_key" first.');
35
36
  }
36
- return new Relay({ apiKey: workspaceKey, baseUrl: options.baseUrl });
37
+ return new RelayCast({ apiKey: workspaceKey, baseUrl: options.baseUrl });
37
38
  };
38
39
  const setSession = (partial) => {
39
40
  const nextAgentToken = partial.agentToken === undefined ? session.agentToken : partial.agentToken;
@@ -45,20 +46,38 @@ export function createRelayMcpServer(options) {
45
46
  session.wsBridge = null;
46
47
  session.subscriptions = null;
47
48
  }
49
+ if (shouldResetBridge) {
50
+ session.wsInitAttempted = false;
51
+ }
48
52
  // When an agent token is set, initialize the WebSocket bridge.
49
- if (nextAgentToken && !session.wsBridge) {
50
- const subscriptions = new SubscriptionManager();
51
- const wsClient = new WsClient({
52
- token: nextAgentToken,
53
- baseUrl: options.baseUrl,
54
- });
55
- const wsBridge = new WsBridge(wsClient, subscriptions, (uri) => {
56
- mcpServer.server.sendResourceUpdated({ uri }).catch(() => {
57
- // Silently ignore notification failures
53
+ if (nextAgentToken && !session.wsBridge && !session.wsInitAttempted) {
54
+ try {
55
+ const subscriptions = new SubscriptionManager();
56
+ const wsClient = new WsClient({
57
+ token: nextAgentToken,
58
+ baseUrl: options.baseUrl,
58
59
  });
59
- });
60
- wsBridge.start();
61
- Object.assign(session, partial, { wsBridge, subscriptions });
60
+ const wsBridge = new WsBridge(wsClient, subscriptions, (uri) => {
61
+ mcpServer.server.sendResourceUpdated({ uri }).catch(() => {
62
+ // Silently ignore notification failures
63
+ });
64
+ });
65
+ wsBridge.start();
66
+ Object.assign(session, partial, {
67
+ wsBridge,
68
+ subscriptions,
69
+ wsInitAttempted: true,
70
+ });
71
+ }
72
+ catch {
73
+ // In non-WS runtimes (e.g. some test environments), keep session usable
74
+ // without real-time resource updates.
75
+ Object.assign(session, partial, {
76
+ wsBridge: null,
77
+ subscriptions: null,
78
+ wsInitAttempted: true,
79
+ });
80
+ }
62
81
  telemetry.capture('relaycast_mcp_session_authenticated', {
63
82
  source_surface: 'mcp',
64
83
  agent_name: nextAgentName,
@@ -72,7 +91,7 @@ export function createRelayMcpServer(options) {
72
91
  if (!session.agentToken) {
73
92
  throw new Error('Not registered. Call the "register" tool first.');
74
93
  }
75
- return new Relay({ apiKey: session.agentToken, baseUrl: options.baseUrl }).as(session.agentToken);
94
+ return new RelayCast({ apiKey: session.agentToken, baseUrl: options.baseUrl }).as(session.agentToken);
76
95
  };
77
96
  // Enable piggybacking of unread messages on all tool responses
78
97
  enablePiggyback(mcpServer, getSession, getAgentClient, telemetry);
@@ -86,6 +105,20 @@ export function createRelayMcpServer(options) {
86
105
  registerProgrammabilityTools(mcpServer, getRelay, getAgentClient);
87
106
  // Register system prompt
88
107
  registerSystemPrompt(mcpServer);
108
+ const handlers = mcpServer.server._requestHandlers;
109
+ const origToolsListHandler = handlers.get('tools/list');
110
+ if (origToolsListHandler) {
111
+ mcpServer.server.setRequestHandler(ListToolsRequestSchema, async (req, extra) => {
112
+ const result = (await origToolsListHandler(req, extra));
113
+ if (result?.tools) {
114
+ result.tools = result.tools.map(t => {
115
+ const { execution, outputSchema, _meta, ...clean } = t;
116
+ return clean;
117
+ });
118
+ }
119
+ return result;
120
+ });
121
+ }
89
122
  return mcpServer;
90
123
  }
91
124
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Smithery config schema – exposed to the Smithery registry so it can
4
+ * auto-generate a configuration form and validate user input.
5
+ *
6
+ * Both fields are optional: callers can set a workspace key at runtime
7
+ * via the `set_workspace_key` / `create_workspace` tools instead.
8
+ */
9
+ export declare const configSchema: z.ZodObject<{
10
+ relayApiKey: z.ZodOptional<z.ZodString>;
11
+ relayBaseUrl: z.ZodOptional<z.ZodString>;
12
+ }, z.core.$strip>;
13
+ /**
14
+ * Smithery entry point.
15
+ *
16
+ * Smithery calls this function with validated config and expects a
17
+ * low-level `Server` instance from @modelcontextprotocol/sdk.
18
+ */
19
+ export default function createServer(context: {
20
+ config: z.infer<typeof configSchema>;
21
+ }): import("@modelcontextprotocol/sdk/server").Server<{
22
+ method: string;
23
+ params?: {
24
+ [x: string]: unknown;
25
+ _meta?: {
26
+ [x: string]: unknown;
27
+ progressToken?: string | number | undefined;
28
+ "io.modelcontextprotocol/related-task"?: {
29
+ taskId: string;
30
+ } | undefined;
31
+ } | undefined;
32
+ } | undefined;
33
+ }, {
34
+ method: string;
35
+ params?: {
36
+ [x: string]: unknown;
37
+ _meta?: {
38
+ [x: string]: unknown;
39
+ progressToken?: string | number | undefined;
40
+ "io.modelcontextprotocol/related-task"?: {
41
+ taskId: string;
42
+ } | undefined;
43
+ } | undefined;
44
+ } | undefined;
45
+ }, {
46
+ [x: string]: unknown;
47
+ _meta?: {
48
+ [x: string]: unknown;
49
+ progressToken?: string | number | undefined;
50
+ "io.modelcontextprotocol/related-task"?: {
51
+ taskId: string;
52
+ } | undefined;
53
+ } | undefined;
54
+ }>;
55
+ //# sourceMappingURL=smithery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smithery.d.ts","sourceRoot":"","sources":["../src/smithery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;;GAMG;AACH,eAAO,MAAM,YAAY;;;iBAavB,CAAC;AAEH;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,OAAO,EAAE;IAC5C,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;CACtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAQA"}
@@ -0,0 +1,34 @@
1
+ import { z } from 'zod';
2
+ import { createRelayMcpServer } from './server.js';
3
+ /**
4
+ * Smithery config schema – exposed to the Smithery registry so it can
5
+ * auto-generate a configuration form and validate user input.
6
+ *
7
+ * Both fields are optional: callers can set a workspace key at runtime
8
+ * via the `set_workspace_key` / `create_workspace` tools instead.
9
+ */
10
+ export const configSchema = z.object({
11
+ relayApiKey: z
12
+ .string()
13
+ .optional()
14
+ .describe('Workspace API key (rk_live_...) used to pre-authenticate the MCP session.'),
15
+ relayBaseUrl: z
16
+ .string()
17
+ .optional()
18
+ .describe('Override API base URL for self-hosted Relaycast deployments (defaults to https://api.relaycast.dev).'),
19
+ });
20
+ /**
21
+ * Smithery entry point.
22
+ *
23
+ * Smithery calls this function with validated config and expects a
24
+ * low-level `Server` instance from @modelcontextprotocol/sdk.
25
+ */
26
+ export default function createServer(context) {
27
+ const mcpServer = createRelayMcpServer({
28
+ apiKey: context.config.relayApiKey,
29
+ baseUrl: context.config.relayBaseUrl,
30
+ telemetryTransport: 'stdio',
31
+ });
32
+ return mcpServer.server;
33
+ }
34
+ //# sourceMappingURL=smithery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smithery.js","sourceRoot":"","sources":["../src/smithery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,2EAA2E,CAC5E;IACH,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,sGAAsG,CACvG;CACJ,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,OAEpC;IACC,MAAM,SAAS,GAAG,oBAAoB,CAAC;QACrC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW;QAClC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY;QACpC,kBAAkB,EAAE,OAAO;KAC5B,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC,MAAM,CAAC;AAC1B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"channels.d.ts","sourceRoot":"","sources":["../../src/tools/channels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,SAAS,EACjB,cAAc,EAAE,MAAM,WAAW,GAChC,IAAI,CAqIN"}
1
+ {"version":3,"file":"channels.d.ts","sourceRoot":"","sources":["../../src/tools/channels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAK7C,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,SAAS,EACjB,cAAc,EAAE,MAAM,WAAW,GAChC,IAAI,CAsKN"}
@@ -1,25 +1,32 @@
1
1
  import { z } from 'zod';
2
+ /** Passthrough object schema for dynamic API responses. */
3
+ const jsonResult = z.object({}).passthrough();
2
4
  export function registerChannelTools(server, getAgentClient) {
3
- // Tool 3: create_channel
4
5
  server.registerTool('create_channel', {
5
6
  title: 'Create Channel',
6
- description: 'Create a new channel in the workspace.',
7
+ description: 'Create a new communication channel in the workspace. Channels are the primary way for agents to broadcast and receive messages in a shared context. Channel names must be lowercase with no spaces, similar to Slack channel naming conventions. Optionally set an initial topic to describe the channel\'s purpose.',
7
8
  inputSchema: {
8
- name: z.string().describe('Channel name (no spaces, lowercase)'),
9
- topic: z.string().optional().describe('Channel topic/description'),
9
+ name: z.string().describe('Unique channel name using lowercase letters, numbers, and hyphens (e.g. "build-alerts", "team-chat")'),
10
+ topic: z.string().optional().describe('Short description of the channel\'s purpose, visible to all members when they view channel details'),
10
11
  },
12
+ outputSchema: jsonResult,
11
13
  annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: true },
12
14
  }, async ({ name, topic }) => {
13
15
  const client = getAgentClient();
14
16
  const channel = await client.channels.create({ name, topic });
15
- return { content: [{ type: 'text', text: JSON.stringify(channel, null, 2) }] };
17
+ return {
18
+ content: [{ type: 'text', text: JSON.stringify(channel, null, 2) }],
19
+ structuredContent: channel,
20
+ };
16
21
  });
17
- // Tool 4: list_channels
18
22
  server.registerTool('list_channels', {
19
23
  title: 'List Channels',
20
- description: 'List all channels in the workspace.',
24
+ description: 'List all channels available in the workspace. Returns each channel\'s name, topic, member count, and creation date. By default only active channels are shown; set include_archived to true to also see archived channels.',
21
25
  inputSchema: {
22
- include_archived: z.boolean().optional().describe('Include archived channels'),
26
+ include_archived: z.boolean().optional().describe('When true, include archived channels in the response alongside active ones'),
27
+ },
28
+ outputSchema: {
29
+ channels: z.array(z.object({}).passthrough()).describe('Array of channel objects with name, topic, and member details'),
23
30
  },
24
31
  annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },
25
32
  }, async ({ include_archived }) => {
@@ -27,74 +34,102 @@ export function registerChannelTools(server, getAgentClient) {
27
34
  const channels = await client.channels.list(include_archived ? { include_archived } : undefined);
28
35
  return {
29
36
  content: [{ type: 'text', text: JSON.stringify(channels, null, 2) }],
37
+ structuredContent: { channels: channels },
30
38
  };
31
39
  });
32
- // Tool 5: join_channel
33
40
  server.registerTool('join_channel', {
34
41
  title: 'Join Channel',
35
- description: 'Join a channel.',
42
+ description: 'Join an existing channel to start receiving its messages. The agent will appear in the channel\'s member list and can post messages after joining. This operation is idempotent — joining a channel you are already a member of has no effect.',
36
43
  inputSchema: {
37
- channel: z.string().describe('Channel name to join'),
44
+ channel: z.string().describe('Name of the channel to join (e.g. "general", "build-alerts")'),
45
+ },
46
+ outputSchema: {
47
+ message: z.string().describe('Confirmation message indicating the channel was joined'),
38
48
  },
39
49
  annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: true },
40
50
  }, async ({ channel }) => {
41
51
  const client = getAgentClient();
42
52
  await client.channels.join(channel);
43
- return { content: [{ type: 'text', text: `Joined channel #${channel}` }] };
53
+ const message = `Joined channel #${channel}`;
54
+ return {
55
+ content: [{ type: 'text', text: message }],
56
+ structuredContent: { message },
57
+ };
44
58
  });
45
- // Tool 6: leave_channel
46
59
  server.registerTool('leave_channel', {
47
60
  title: 'Leave Channel',
48
- description: 'Leave a channel.',
61
+ description: 'Leave a channel to stop receiving its messages. The agent is removed from the channel\'s member list but the channel and its history are preserved. You can rejoin at any time. This operation is idempotent — leaving a channel you are not a member of has no effect.',
49
62
  inputSchema: {
50
- channel: z.string().describe('Channel name to leave'),
63
+ channel: z.string().describe('Name of the channel to leave (e.g. "general", "build-alerts")'),
64
+ },
65
+ outputSchema: {
66
+ message: z.string().describe('Confirmation message indicating the channel was left'),
51
67
  },
52
68
  annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: true },
53
69
  }, async ({ channel }) => {
54
70
  const client = getAgentClient();
55
71
  await client.channels.leave(channel);
56
- return { content: [{ type: 'text', text: `Left channel #${channel}` }] };
72
+ const message = `Left channel #${channel}`;
73
+ return {
74
+ content: [{ type: 'text', text: message }],
75
+ structuredContent: { message },
76
+ };
57
77
  });
58
- // Tool 7: invite_to_channel
59
78
  server.registerTool('invite_to_channel', {
60
79
  title: 'Invite to Channel',
61
- description: 'Invite an agent to a channel.',
80
+ description: 'Invite another agent to join a channel. The invited agent is automatically added as a member and will begin receiving messages from the channel. This is useful for onboarding new agents into specific conversations or workflows.',
62
81
  inputSchema: {
63
- channel: z.string().describe('Channel name'),
64
- agent: z.string().describe('Agent name to invite'),
82
+ channel: z.string().describe('Name of the channel to invite the agent to (e.g. "general", "build-alerts")'),
83
+ agent: z.string().describe('Name of the registered agent to invite into the channel'),
84
+ },
85
+ outputSchema: {
86
+ message: z.string().describe('Confirmation message indicating the agent was invited'),
65
87
  },
66
88
  annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: true },
67
89
  }, async ({ channel, agent }) => {
68
90
  const client = getAgentClient();
69
91
  await client.channels.invite(channel, agent);
70
- return { content: [{ type: 'text', text: `Invited ${agent} to #${channel}` }] };
92
+ const message = `Invited ${agent} to #${channel}`;
93
+ return {
94
+ content: [{ type: 'text', text: message }],
95
+ structuredContent: { message },
96
+ };
71
97
  });
72
- // Tool 8: set_channel_topic
73
98
  server.registerTool('set_channel_topic', {
74
99
  title: 'Set Channel Topic',
75
- description: 'Set the topic for a channel.',
100
+ description: 'Update the topic description for a channel. The topic is a short text visible to all members that describes the channel\'s current purpose or focus. Changing the topic does not send a notification to channel members.',
76
101
  inputSchema: {
77
- channel: z.string().describe('Channel name'),
78
- topic: z.string().describe('New topic text'),
102
+ channel: z.string().describe('Name of the channel whose topic should be updated'),
103
+ topic: z.string().describe('New topic text describing the channel\'s purpose or current focus'),
79
104
  },
105
+ outputSchema: jsonResult,
80
106
  annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: true },
81
107
  }, async ({ channel, topic }) => {
82
108
  const client = getAgentClient();
83
109
  const updated = await client.channels.setTopic(channel, topic);
84
- return { content: [{ type: 'text', text: JSON.stringify(updated, null, 2) }] };
110
+ return {
111
+ content: [{ type: 'text', text: JSON.stringify(updated, null, 2) }],
112
+ structuredContent: updated,
113
+ };
85
114
  });
86
- // Tool 9: archive_channel
87
115
  server.registerTool('archive_channel', {
88
116
  title: 'Archive Channel',
89
- description: 'Archive a channel (soft delete).',
117
+ description: 'Archive a channel to remove it from the active channel list. Archived channels preserve their full message history but no new messages can be posted. This is a soft delete — the channel can be restored later if needed. Use this to clean up channels that are no longer in use.',
90
118
  inputSchema: {
91
- channel: z.string().describe('Channel name to archive'),
119
+ channel: z.string().describe('Name of the channel to archive (e.g. "old-project", "temp-discussion")'),
120
+ },
121
+ outputSchema: {
122
+ message: z.string().describe('Confirmation message indicating the channel was archived'),
92
123
  },
93
124
  annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: true, openWorldHint: true },
94
125
  }, async ({ channel }) => {
95
126
  const client = getAgentClient();
96
127
  await client.channels.archive(channel);
97
- return { content: [{ type: 'text', text: `Archived channel #${channel}` }] };
128
+ const message = `Archived channel #${channel}`;
129
+ return {
130
+ content: [{ type: 'text', text: message }],
131
+ structuredContent: { message },
132
+ };
98
133
  });
99
134
  }
100
135
  //# sourceMappingURL=channels.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"channels.js","sourceRoot":"","sources":["../../src/tools/channels.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channels.js","sourceRoot":"","sources":["../../src/tools/channels.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../../src/tools/features.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,SAAS,EACjB,cAAc,EAAE,MAAM,WAAW,GAChC,IAAI,CA+FN"}
1
+ {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../../src/tools/features.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAKlD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,SAAS,EACjB,cAAc,EAAE,MAAM,WAAW,GAChC,IAAI,CA2IN"}