line-bot-ops-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SUPABASE_URL | No | Supabase project URL. Required for the queue tools. `NEXT_PUBLIC_SUPABASE_URL` is accepted too, so a Next.js `.env.local` works as is. | |
| LINE_MCP_ALLOW_BROADCAST | No | Set to `true` to register the `line_broadcast` tool. | |
| LINE_CHANNEL_ACCESS_TOKEN | No | Long-lived channel access token. Required for the LINE tools. | |
| SUPABASE_SERVICE_ROLE_KEY | No | Supabase service role key. Server-side only. Never ship it to a browser. Required for the queue tools. |
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 |
|---|---|
| line_bot_infoA | Basic info about the LINE Official Account this bot runs on: display name, basic ID, chat mode. |
| line_message_quotaA | Monthly push/broadcast message quota and how much of it has been used this month. |
| line_followers_insightA | Follower statistics for one day: followers, targeted reaches, blocks. LINE computes these per day in UTC+9 and only after the day ends. |
| line_get_profileA | Display name, picture and status message of a user who has added the bot as a friend. |
| line_richmenu_listB | All Rich Menus on the channel, plus which one is the default for every user. |
| line_queue_healthA | Health of the webhook job queue (line_jobs): count per status, age of the oldest pending job, and jobs stuck in processing. Use this first when users say the bot is not replying. |
| line_failed_jobsB | Most recent failed jobs with their error, event type and message text. |
| line_find_usersB | Search linked users (line_users) by display name and/or role. |
| line_retry_jobA | Put a failed job back to pending so the next worker run picks it up. Reply tokens expire soon after the event, so a job that replies may fail again; push is the fallback. |
| line_push_textA | Send a text message to one user, group or room. Counts against the monthly message quota. |
| line_link_richmenuA | Show a specific Rich Menu to one user, e.g. after a role change. Pass richMenuId null to remove the per-user menu so the default shows again. |
| line_broadcastA | Send a text message to EVERY friend of the account. Uses one message of quota per recipient and cannot be undone. |
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 12 tools
Each tool targets a distinct operation: user lookup vs profile retrieval, push vs broadcast, queue health vs failed job listing vs retry, and rich menu listing vs linking. Overlaps are minimal and descriptions clearly differentiate scope.
All tools share a 'line_' prefix and snake_case, but the naming pattern mixes verb_noun (line_find_users, line_get_profile) with noun_noun or noun_list (line_bot_info, line_message_quota, line_richmenu_list). The inconsistency is still readable but not fully predictable.
12 tools is well-scoped for LINE bot operations, covering messaging, monitoring, user lookup, and rich menu management without redundancy. Each tool earns its place.
The surface covers core ops like sending messages, monitoring quota and queues, retrying jobs, and inspecting users. Minor gaps exist: rich menu creation/deletion, non-text message types, and group/room management are missing but likely out of scope.