Skip to main content
Glama
wasintoh

line-oa-mcp-ultimate

by wasintoh

Link / unlink a LINE rich menu to user(s)

line_link_rich_menu
Idempotent

Assign specific rich menus to individual LINE users or remove per-user menus to revert to the account default.

Instructions

Attach (mode='link') or detach (mode='unlink') a rich menu for specific LINE users. A per-user menu overrides the account-wide default — this is how you show different menus to different segments (e.g. paying vs. free). Unlinking falls the user back to the account default. Pass user_id (single) or user_ids[] (bulk, auto-chunked at 500/batch). rich_menu_id required for link. To set the account-wide default instead, use line_set_default_rich_menu.

Returns { mode, linked_count?/unlinked_count?, rich_menu_id?, chunks? }.

Example: "ผูก rich menu R123 ให้สมาชิก 800 คน" → { mode:"link", rich_menu_id:"R123", user_ids:[...800 ids] }.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
oaNoOptional OA id; defaults to active OA.
modeYeslink: attach a rich menu to user(s); unlink: detach the per-user menu (falls back to default).
user_idNoSingle LINE user ID. Provide this OR user_ids (not both needed).
user_idsNoList of LINE user IDs. Uses the bulk endpoint, auto-chunked into batches of 500.
rich_menu_idNoRich menu ID. Required for mode='link'; ignored for unlink.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds context beyond annotations: explains auto-chunking of user_ids into batches of 500, the return format including linked_count/unlinked_count, and the fact that rich_menu_id is required for link only. This is consistent with the idempotentHint=true and destructiveHint=false annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, well-structured, and front-loaded. It starts with the core action, provides context, then parameter details, return shape, and an example, all in efficient language.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema, the description adequately describes the return object. It covers all parameters, the mode concept, the sibling tool distinction, and the bulk chunking, making it fully informative.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Even though schema coverage is 100%, the description adds crucial meaning: clarifies that user_id and user_ids are alternatives not both needed, explains the auto-chunking behavior, and specifies that rich_menu_id is required for link and ignored for unlink.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool attaches or detaches a rich menu for specific LINE users, using 'link' and 'unlink' modes. It distinguishes itself from the sibling tool line_set_default_rich_menu, which sets the account-wide default.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use this tool (per-user menu override) and when not (for account-wide default, use line_set_default_rich_menu). It also explains the effect of unlinking, providing clear guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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/wasintoh/line-oa-mcp-ultimate'

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