Skip to main content
Glama

esa_list_comments

Retrieve comments for a specific esa post by providing the post number, with options to paginate results for efficient comment management.

Instructions

Get a list of comments for a post

Input Schema

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

Implementation Reference

  • Handler logic for the esa_list_comments tool. Validates arguments, calls esaClient.listComments, and returns the API response as JSON.
    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 schema definition including name, description, and input schema for esa_list_comments.
    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 helper method that performs the HTTP request to the esa API to list comments for a given post.
    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 the expected arguments for the esa_list_comments tool.
    interface ListCommentsArgs {
      post_number: number;
      page?: number;
      per_page?: number;
    }
  • index.ts:607-619 (registration)
    Tool registration in the ListToolsRequest handler by including listCommentsTool in the returned tools list.
        tools: [
          listPostsTool,
          getPostTool,
          createPostTool,
          updatePostTool,
          listCommentsTool,
          getCommentTool,
          createCommentTool,
          getMembersTool,
          getMemberTool,
        ],
      };
    });

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