LINE Official Account

官方

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

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

  • 向特定用户发送文本消息 — 让助手使用 push_text_message 推送一条纯文本消息。
  • 向所有关注者广播文本消息 — 通过 broadcast_text_message 向关注你账号的所有人发送文本公告。
  • 发送结构化 Flex 消息 — 使用 push_flex_message 向用户发送可自定义布局(气泡或轮播)的消息。
  • 查询用户的 LINE 个人资料 — 通过 get_profile 获取显示名称、头像和状态消息。
  • 检查每月消息配额 — 通过 get_message_quota 查看已使用的消息数量和限制。
  • 管理富菜单 — 使用 create_rich_menuget_rich_menu_listset_rich_menu_defaultdelete_rich_menu 创建、列出、设为默认或删除富菜单。

文档

日本語版 READMEはこちら

LINE Bot MCP Server

npmjs

Model Context Protocol (MCP) 服务器实现,集成 LINE Messaging API,将 AI Agent 连接到 LINE Official Account。

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

工具

  1. push_text_message

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

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

    • 通过 LINE 向所有关注你的 LINE Official Account 的用户广播纯文本消息。
    • 输入:
      • message.text (string):发送给用户的纯文本内容。
  4. broadcast_flex_message

    • 通过 LINE 向所有添加你的 LINE Official Account 的用户广播高度可定制的 Flex 消息。
    • 输入:
      • message.altText (string):当 Flex 消息无法显示时显示的替代文本。
      • message.contents (any):Flex 消息的内容。这是一个定义消息布局和组件的 JSON 对象。
      • message.contents.type (enum):容器类型。'bubble' 表示单个容器,'carousel' 表示多个可滑动的气泡。
  5. get_profile

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

    • 获取 LINE Official Account 的消息配额和消耗情况。显示每月消息限制和当前使用量。
    • 输入:
  7. get_rich_menu_list

    • 获取与你的 LINE Official Account 关联的富菜单列表。
    • 输入:
  8. delete_rich_menu

    • 从你的 LINE Official Account 删除一个富菜单。
    • 输入:
      • richMenuId (string):要删除的富菜单 ID。
  9. set_rich_menu_default

    • 将一个富菜单设置为默认富菜单。
    • 输入:
      • richMenuId (string):要设置为默认的富菜单 ID。
  10. cancel_rich_menu_default

    • 取消默认富菜单。
    • 输入:
  11. create_rich_menu

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

    • 获取已将 LINE Official Account 添加为好友的用户 ID 列表。这使你无需手动准备即可获取用于发送消息的用户 ID。
    • 输入:
      • start (string?):用于获取下一组用户 ID 的延续令牌。在先前响应的 next 属性中返回。
      • limit (number?):单次请求中要检索的最大用户 ID 数量。

安装(使用 npx)

要求:

  • Node.js v22 或更高版本

步骤 1:创建 LINE Official Account

此 MCP 服务器使用 LINE Official Account。如果你还没有,请按照此说明创建。

如果你已有 LINE Official Account,请按照此说明为你的 LINE Official Account 启用 Messaging API。

步骤 2:配置 AI Agent

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

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

  • 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 Official Account

此 MCP 服务器使用 LINE Official Account。如果你还没有,请按照此说明创建。

如果你已有 LINE Official Account,请按照此说明为你的 LINE Official Account 启用 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 Agent

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

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

  • 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 Server 工具交互并测试其功能。

版本控制

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

请参阅 http://semver.org/

贡献

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