Skip to main content
Glama

get_post

Retrieve a specific post from a Band group by providing the band identifier and post identifier. This tool accesses Band API data to fetch individual posts for viewing or processing.

Instructions

Get a single post from BAND.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
band_keyYesband identifier
post_keyYespost identifier

Implementation Reference

  • The core handler function for the 'get_post' tool. It takes band_key and post_key, fetches the post data from the BAND API using bandApiClient, and returns the result as a JSON-formatted text content block.
    export async function handleToolCall(band_key: string, post_key: string) {
        const postData = await bandApiClient.get<PostResponse>(
            '/v2/band/post', 
            { band_key, post_key }
        );
        return {
            content: [{
                type: "text",
                text: JSON.stringify(postData, null, 2)
            }]
        };
    }
  • The ToolDefinition export defining the 'get_post' tool's name, description, input schema (band_key and post_key required), and comprehensive output schema matching the BAND API response structure.
    export const ToolDefinition : Tool = {
        name: "get_post",
        description: "Get a single post from BAND.",
        inputSchema: {
            type: "object",
            properties: {
                band_key: {
                    type: "string",
                    title: "Band Key",
                    description: "band identifier"
                },
                post_key: {
                    type: "string",
                    title: "Post Key",
                    description: "post identifier"
                }
            },
            required: ["band_key", "post_key"]
        },
        outputSchema: {
            type: "object",
            properties: {
                result_code: {
                    type: "number",
                    description: "Result code"
                },
                result_data: {
                    type: "object",
                    description: "Result data",
                    properties: {
                        content: {
                            type: "string",
                            description: "post content"
                        },
                        post_key: {
                            type: "string",
                            description: "post identifier"
                        },
                        created_at: {
                            type: "number",
                            description: "created time"
                        },
                        photos: {
                            type: "array",
                            description: "post photos",
                            items: {
                                type: "object",
                                properties: {
                                    width: {
                                        type: "number",
                                        description: "photo width"
                                    },
                                    height: {
                                        type: "number",
                                        description: "photo height"
                                    },
                                    photo_key: {
                                        type: "string",
                                        description: "photo identifier"
                                    },
                                    photo_album_key: {
                                        type: ["string", "null"],
                                        description: "photo album identifier"
                                    },
                                    author: {
                                        type: "object",
                                        description: "photo author",
                                        properties: {
                                            name: {
                                                type: "string",
                                                description: "author name"
                                            },
                                            description: {
                                                type: "string",
                                                description: "author description"
                                            },
                                            profile_image_url: {
                                                type: "string",
                                                description: "author profile image url"
                                            }
                                        }
                                    },
                                    url: {
                                        type: "string",
                                        description: "photo url"
                                    },
                                    comment_count: {
                                        type: "number",
                                        description: "photo comment count"
                                    },
                                    emotion_count: {
                                        type: "number",
                                        description: "photo emotion count"
                                    },
                                    created_at: {
                                        type: "number",
                                        description: "photo created time"
                                    },
                                    is_video_thumbnail: {
                                        type: "boolean",
                                        description: "is video thumbnail"
                                    }
                                }
                            }
                        },
                        comment_count: {
                            type: "number",
                            description: "post comment count"
                        },
                        author: {
                            type: "object",
                            description: "post author",
                            properties: {
                                name: {
                                    type: "string",
                                    description: "author name"
                                },
                                description: {
                                    type: "string",
                                    description: "author description"
                                },
                                profile_image_url: {
                                    type: "string",
                                    description: "author profile image url"
                                }
                            }
                        }
                    }
                }
            },
            required: ["result_code", "result_data"]
        }
    };
  • src/tools.ts:15-28 (registration)
    Registration of the 'get_post' tool (as post.ToolDefinition) in the central bandTools array exported for MCP tool listing.
    export const bandTools: Tool[] = [
      profile.ToolDefinition,
      bands.ToolDefinition,
      posts.ToolDefinition,
      post.ToolDefinition,
      comments.ToolDefinition,
      permissions.ToolDefinition,
      albums.ToolDefinition,
      photos.ToolDefinition,
      writeComment.ToolDefinition,
      writePost.ToolDefinition,
      removePost.ToolDefinition,
      removeComment.ToolDefinition,
    ];
  • src/tools.ts:46-47 (registration)
    Routing logic in the main handleToolCall function that dispatches 'get_post' calls to the specific post.handleToolCall with parsed arguments.
    case "get_post":
      return post.handleToolCall(a.band_key as string, a.post_key as string);
  • Index file re-exporting ToolDefinition and handleToolCall from tool.ts for convenient import in src/tools.ts.
    import {ToolDefinition, handleToolCall} from "./tool.js";
    
    const post = {ToolDefinition, handleToolCall}
    
    export default post;

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/kanghouchao/band-mcp-server'

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