mcpField
L
LINE Bot MCP Server

LINE Bot MCP Server

本地服务
github.com/line通信协作7931 天前更新

关于 LINE Bot MCP Server

LINE Bot MCP Server 通过 LINE Messaging API 将 AI Agent 连接到 LINE 官方账号,可发送消息、管理图文菜单并查询用户信息。项目目前为预览版,适合实验性使用。

主要功能

  1. 01推送文本和 Flex 消息给指定用户
  2. 02向关注者群发文本和 Flex 消息
  3. 03查询用户资料和群组摘要
  4. 04查询消息配额与用量
  5. 05创建、设置和删除图文菜单
  6. 06获取关注者 ID 列表

适用场景

  1. 01由 AI Agent 向 LINE 用户推送通知
  2. 02向官方账号的所有关注者群发消息
  3. 03管理 LINE 官方账号的图文菜单

MCP 相关

该项目是 MCP 服务,向 MCP 客户端暴露 LINE 消息发送、用户与群组查询、图文菜单管理等工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"line-bot": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/inspector"
]
}
}
}
启动命令npx -y @modelcontextprotocol/inspector

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@modelcontextprotocol/inspector

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

点击此处查看日语版 README

LINE Bot MCP 服务

npmjs

Model Context Protocol(MCP) 服务实现,通过集成 LINE Messaging API,将 AI Agent 连接到 LINE 官方账号。

README 配图

说明

此仓库为预览版本。虽然我们提供此版本供实验用途,但请注意,它可能不包含完整功能或全面支持。

工具

  1. push_text_message
    • 通过 LINE 向用户推送一条简单的文本消息。
    • 输入:
      • userId (string?): 接收消息的用户 ID。默认为 DESTINATION_USER_ID。必须设置 userId 或 DESTINATION_USER_ID。
      • message.text (string): 要发送给用户的纯文本内容。
  2. push_flex_message
    • 通过 LINE 向用户推送一条高度可自定义的 flex 消息。
    • 输入:
      • userId (string?): 接收消息的用户 ID。默认为 DESTINATION_USER_ID。必须设置 userId 或 DESTINATION_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 关联的 rich menu 列表。
    • 输入:
      • 无
  8. delete_rich_menu
    • 从你的 LINE Official Account 删除一个 rich menu。
    • 输入:
      • richMenuId (string): 要删除的 rich menu 的 ID。
  9. set_rich_menu_default
    • 将一个 rich menu 设置为默认 rich menu。
    • 输入:
      • richMenuId (string): 要设为默认值的 rich menu 的 ID。
  10. cancel_rich_menu_default
    • 取消默认 rich menu。
    • 输入:
      • 无
  11. create_rich_menu
    • 根据给定的操作创建 rich menu。生成并上传图片。将其设为默认值。
    • 输入:
      • chatBarText (string): 聊天栏中显示的文本,也用作 rich menu 名称。
      • actions (array): rich menu 的操作。可指定至少 1 个、最多 6 个操作。每个操作可以是以下类型之一:
        • postback:发送 postback 操作
        • message:发送文本消息
        • uri:打开 URL
        • datetimepicker:打开日期/时间选择器
        • camera:打开相机
        • cameraRoll:打开相机胶卷
        • location:发送当前位置
        • richmenuswitch:切换到另一个 rich menu
        • clipboard:将文本复制到剪贴板
  12. get_follower_ids
    • 获取已将 LINE Official Account 添加为好友的用户 ID 列表。这样无需手动准备用户 ID,即可获取用于发送消息的用户 ID。
    • 输入:
      • start (string?):用于获取下一组用户 ID 的续接令牌。该令牌由先前响应的 next 属性返回。
      • limit (number?):单次请求最多获取的用户 ID 数量。
  13. get_group_summary
    • 使用群组 ID 获取群聊摘要,包括群组 ID、群组名称和群组图标 URL。
    • 输入:
      • groupId (string):目标群聊的群组 ID。

安装(使用 npx)

要求:

  • Node.js v22 或更高版本
步骤 1:创建 LINE Official Account

此 MCP 服务使用 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,请按照此说明为其启用 Messaging API。

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

克隆此仓库:

git clone [email protected]: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 [email protected]: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/

贡献

提交贡献前,请查看贡献指南。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。