Skip to main content
Glama

esa_list_comments

Retrieve a list of comments for a specific post by specifying the post number, page, and results per page, using the esa MCP Server.

Instructions

Get a list of comments for a post

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoPage number to retrieve
per_pageNoNumber of results per page (default: 20, max: 100)
post_numberYesPost number to get comments for

Implementation Reference

  • MCP CallToolRequest handler case for 'esa_list_comments': validates arguments, calls EsaClient.listComments, and returns JSON response.
    case "esa_list_comments": { const args = request.params.arguments as unknown as ListCommentsArgs; if (!args.post_number) { throw new Error("post_number is required"); } const response = await esaClient.listComments( args.post_number, args.page, args.per_page ); return { content: [{ type: "text", text: JSON.stringify(response) }], }; }
  • Tool definition for 'esa_list_comments' including name, description, and input schema for MCP ListTools response.
    const listCommentsTool: Tool = { name: "esa_list_comments", description: "Get a list of comments for a post", inputSchema: { type: "object", properties: { post_number: { type: "number", description: "Post number to get comments for", }, page: { type: "number", description: "Page number to retrieve", default: 1, }, per_page: { type: "number", description: "Number of results per page (default: 20, max: 100)", default: 20, }, }, required: ["post_number"], }, };
  • EsaClient method implementing the core logic: constructs ESA API URL for post comments list and fetches data.
    async listComments(post_number: number, page?: number, per_page?: number): Promise<any> { const params = new URLSearchParams(); if (page) params.append("page", page.toString()); if (per_page) params.append("per_page", per_page.toString()); const url = `${this.baseUrl}/posts/${post_number}/comments${params.toString() ? `?${params}` : ""}`; const response = await fetch(url, { headers: this.headers }); return response.json(); }
  • TypeScript interface defining input arguments for esa_list_comments tool.
    interface ListCommentsArgs { post_number: number; page?: number; per_page?: number; }
  • index.ts:604-619 (registration)
    Registers esa_list_comments (via listCommentsTool) by including it in the tools list returned for ListToolsRequest.
    server.setRequestHandler(ListToolsRequestSchema, async () => { console.error("ListToolsRequest received"); return { tools: [ listPostsTool, getPostTool, createPostTool, updatePostTool, listCommentsTool, getCommentTool, createCommentTool, getMembersTool, getMemberTool, ], }; });

Other Tools

Related Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kajirita2002/esa-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server