Generate-Session
Create a session token from a request token to authenticate automated trading operations on the Zerodha platform.
Instructions
Generate a new session token using request token
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| requestToken | Yes |
Implementation Reference
- index.js:50-64 (registration)Registration of the 'Generate-Session' MCP tool, including name, description, input schema {requestToken: z.string()}, and inline handler function.server.tool( "Generate-Session", "Generate a new session token using request token", { requestToken: z.string() }, async ({ requestToken }) => { try { const response = await tokenManager.generateSession(requestToken); return { content: [{ type: "text", text: "Session generated successfully" }], }; } catch (error) { return { content: [{ type: "text", text: `Error: ${error.message}` }] }; } } );
- index.js:54-63 (handler)Inline handler for the Generate-Session tool that invokes tokenManager.generateSession(requestToken) and formats the MCP response.async ({ requestToken }) => { try { const response = await tokenManager.generateSession(requestToken); return { content: [{ type: "text", text: "Session generated successfully" }], }; } catch (error) { return { content: [{ type: "text", text: `Error: ${error.message}` }] }; } }
- tokenManager.js:50-61 (helper)TokenManager.generateSession method: core logic using KiteConnect to generate session token from requestToken and apiSecret, saves token to file, returns response.async generateSession(requestToken) { try { const response = await this.kc.generateSession( requestToken, this.apiSecret ); await this.saveToken(response); return response; } catch (error) { throw new Error(`Error generating session: ${error.message}`); } }