roomInfo
Retrieve detailed information about a JoinCloud workspace room, including participants, settings, and room name, to facilitate collaboration and task management.
Instructions
Get room details including name, participants, and settings.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| roomId | No | Room name |
Implementation Reference
- src/server/actions/room.ts:158-187 (handler)The handler logic for "room.info" implemented as a server method.
server.method("room.info", { description: "Get room details and participants", params: z.object({ roomId: z.string().describe("Room ID or name"), }), returns: z.object({ roomId: z.string(), name: z.string(), agents: z.array(z.object({ name: z.string(), joinedAt: z.string() })), }), handler: async (params, ctx) => { const room = await ctx.store.getRoom(params.roomId); if (!room) throw new Error(`Room not found: ${params.roomId}`); const info = { roomId: room.id, name: room.name, agents: Array.from(room.agents.values()).map((a) => ({ name: a.name, joinedAt: a.joinedAt, })), }; return { text: JSON.stringify(info, null, 2), contextId: room.id, data: info, }; }, }); - src/server/protocols/mcp/adapters.ts:59-72 (registration)The MCP registration for the "roomInfo" tool.
server.mcp("room.info", { toolName: "roomInfo", description: "Get room details including name, participants, and settings.", params: z.object({ roomId: z.string().optional().describe("Room name"), }), annotations: { title: "Room Info", readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false, }, });