List Connected Extensions
skippr_list_connected_extensionsList all currently connected browser extensions to manage active integrations.
Instructions
Lists all currently connected browser extensions
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| totalExtensions | Yes | ||
| extensions | Yes |
Implementation Reference
- src/servers/mcp.ts:222-241 (registration)Registration of the 'skippr_list_connected_extensions' tool with MCP server via registerTool(). Defines title, description, inputSchema (empty), and outputSchema.
mcpServer.registerTool( 'skippr_list_connected_extensions', { title: 'List Connected Extensions', description: 'Lists all currently connected browser extensions', inputSchema: {}, outputSchema: z.object({ totalExtensions: z.number(), extensions: z.array(ClientInfoSchema) }).shape }, async () => { const extensions = getConnectedExtensions(); const result = { totalExtensions: extensions.length, extensions }; return createStructuredResponse(result); } ); - src/servers/mcp.ts:233-240 (handler)Handler for the tool: calls getConnectedExtensions() and returns total count and list of connected extensions.
async () => { const extensions = getConnectedExtensions(); const result = { totalExtensions: extensions.length, extensions }; return createStructuredResponse(result); } - src/servers/websocket.ts:429-435 (helper)Helper function getConnectedExtensions() which iterates over the internal clients Map and returns an array of client info objects.
export function getConnectedExtensions(): Array<z.infer<typeof ClientInfoSchema>> { const clientList: Array<z.infer<typeof ClientInfoSchema>> = []; for (const [, client] of clients) { clientList.push(client.info); } return clientList; } - src/schemas/index.ts:169-175 (schema)ClientInfoSchema Zod schema defining the shape of each extension entry returned by the tool (clientId, projectId, connectedAt, lastActivity, optional metadata).
export const ClientInfoSchema = z.object({ clientId: z.string(), projectId: z.string(), connectedAt: z.number(), lastActivity: z.number(), metadata: ClientMetadataSchema.optional(), }); - src/schemas/index.ts:92-96 (schema)ClientMetadataSchema Zod schema used as optional nested schema within ClientInfoSchema (extensionVersion, browserInfo, environment).
export const ClientMetadataSchema = z.object({ extensionVersion: z.string().optional(), browserInfo: z.string().optional(), environment: z.string().optional(), });