LINE Official Account

官方

集成LINE Messaging API,将AI Agent连接到LINE Official Account。

你可以用 LINE Official Account MCP 做什么?

  • 发送文本消息 — 通过 push_text_message 向特定用户推送纯文本消息,或使用 broadcast_text_message 向所有关注者广播。
  • 发送富媒体灵活消息 — 向单个用户发送高度可定制的气泡或轮播消息,或使用 push_flex_message 或 broadcast_flex_message 进行广播。
  • 管理富菜单 — 使用 create_rich_menu、get_rich_menu_list 及相关工具,创建、列出、设为默认、取消默认或删除富菜单,支持 postback、URI 和相机等操作。
  • 获取用户和群组信息 — 使用 get_profile 获取用户个人资料详情(姓名、头像、状态消息),或通过 get_group_summary 获取群聊摘要,包括 ID 和图标。
  • 监控消息配额 — 使用 get_message_quota 检查您的 LINE 官方账号的每月消息限制和当前使用量。
  • 获取关注者 ID — 使用 get_follower_ids 获取将您的账号添加为好友的用户 ID 分页列表,可附带可选的继续令牌和数量限制。

文档

日本語版 READMEはこちら

LINE Bot MCP 服务器

npmjs

Model Context Protocol (MCP) 服务器实现,集成了 LINE Messaging API,将 AI 代理连接到 LINE 官方账号。

[!NOTE] 本仓库作为预览版本提供。虽然我们提供它用于实验目的,但请注意它可能不包含完整的功能或全面的支持。

工具

  1. push_text_message

    • 通过 LINE 向用户推送简单的文本消息。
    • 输入:
      • userId (字符串?): 接收消息的用户 ID。默认为 DESTINATION_USER_ID。必须设置 userId 或 DESTINATION_USER_ID 之一。
      • message.text (字符串): 要发送给用户的纯文本内容。
  2. push_flex_message

    • 通过 LINE 向用户推送高度可定制的 Flex 消息。
    • 输入:
      • userId (字符串?): 接收消息的用户 ID。默认为 DESTINATION_USER_ID。必须设置 userId 或 DESTINATION_USER_ID 之一。
      • message.altText (字符串): 当 Flex 消息无法显示时显示的替代文本。
      • message.contents (任意): Flex 消息的内容。这是一个定义消息布局和组件的 JSON 对象。
      • message.contents.type (枚举): 容器的类型。'bubble' 用于单个容器,'carousel' 用于多个可滑动的气泡。
  3. broadcast_text_message

    • 通过 LINE 向所有关注您 LINE 官方账号的用户广播简单的文本消息。
    • 输入:
      • message.text (字符串): 要发送给用户的纯文本内容。
  4. broadcast_flex_message

    • 通过 LINE 向所有添加您 LINE 官方账号的用户广播高度可定制的 Flex 消息。
    • 输入:
      • message.altText (字符串): 当 Flex 消息无法显示时显示的替代文本。
      • message.contents (任意): Flex 消息的内容。这是一个定义消息布局和组件的 JSON 对象。
      • message.contents.type (枚举): 容器的类型。'bubble' 用于单个容器,'carousel' 用于多个可滑动的气泡。
  5. get_profile

    • 获取 LINE 用户的详细资料信息,包括显示名称、个人资料图片 URL、状态消息和语言。
    • 输入:
      • userId (字符串?): 要获取其资料的用户 ID。默认为 DESTINATION_USER_ID。
  6. get_message_quota

    • 获取 LINE 官方账号的消息配额和使用量。这显示每月消息限制和当前使用情况。
    • 输入:
      • 无
  7. get_rich_menu_list

    • 获取与您的 LINE 官方账号关联的 Rich Menu 列表。
    • 输入:
      • 无
  8. delete_rich_menu

    • 从您的 LINE 官方账号中删除一个 Rich Menu。
    • 输入:
      • richMenuId (字符串): 要删除的 Rich Menu 的 ID。
  9. set_rich_menu_default

    • 将某个 Rich Menu 设置为默认 Rich Menu。
    • 输入:
      • richMenuId (字符串): 要设置为默认的 Rich Menu 的 ID。
  10. cancel_rich_menu_default

    • 取消默认 Rich Menu。
    • 输入:
      • 无
  11. create_rich_menu

    • 根据给定的操作创建 Rich Menu。生成并上传图片。设置为默认。
    • 输入:
      • chatBarText (字符串): 显示在聊天栏中的文本,也用作 Rich Menu 名称。
      • actions (数组): Rich Menu 的操作。您可以指定最少 1 个到最多 6 个操作。每个操作可以是以下类型之一:
        • postback: 用于发送回传操作
        • message: 用于发送文本消息
        • uri: 用于打开 URL
        • datetimepicker: 用于打开日期/时间选择器
        • camera: 用于打开相机
        • cameraRoll: 用于打开相机胶卷
        • location: 用于发送当前位置
        • richmenuswitch: 用于切换到另一个 Rich Menu
        • clipboard: 用于将文本复制到剪贴板
  12. get_follower_ids

    • 获取已将 LINE 官方账号添加为好友的用户 ID 列表。这允许您获取用户 ID 以发送消息,而无需手动准备。
    • 输入:
      • start (字符串?): 用于获取下一组用户 ID 的继续令牌。在先前响应的 next 属性中返回。
      • limit (数字?): 单次请求中要检索的最大用户 ID 数量。
  13. get_group_summary

    • 使用群组 ID 获取群聊摘要,包括群组 ID、群组名称和群组图标 URL。
    • 输入:
      • groupId (字符串): 目标群聊的群组 ID。

安装(使用 npx)

要求:

  • Node.js v22 或更高版本

步骤 1:创建 LINE 官方账号

此 MCP 服务器使用 LINE 官方账号。如果您没有,请按照此说明创建。

如果您已有 LINE 官方账号,请按照此说明为您的 LINE 官方账号启用 Messaging API。

步骤 2:配置 AI 代理

请为 Claude Desktop 或 Cline 等 AI 代理添加以下配置。

按如下方式设置环境变量或参数:

  • CHANNEL_ACCESS_TOKEN: (必需) Channel Access Token。您可以按照此说明确认。
  • DESTINATION_USER_ID: (可选) 接收者的默认用户 ID。如果工具的输入不包含 userId,则必须设置 DESTINATION_USER_ID。您可以按照此说明确认。
{
  "mcpServers": {
    "line-bot": {
      "command": "npx",
      "args": [
        "@line/line-bot-mcp-server"
      ],
      "env": {
        "NPM_CONFIG_IGNORE_SCRIPTS": "true",
        "CHANNEL_ACCESS_TOKEN" : "FILL_HERE",
        "DESTINATION_USER_ID" : "FILL_HERE"
      }
    }
  }
}

安装(使用 Docker)

步骤 1:创建 LINE 官方账号

此 MCP 服务器使用 LINE 官方账号。如果您没有,请按照此说明创建。

如果您已有 LINE 官方账号,请按照此说明为您的 LINE 官方账号启用 Messaging API。

步骤 2:构建 line-bot-mcp-server 镜像

克隆此仓库:

git clone git@github.com:line/line-bot-mcp-server.git

构建 Docker 镜像:

docker build -t line/line-bot-mcp-server .

步骤 3:配置 AI 代理

请为 Claude Desktop 或 Cline 等 AI 代理添加以下配置。

按如下方式设置环境变量或参数:

  • mcpServers.args: (必需) line-bot-mcp-server 的路径。
  • CHANNEL_ACCESS_TOKEN: (必需) Channel Access Token。您可以按照此说明确认。
  • DESTINATION_USER_ID: (可选) 接收者的默认用户 ID。如果工具的输入不包含 userId,则必须设置 DESTINATION_USER_ID。 您可以按照此说明确认。
{
  "mcpServers": {
    "line-bot": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "CHANNEL_ACCESS_TOKEN",
        "-e",
        "DESTINATION_USER_ID",
        "line/line-bot-mcp-server"
      ],
      "env": {
        "CHANNEL_ACCESS_TOKEN" : "FILL_HERE",
        "DESTINATION_USER_ID" : "FILL_HERE"
      }
    }
  }
}

使用 Inspector 进行本地开发

您可以使用 MCP Inspector 在本地测试和调试服务器。

前提条件

  1. 克隆仓库:
git clone git@github.com:line/line-bot-mcp-server.git
cd line-bot-mcp-server
  1. 安装依赖:
npm install
  1. 构建项目:
npm run build

运行 Inspector

构建项目后,您可以启动 MCP Inspector:

npx @modelcontextprotocol/inspector node dist/index.js \
  -e CHANNEL_ACCESS_TOKEN="YOUR_CHANNEL_ACCESS_TOKEN" \
  -e DESTINATION_USER_ID="YOUR_DESTINATION_USER_ID"

这将启动 MCP Inspector 界面,您可以在其中与 LINE Bot MCP 服务器工具进行交互并测试其功能。

版本控制

本项目遵循语义化版本控制

参见 http://semver.org/

贡献

请在做出贡献之前查看 CONTRIBUTING。