postapop-demo
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LAB_HTTP_PORT | No | Port for the HTTP server. Defaults to 3333. | 3333 |
| LAB_DEMO_TOKEN | No | Bearer token required by the HTTP server. If missing, the HTTP server stops with an error. Not needed for the stdio transport. | |
| LAB_ALLOWED_ORIGINS | No | Allowed origins for the HTTP server's Origin check. Requests that include an Origin header must match one of these origins. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_scheduled_postsA | Lists posts in the workspace's social media calendar. Use it to answer questions such as "What is scheduled next week?" or "What did we publish this month?", and to look up channel ids before you call create_draft_post. status "upcoming" (the default) returns scheduled posts, "published" returns posts that went out, and "drafts" returns drafts that have no time yet. Without from and to, upcoming covers the next 14 days and published covers the last 14 days. A window can be at most 31 days long. Drafts ignore from and to. Times in the result are UTC. Convert them to the workspace time zone, which the result also gives, when you talk to the user. This tool only reads. It never changes, schedules or publishes a post. |
| create_draft_postA | Saves a new draft post in the workspace's calendar. Use it when the user asks you to write, draft or prepare a post and wants to keep it. This tool only saves a draft. It never schedules or publishes anything, and nobody outside the workspace sees the draft. Each call creates a new draft, so call it once per post. If the user wants changes, show the new text first and save it only when they agree. channel_ids are optional. Get them from the channels list in a list_scheduled_posts result. Bluesky allows at most 300 characters. If the text is too long for a channel, the tool refuses the draft and says how many characters to cut. |
| get_post_resultsA | Returns the numbers (impressions, likes, comments, shares) for posts published in the last 7, 30 or 90 days, one row per post and channel, newest post first. Use it when the user asks how posts performed or which post did best. A null number means the network has not reported it yet, or does not report it at all. Never treat null as zero: say the number is not reported. Networks count in different ways, so never add numbers across networks. Compare posts within one network. This tool only reads. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: creating drafts, reading performance results, and listing calendar posts. The descriptions explicitly distinguish read-only operations from the draft-creation action, so an agent can select correctly.
All three tools use consistent snake_case verb_noun naming: create_draft_post, get_post_results, list_scheduled_posts. The verbs are predictable and align with their actions.
Three tools is on the low side but appropriate for the narrow demonstrated workflow of drafting, listing, and reading results. Each tool earns its place without redundancy.
The surface supports creating drafts and reading calendar/results, but lacks editing, deleting, scheduling, and publishing operations. For a social media calendar, these are significant gaps that would block common user requests.