@relaycast/mcp 0.5.0 → 0.5.2
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/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/piggyback.d.ts +12 -1
- package/dist/piggyback.d.ts.map +1 -1
- package/dist/piggyback.js +39 -16
- package/dist/piggyback.js.map +1 -1
- package/dist/prompts.d.ts +1 -1
- package/dist/prompts.d.ts.map +1 -1
- package/dist/prompts.js +9 -9
- package/dist/resources/definitions.d.ts +6 -1
- package/dist/resources/definitions.d.ts.map +1 -1
- package/dist/resources/definitions.js +38 -12
- package/dist/resources/definitions.js.map +1 -1
- package/dist/server.d.ts +5 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +177 -38
- package/dist/server.js.map +1 -1
- package/dist/stdio.js +8 -0
- package/dist/stdio.js.map +1 -1
- package/dist/tool-aliases.d.ts +67 -0
- package/dist/tool-aliases.d.ts.map +1 -0
- package/dist/tool-aliases.js +71 -0
- package/dist/tool-aliases.js.map +1 -0
- package/dist/tools/channels.d.ts +5 -2
- package/dist/tools/channels.d.ts.map +1 -1
- package/dist/tools/channels.js +32 -21
- package/dist/tools/channels.js.map +1 -1
- package/dist/tools/features.d.ts +4 -1
- package/dist/tools/features.d.ts.map +1 -1
- package/dist/tools/features.js +28 -20
- package/dist/tools/features.js.map +1 -1
- package/dist/tools/messaging.d.ts +7 -1
- package/dist/tools/messaging.d.ts.map +1 -1
- package/dist/tools/messaging.js +34 -21
- package/dist/tools/messaging.js.map +1 -1
- package/dist/tools/programmability.d.ts +7 -1
- package/dist/tools/programmability.d.ts.map +1 -1
- package/dist/tools/programmability.js +22 -18
- package/dist/tools/programmability.js.map +1 -1
- package/dist/tools/registration.d.ts +4 -1
- package/dist/tools/registration.d.ts.map +1 -1
- package/dist/tools/registration.js +317 -21
- package/dist/tools/registration.js.map +1 -1
- package/dist/transports.d.ts.map +1 -1
- package/dist/transports.js +118 -1
- package/dist/transports.js.map +1 -1
- package/dist/types.d.ts +23 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +4 -0
- package/dist/types.js.map +1 -1
- package/dist/workspaces.d.ts +69 -0
- package/dist/workspaces.d.ts.map +1 -0
- package/dist/workspaces.js +134 -0
- package/dist/workspaces.js.map +1 -0
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -4,4 +4,6 @@ export { startStdio, createHttpHandler } from './transports.js';
|
|
|
4
4
|
export type { SessionLifecycle } from './transports.js';
|
|
5
5
|
export { DEFAULT_SYSTEM_PROMPT } from './prompts.js';
|
|
6
6
|
export type { SessionState } from './types.js';
|
|
7
|
+
export type { McpWorkspaceConfig } from './workspaces.js';
|
|
8
|
+
export { parseWorkspaceEnv, validateWorkspaceConfigs, resolveDefaultWorkspaceId } from './workspaces.js';
|
|
7
9
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,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;AAC/C,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { createRelayMcpServer, MCP_VERSION } from './server.js';
|
|
2
2
|
export { startStdio, createHttpHandler } from './transports.js';
|
|
3
3
|
export { DEFAULT_SYSTEM_PROMPT } from './prompts.js';
|
|
4
|
+
export { parseWorkspaceEnv, validateWorkspaceConfigs, resolveDefaultWorkspaceId } from './workspaces.js';
|
|
4
5
|
//# sourceMappingURL=index.js.map
|
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;AAEhE,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;AAGrD,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/piggyback.d.ts
CHANGED
|
@@ -2,5 +2,16 @@ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
|
2
2
|
import type { AgentClient } from '@relaycast/sdk';
|
|
3
3
|
import type { SessionState } from './types.js';
|
|
4
4
|
import type { McpTelemetry } from './telemetry.js';
|
|
5
|
-
|
|
5
|
+
type WorkspaceRouting = {
|
|
6
|
+
workspace_id?: string;
|
|
7
|
+
workspace_alias?: string;
|
|
8
|
+
};
|
|
9
|
+
type AgentRouting = WorkspaceRouting & {
|
|
10
|
+
as?: string;
|
|
11
|
+
};
|
|
12
|
+
type ResolvedAgentIdentity = {
|
|
13
|
+
agentName: string;
|
|
14
|
+
};
|
|
15
|
+
export declare function enablePiggyback(mcpServer: McpServer, getSession: () => SessionState, getAgentClient: (wsRouting?: WorkspaceRouting, asAgent?: string) => AgentClient, telemetry?: McpTelemetry, resolveAgentIdentity?: (routing?: AgentRouting) => ResolvedAgentIdentity): void;
|
|
16
|
+
export {};
|
|
6
17
|
//# sourceMappingURL=piggyback.d.ts.map
|
package/dist/piggyback.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"piggyback.d.ts","sourceRoot":"","sources":["../src/piggyback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"piggyback.d.ts","sourceRoot":"","sources":["../src/piggyback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AA2BnD,KAAK,gBAAgB,GAAG;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC5E,KAAK,YAAY,GAAG,gBAAgB,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACvD,KAAK,qBAAqB,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAwBnD,wBAAgB,eAAe,CAC7B,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,YAAY,EAC9B,cAAc,EAAE,CAAC,SAAS,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,WAAW,EAC/E,SAAS,CAAC,EAAE,YAAY,EACxB,oBAAoB,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,YAAY,KAAK,qBAAqB,GACvE,IAAI,CAyGN"}
|
package/dist/piggyback.js
CHANGED
|
@@ -1,23 +1,38 @@
|
|
|
1
1
|
const SKIP_PIGGYBACK = new Set([
|
|
2
|
-
'
|
|
3
|
-
'
|
|
4
|
-
'
|
|
5
|
-
'
|
|
2
|
+
'message.inbox.check',
|
|
3
|
+
'workspace.create',
|
|
4
|
+
'workspace.set_key',
|
|
5
|
+
'workspace.join',
|
|
6
|
+
'workspace.switch',
|
|
7
|
+
'workspace.list',
|
|
8
|
+
'agent.register',
|
|
6
9
|
]);
|
|
7
10
|
const MESSAGE_TOOLS = new Set([
|
|
8
|
-
'
|
|
9
|
-
'
|
|
10
|
-
'
|
|
11
|
-
'
|
|
12
|
-
'
|
|
13
|
-
'
|
|
11
|
+
'message.post',
|
|
12
|
+
'message.reply',
|
|
13
|
+
'message.dm.send',
|
|
14
|
+
'message.dm.send_group',
|
|
15
|
+
'integration.webhook.trigger',
|
|
16
|
+
'integration.command.invoke',
|
|
14
17
|
]);
|
|
15
18
|
function hasContentArray(value) {
|
|
16
19
|
return (typeof value === 'object' &&
|
|
17
20
|
value !== null &&
|
|
18
21
|
Array.isArray(value.content));
|
|
19
22
|
}
|
|
20
|
-
|
|
23
|
+
function extractAgentRouting(args) {
|
|
24
|
+
const [input] = args;
|
|
25
|
+
if (typeof input !== 'object' || input === null)
|
|
26
|
+
return undefined;
|
|
27
|
+
const raw = input;
|
|
28
|
+
const workspace_id = typeof raw.workspace_id === 'string' ? raw.workspace_id : undefined;
|
|
29
|
+
const workspace_alias = typeof raw.workspace_alias === 'string' ? raw.workspace_alias : undefined;
|
|
30
|
+
const as = typeof raw.as === 'string' ? raw.as : undefined;
|
|
31
|
+
if (!workspace_id && !workspace_alias && !as)
|
|
32
|
+
return undefined;
|
|
33
|
+
return { workspace_id, workspace_alias, as };
|
|
34
|
+
}
|
|
35
|
+
export function enablePiggyback(mcpServer, getSession, getAgentClient, telemetry, resolveAgentIdentity) {
|
|
21
36
|
const original = mcpServer.registerTool.bind(mcpServer);
|
|
22
37
|
const mutableServer = mcpServer;
|
|
23
38
|
mutableServer.registerTool = (name, config, handler) => {
|
|
@@ -56,22 +71,30 @@ export function enablePiggyback(mcpServer, getSession, getAgentClient, telemetry
|
|
|
56
71
|
message_kind: name,
|
|
57
72
|
});
|
|
58
73
|
}
|
|
59
|
-
else if (name === '
|
|
74
|
+
else if (name === 'message.inbox.check') {
|
|
60
75
|
telemetry?.capture('relaycast_inbox_checked', {
|
|
61
76
|
source_surface: 'mcp',
|
|
62
77
|
tool_name: name,
|
|
63
78
|
});
|
|
64
79
|
}
|
|
65
|
-
else if (name === 'register') {
|
|
80
|
+
else if (name === 'agent.register') {
|
|
66
81
|
telemetry?.capture('relaycast_agent_registered', {
|
|
67
82
|
source_surface: 'mcp',
|
|
68
83
|
tool_name: name,
|
|
69
84
|
});
|
|
70
85
|
}
|
|
71
|
-
|
|
86
|
+
const routing = extractAgentRouting(args);
|
|
87
|
+
const hasRoutedIdentity = Boolean(routing?.workspace_id || routing?.workspace_alias || routing?.as);
|
|
88
|
+
if (!shouldPiggybackInbox || (!getSession().agentToken && !hasRoutedIdentity))
|
|
72
89
|
return result;
|
|
73
90
|
try {
|
|
74
|
-
const
|
|
91
|
+
const workspaceRouting = routing?.workspace_id || routing?.workspace_alias
|
|
92
|
+
? {
|
|
93
|
+
workspace_id: routing.workspace_id,
|
|
94
|
+
workspace_alias: routing.workspace_alias,
|
|
95
|
+
}
|
|
96
|
+
: undefined;
|
|
97
|
+
const client = getAgentClient(workspaceRouting, routing?.as);
|
|
75
98
|
const inbox = await client.inbox();
|
|
76
99
|
const hasUnread = (inbox.unreadChannels?.length ?? 0) > 0 ||
|
|
77
100
|
(inbox.mentions?.length ?? 0) > 0 ||
|
|
@@ -79,7 +102,7 @@ export function enablePiggyback(mcpServer, getSession, getAgentClient, telemetry
|
|
|
79
102
|
(inbox.recentReactions?.length ?? 0) > 0;
|
|
80
103
|
console.error('[piggyback] inbox fetch ok — channels=%d mentions=%d dms=%d reactions=%d', inbox.unreadChannels?.length ?? 0, inbox.mentions?.length ?? 0, inbox.unreadDms?.length ?? 0, inbox.recentReactions?.length ?? 0);
|
|
81
104
|
if (hasUnread && hasContentArray(result)) {
|
|
82
|
-
const selfName = getSession().agentName;
|
|
105
|
+
const selfName = resolveAgentIdentity?.(routing)?.agentName ?? routing?.as ?? getSession().agentName;
|
|
83
106
|
const inboxText = formatInbox(inbox, selfName);
|
|
84
107
|
if (inboxText) {
|
|
85
108
|
result.content.push({
|
package/dist/piggyback.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"piggyback.js","sourceRoot":"","sources":["../src/piggyback.ts"],"names":[],"mappings":"AAKA,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,
|
|
1
|
+
{"version":3,"file":"piggyback.js","sourceRoot":"","sources":["../src/piggyback.ts"],"names":[],"mappings":"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"}
|
package/dist/prompts.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
-
declare const DEFAULT_SYSTEM_PROMPT = "You are an AI agent in a collaborative workspace powered by Agent Relay. You can communicate with other agents using the following tools:\n\n## Getting Started\n1. If workspace key is not configured, call \"
|
|
2
|
+
declare const DEFAULT_SYSTEM_PROMPT = "You are an AI agent in a collaborative workspace powered by Agent Relay. You can communicate with other agents using the following tools:\n\n## Getting Started\n1. If workspace key is not configured, call \"workspace.create\" or \"workspace.set_key\"\n2. Call \"agent.register\" with your agent name to join the workspace\n3. Use \"channel.list\" to see available channels\n4. Use \"channel.join\" to join channels of interest\n5. Use \"message.inbox.check\" to see unread messages and mentions\n\n## Communication\n- Post messages to channels with \"message.post\"\n- Send direct messages with \"message.dm.send\"\n- Reply to threads with \"message.reply\"\n- React to messages with \"message.reaction.add\"\n\n## Best Practices\n- Check your inbox regularly for new messages and mentions\n- Use channels for topic-based discussions\n- Use threads for detailed discussions to keep channels organized\n- React with emoji to acknowledge messages (e.g. thumbsup for agreement)\n- Keep messages concise and actionable";
|
|
3
3
|
export declare function registerSystemPrompt(server: McpServer): void;
|
|
4
4
|
export { DEFAULT_SYSTEM_PROMPT };
|
|
5
5
|
//# sourceMappingURL=prompts.d.ts.map
|
package/dist/prompts.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,QAAA,MAAM,qBAAqB,
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,QAAA,MAAM,qBAAqB,2/BAoBY,CAAC;AAExC,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoB5D;AAED,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
|
package/dist/prompts.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
const DEFAULT_SYSTEM_PROMPT = `You are an AI agent in a collaborative workspace powered by Agent Relay. You can communicate with other agents using the following tools:
|
|
2
2
|
|
|
3
3
|
## Getting Started
|
|
4
|
-
1. If workspace key is not configured, call "
|
|
5
|
-
2. Call "register" with your agent name to join the workspace
|
|
6
|
-
3. Use "
|
|
7
|
-
4. Use "
|
|
8
|
-
5. Use "
|
|
4
|
+
1. If workspace key is not configured, call "workspace.create" or "workspace.set_key"
|
|
5
|
+
2. Call "agent.register" with your agent name to join the workspace
|
|
6
|
+
3. Use "channel.list" to see available channels
|
|
7
|
+
4. Use "channel.join" to join channels of interest
|
|
8
|
+
5. Use "message.inbox.check" to see unread messages and mentions
|
|
9
9
|
|
|
10
10
|
## Communication
|
|
11
|
-
- Post messages to channels with "
|
|
12
|
-
- Send direct messages with "
|
|
13
|
-
- Reply to threads with "
|
|
14
|
-
- React to messages with "
|
|
11
|
+
- Post messages to channels with "message.post"
|
|
12
|
+
- Send direct messages with "message.dm.send"
|
|
13
|
+
- Reply to threads with "message.reply"
|
|
14
|
+
- React to messages with "message.reaction.add"
|
|
15
15
|
|
|
16
16
|
## Best Practices
|
|
17
17
|
- Check your inbox regularly for new messages and mentions
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
2
|
import type { AgentClient, RelayCast } from '@relaycast/sdk';
|
|
3
|
-
|
|
3
|
+
type WorkspaceRouting = {
|
|
4
|
+
workspace_id?: string;
|
|
5
|
+
workspace_alias?: string;
|
|
6
|
+
};
|
|
7
|
+
export declare function registerResourceDefinitions(server: McpServer, getAgentClient: (wsRouting?: WorkspaceRouting, as?: string) => AgentClient, getRelay: (wsRouting?: WorkspaceRouting, as?: string) => RelayCast): void;
|
|
8
|
+
export {};
|
|
4
9
|
//# 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;
|
|
1
|
+
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/resources/definitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAI7D,KAAK,gBAAgB,GAAG;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,SAAS,EACjB,cAAc,EAAE,CAAC,SAAS,CAAC,EAAE,gBAAgB,EAAE,EAAE,CAAC,EAAE,MAAM,KAAK,WAAW,EAC1E,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,gBAAgB,EAAE,EAAE,CAAC,EAAE,MAAM,KAAK,SAAS,GACjE,IAAI,CAsGN"}
|
|
@@ -1,38 +1,64 @@
|
|
|
1
1
|
import { ResourceTemplate } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
+
import { parseAgentRouting } from '../workspaces.js';
|
|
2
3
|
export function registerResourceDefinitions(server, getAgentClient, getRelay) {
|
|
4
|
+
const routingFromExtra = (extra) => {
|
|
5
|
+
const meta = extra?._meta;
|
|
6
|
+
if (!meta) {
|
|
7
|
+
return undefined;
|
|
8
|
+
}
|
|
9
|
+
return parseAgentRouting(meta);
|
|
10
|
+
};
|
|
11
|
+
const splitRouting = (routing) => {
|
|
12
|
+
if (!routing) {
|
|
13
|
+
return [undefined, undefined];
|
|
14
|
+
}
|
|
15
|
+
return [
|
|
16
|
+
{
|
|
17
|
+
workspace_id: routing.workspace_id,
|
|
18
|
+
workspace_alias: routing.workspace_alias,
|
|
19
|
+
},
|
|
20
|
+
routing.as,
|
|
21
|
+
];
|
|
22
|
+
};
|
|
3
23
|
// Static resource: inbox
|
|
4
|
-
server.registerResource('inbox', 'relay://inbox', { title: 'Inbox', description: 'Unread messages, mentions, and DMs', mimeType: 'application/json' }, async (uri) => {
|
|
5
|
-
const
|
|
24
|
+
server.registerResource('inbox', 'relay://inbox', { title: 'Inbox', description: 'Unread messages, mentions, and DMs', mimeType: 'application/json' }, async (uri, extra) => {
|
|
25
|
+
const routing = splitRouting(routingFromExtra(extra));
|
|
26
|
+
const client = getAgentClient(...routing);
|
|
6
27
|
const inbox = await client.inbox();
|
|
7
28
|
return { contents: [{ uri: uri.href, text: JSON.stringify(inbox) }] };
|
|
8
29
|
});
|
|
9
30
|
// Static resource: agents
|
|
10
|
-
server.registerResource('agents', 'relay://agents', { title: 'Agents', description: 'Online and offline agents in the workspace', mimeType: 'application/json' }, async (uri) => {
|
|
11
|
-
const
|
|
31
|
+
server.registerResource('agents', 'relay://agents', { title: 'Agents', description: 'Online and offline agents in the workspace', mimeType: 'application/json' }, async (uri, extra) => {
|
|
32
|
+
const routing = splitRouting(routingFromExtra(extra));
|
|
33
|
+
const relay = getRelay(...routing);
|
|
12
34
|
const agents = await relay.agents.list();
|
|
13
35
|
return { contents: [{ uri: uri.href, text: JSON.stringify(agents) }] };
|
|
14
36
|
});
|
|
15
37
|
// Static resource: channels
|
|
16
|
-
server.registerResource('channels', 'relay://channels', { title: 'Channels', description: 'Available channels in the workspace', mimeType: 'application/json' }, async (uri) => {
|
|
17
|
-
const
|
|
38
|
+
server.registerResource('channels', 'relay://channels', { title: 'Channels', description: 'Available channels in the workspace', mimeType: 'application/json' }, async (uri, extra) => {
|
|
39
|
+
const routing = splitRouting(routingFromExtra(extra));
|
|
40
|
+
const client = getAgentClient(...routing);
|
|
18
41
|
const channels = await client.channels.list();
|
|
19
42
|
return { contents: [{ uri: uri.href, text: JSON.stringify(channels) }] };
|
|
20
43
|
});
|
|
21
44
|
// Template: channel messages
|
|
22
|
-
server.registerResource('channel-messages', new ResourceTemplate('relay://channels/{name}/messages', { list: undefined }), { title: 'Channel Messages', description: 'Messages in a specific channel', mimeType: 'application/json' }, async (uri, params) => {
|
|
23
|
-
const
|
|
45
|
+
server.registerResource('channel-messages', new ResourceTemplate('relay://channels/{name}/messages', { list: undefined }), { title: 'Channel Messages', description: 'Messages in a specific channel', mimeType: 'application/json' }, async (uri, params, extra) => {
|
|
46
|
+
const routing = splitRouting(routingFromExtra(extra));
|
|
47
|
+
const client = getAgentClient(...routing);
|
|
24
48
|
const messages = await client.messages(params.name);
|
|
25
49
|
return { contents: [{ uri: uri.href, text: JSON.stringify(messages) }] };
|
|
26
50
|
});
|
|
27
51
|
// Template: message thread
|
|
28
|
-
server.registerResource('message-thread', new ResourceTemplate('relay://messages/{id}/thread', { list: undefined }), { title: 'Message Thread', description: 'Thread replies on a message', mimeType: 'application/json' }, async (uri, params) => {
|
|
29
|
-
const
|
|
52
|
+
server.registerResource('message-thread', new ResourceTemplate('relay://messages/{id}/thread', { list: undefined }), { title: 'Message Thread', description: 'Thread replies on a message', mimeType: 'application/json' }, async (uri, params, extra) => {
|
|
53
|
+
const routing = splitRouting(routingFromExtra(extra));
|
|
54
|
+
const client = getAgentClient(...routing);
|
|
30
55
|
const thread = await client.thread(params.id);
|
|
31
56
|
return { contents: [{ uri: uri.href, text: JSON.stringify(thread) }] };
|
|
32
57
|
});
|
|
33
58
|
// Template: DM conversation
|
|
34
|
-
server.registerResource('dm-conversation', new ResourceTemplate('relay://dm/{conversation_id}', { list: undefined }), { title: 'DM Conversation', description: 'Direct message conversation', mimeType: 'application/json' }, async (uri, params) => {
|
|
35
|
-
const
|
|
59
|
+
server.registerResource('dm-conversation', new ResourceTemplate('relay://dm/{conversation_id}', { list: undefined }), { title: 'DM Conversation', description: 'Direct message conversation', mimeType: 'application/json' }, async (uri, params, extra) => {
|
|
60
|
+
const routing = splitRouting(routingFromExtra(extra));
|
|
61
|
+
const client = getAgentClient(...routing);
|
|
36
62
|
const messages = await client.dms.messages(params.conversation_id);
|
|
37
63
|
return { contents: [{ uri: uri.href, text: JSON.stringify(messages) }] };
|
|
38
64
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/resources/definitions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/resources/definitions.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
2
|
import { type McpTelemetry } from './telemetry.js';
|
|
3
|
+
import type { McpWorkspaceConfig } from './workspaces.js';
|
|
3
4
|
export declare const MCP_VERSION = "0.1.2";
|
|
4
5
|
export interface McpServerOptions {
|
|
5
6
|
apiKey?: string;
|
|
@@ -14,6 +15,10 @@ export interface McpServerOptions {
|
|
|
14
15
|
strictAgentName?: boolean;
|
|
15
16
|
telemetryTransport?: 'stdio' | 'http';
|
|
16
17
|
telemetry?: McpTelemetry;
|
|
18
|
+
/** Multi-workspace configs parsed from RELAY_WORKSPACES_JSON. */
|
|
19
|
+
workspaces?: McpWorkspaceConfig[];
|
|
20
|
+
/** Default workspace ID or alias to use as the active workspace. */
|
|
21
|
+
defaultWorkspace?: string;
|
|
17
22
|
}
|
|
18
23
|
export declare function createRelayMcpServer(options: McpServerOptions): McpServer;
|
|
19
24
|
//# sourceMappingURL=server.d.ts.map
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA2BpE,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAI1D,eAAO,MAAM,WAAW,UAAU,CAAC;AAEnC,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sFAAsF;IACtF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC9B,4EAA4E;IAC5E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACtC,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,iEAAiE;IACjE,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAClC,oEAAoE;IACpE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAmBD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAyVzE"}
|