@zients/line-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DEFAULT_UID | No | Default recipient User ID (must start with U). When set, single-target messaging tools may omit to/chatId and send to this user by default. | |
| CHANNEL_ACCESS_TOKEN | Yes | LINE Messaging API channel access token |
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 |
|---|---|
| push_text_messageA | Send a text message to a LINE user, group, or room. Target ID prefixes: User="U", Group="C", Room="R". |
| push_image_messageA | Send an image to a LINE user, group, or room. |
| push_sticker_messageA | Send a LINE sticker. See LINE sticker list for valid packageId/stickerId. |
| push_flex_messageB | Send a Flex Message (rich layout) to a LINE user, group, or room. Pass the Flex container as a JSON string. |
| push_video_messageC | Send a video to a LINE user, group, or room. |
| push_audio_messageA | Send an audio message to a LINE user, group, or room. |
| push_location_messageA | Send a location message to a LINE user, group, or room. |
| show_loading_indicatorA | Display a loading animation in the LINE chat to indicate processing. |
| broadcast_text_messageA | Broadcast a text message to ALL followers of the LINE Official Account. Use with caution. |
| multicast_text_messageA | Send a text message to multiple LINE users at once (max 500 user IDs). |
| broadcast_flex_messageA | Broadcast a Flex Message (rich layout) to ALL followers of the LINE Official Account. Use with caution. |
| multicast_flex_messageA | Send a Flex Message (rich layout) to multiple LINE users at once (max 500 user IDs). |
| get_user_profileA | Get a LINE user's display name, picture URL, status message, and language. |
| get_group_summaryB | Get a LINE group's name and picture URL. The bot must be a member of the group. |
| get_group_member_countA | Get the number of members in a LINE group chat. The bot must be a member of the group. |
| get_group_member_idsB | Get the user IDs of all members in a LINE group chat. The bot must be a member of the group. |
| get_group_member_profileA | Get a member's profile in a LINE group chat. The bot must be a member of the group. |
| leave_groupA | Leave a LINE group chat. Bot will leave the group permanently. |
| get_room_member_idsA | Get the user IDs of all members in a LINE multi-person chat room. The bot must be a member of the room. |
| get_room_member_profileA | Get a member's profile in a LINE multi-person chat room. The bot must be a member of the room. |
| get_room_member_countA | Get the number of members in a LINE multi-person chat room. The bot must be a member of the room. |
| leave_roomA | Leave a LINE multi-person chat room. Bot will leave the room permanently. |
| create_rich_menuB | Create a new rich menu. Pass the rich menu object as a JSON string. |
| list_rich_menusA | List all rich menus for the LINE Official Account. |
| get_rich_menuA | Get a rich menu by its ID. |
| delete_rich_menuA | Delete a rich menu by its ID. |
| set_default_rich_menuA | Set a rich menu as the default for all users. |
| get_default_rich_menuA | Get the ID of the default rich menu. |
| cancel_default_rich_menuC | Cancel the default rich menu. |
| link_rich_menu_to_userC | Link a rich menu to a specific user. |
| unlink_rich_menu_from_userA | Unlink the rich menu from a specific user. |
| get_bot_infoA | Get information about the LINE Official Account bot, including name, ID, chat mode, and mark-as-read mode. |
| get_message_quotaA | Get the message quota for the LINE Official Account, including the quota type and limit. |
| get_message_quota_consumptionB | Get the number of messages sent this month for the LINE Official Account. |
| get_follower_idsA | Get a list of user IDs of users who have added the LINE Official Account as a friend. Supports pagination via the start token. |
| get_number_of_followersA | Get the number of followers for the LINE Official Account on a specified date. Returns follower count, targeted reaches, and blocks. |
| get_friend_demographicsA | Get demographic information about the LINE Official Account's friends, including gender, age, and area breakdowns. |
| get_sent_reply_countA | Get the number of reply messages sent on a specified date. |
| get_sent_push_countA | Get the number of push messages sent on a specified date. |
| get_sent_multicast_countB | Get the number of multicast messages sent on a specified date. |
| get_sent_broadcast_countA | Get the number of broadcast messages sent on a specified date. |
| get_message_deliveriesB | Get the number of message deliveries on a specified date, including breakdowns by API type. |
| get_message_eventA | Get statistics about how users interact with messages, including impressions, clicks, and other engagement metrics. |
| get_statistics_per_unitC | Get statistics per custom aggregation unit for messages sent within a specified date range. |
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 44 tools
Every tool has a clearly distinct purpose, with clear prefixes for messaging (push, broadcast, multicast), retrieval (get), and management (create, delete, set, etc.). The target audience (user, group, room) is specified in descriptions, eliminating confusion. Parallel tools for groups and rooms are distinct by entity type.
All tool names follow a consistent verb_noun pattern in snake_case, using predictable prefixes like push_, get_, create_, list_, delete_, set_, cancel_, link_, unlink_, leave_, and show_. This uniformity makes the toolset easy to navigate and understand.
With 44 tools, the server is on the heavier side, but the breadth of LINE Official Account functionality (messaging, rich menus, group/room management, analytics) justifies the count. Each tool serves a distinct purpose, and the structure is logical, so it does not feel excessive for the domain.
The toolset covers core messaging (push, broadcast, multicast), rich menu CRUD, group/room info, and analytics. However, there are notable gaps: reply messages are missing, and broadcast/multicast are only available for text and flex, not for image/video/audio/location/sticker. These are missing but workable around, so overall completeness is strong but not perfect.