admin_connect_account
Connect a new LinkedIn account by creating a connection session that returns a session ID and browser link for authentication.
Instructions
Create a connection session to connect a new LinkedIn account. Returns a sessionId and connectionLink that must be opened in a browser.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/tools/admin-connect-account.ts:1-34 (handler)Main tool implementation: AdminConnectAccountTool class with execute() method that calls admin.accounts.createConnectionSession(). The execute method takes a LinkedApiAdmin instance (no user params) and returns a connection session result.
import { LinkedApiAdmin, TCreateConnectionSessionResult } from '@linkedapi/node'; import { Tool } from '@modelcontextprotocol/sdk/types.js'; import z from 'zod'; import { AdminTool } from '../utils/admin-tool.js'; export class AdminConnectAccountTool extends AdminTool< Record<string, never>, TCreateConnectionSessionResult > { public readonly name = 'admin_connect_account'; protected readonly schema = z.object({}); public override async execute({ admin, }: { admin: LinkedApiAdmin; args: Record<string, never>; }): Promise<TCreateConnectionSessionResult> { return await admin.accounts.createConnectionSession(); } public override getTool(): Tool { return { name: this.name, description: 'Create a connection session to connect a new LinkedIn account. Returns a sessionId and connectionLink that must be opened in a browser.', inputSchema: { type: 'object', properties: {}, }, }; } } - Input schema: empty Zod object (z.object({})) indicating no parameters are required for this tool.
protected readonly schema = z.object({}); - src/linked-api-tools.ts:80-91 (registration)Tool registration: AdminConnectAccountTool is instantiated (line 85) in the adminTools array of LinkedApiTools class (lines 80-91).
this.adminTools = [ new AdminGetSubscriptionStatusTool(), new AdminGetSeatsTool(), new AdminSetSeatsTool(), new AdminGetAccountsTool(), new AdminConnectAccountTool(), new AdminDisconnectAccountTool(), new AdminRegenerateTokenTool(), new AdminGetLimitsUsageTool(), new AdminSetLimitsTool(), new AdminResetLimitsTool(), ]; - src/linked-api-tools.ts:98-101 (registration)Lookup mechanism: adminToolByName() method (line 98-100) enables resolving tools by name, including 'admin_connect_account'.
public adminToolByName(name: string): AdminTool<unknown, unknown> | undefined { return this.adminTools.find((tool) => tool.name === name); } } - src/utils/admin-tool.ts:1-22 (helper)Base class AdminTool that AdminConnectAccountTool extends. Defines the abstract contract with name, schema, validate(), execute(), and getTool() methods.
import { LinkedApiAdmin } from '@linkedapi/node'; import { Tool } from '@modelcontextprotocol/sdk/types.js'; import z from 'zod'; export abstract class AdminTool<TParams, TResult> { public abstract readonly name: string; protected abstract readonly schema: z.ZodSchema; public abstract getTool(): Tool; public validate(args: unknown): TParams { return this.schema.parse(args) as TParams; } public abstract execute({ admin, args, }: { admin: LinkedApiAdmin; args: TParams; }): Promise<TResult>; }