line-bot-mcp-server

GitHub
575 102 简单 1 次阅读 昨天Apache-2.0数据工具
AI 解读 由 AI 自动生成,仅供参考

line-bot-mcp-server 是一款基于模型上下文协议(MCP)构建的开源服务,旨在将 AI 智能体与 LINE 官方账号无缝连接。它充当了 AI 大脑与 LINE 庞大用户群之间的桥梁,让开发者能够轻松赋予 AI 发送消息、管理菜单及获取用户信息的能力。

过去,要让 AI 在 LINE 上自动回复或主动推送消息,往往需要编写大量复杂的底层代码来处理 API 请求和身份验证。line-bot-mcp-server 通过标准化的 MCP 接口解决了这一痛点,将繁琐的通信逻辑封装为简单的工具调用。AI 智能体只需发出指令,即可直接执行发送文本、推送精美的 Flex 卡片消息、群发公告、查询用户资料或管理富菜单等操作,极大降低了开发门槛。

这款工具特别适合熟悉 Node.js 环境的开发者、希望快速原型验证的 AI 研究人员,以及需要在 LINE 生态中部署自动化客服或营销机器人的企业技术团队。其核心亮点在于提供了细粒度的功能控制,不仅支持基础的文本交互,还能处理高度定制化的 Flex 消息布局,并允许 AI 动态创建和管理富菜单,甚至监控消息配额。需要注意的是,目前该项目处于预览阶段,主要面向实验性用途,但其展现出的集成潜力已为构建下一代 LINE 智能应用提供了坚实的技术基础。

使用场景

一家连锁咖啡店希望利用 AI 助手自动处理 LINE 官方账号上的会员咨询,并根据用户画像推送个性化的新品优惠券。

没有 line-bot-mcp-server 时

  • 开发人员需编写大量胶水代码来调用 LINE Messaging API,每次新增功能(如发送图文卡片)都要重复处理鉴权和请求格式。
  • AI 模型无法直接获取用户的昵称或语言偏好,导致回复生硬,难以实现“千人千面”的个性化互动。
  • 营销人员想临时向所有粉丝广播通知时,必须手动操作后台或等待开发排期写脚本,无法通过自然语言指令即时触发。
  • 管理富菜单(Rich Menu)极其繁琐,修改菜单动作或切换默认菜单需要多次手动调用接口并上传资源,容易出错。

使用 line-bot-mcp-server 后

  • 开发者只需将 line-bot-mcp-server 接入 AI Agent,即可通过 push_flex_message 等工具函数,让 AI 直接用自然语言生成并发送复杂的图文消息。
  • AI 能调用 get_profile 实时读取用户资料,自动用用户熟悉的语言称呼其名,显著提升对话亲切感和转化率。
  • 运营人员直接在对话框输入“向所有粉丝发送周末半价通知”,AI 即可调用 broadcast_text_message 瞬间完成全员触达。
  • 通过 create_rich_menuset_rich_menu_default 等工具,AI 可根据促销活动动态生成并上线新菜单,无需人工干预底层接口。

line-bot-mcp-server 将复杂的 LINE API 封装为 AI 可理解的工具,让智能体真正具备在 LINE 生态中自主感知、决策与执行的能力。

运行环境要求

操作系统
  • 未说明
GPU

不需要 GPU

内存

未说明

依赖
notes该工具基于 Node.js 运行,无需 Python 环境。必须拥有 LINE 官方账号并启用 Messaging API。需要配置 CHANNEL_ACCESS_TOKEN(必需)和 DESTINATION_USER_ID(可选,若工具调用未指定 userId 则必需)。支持通过 npx 直接运行或使用 Docker 部署。
python不需要 Python
Node.js v20+
npx
@line/line-bot-mcp-server
line-bot-mcp-server hero image

快速开始

日文版 README はこちら

LINE Bot MCP 服务器

npmjs

这是一个集成 LINE 消息 API 的 Model Context Protocol (MCP) 服务器实现,用于将 AI 助手连接到 LINE 官方账号。

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

工具

  1. push_text_message

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

    • 通过 LINE 向用户发送一条高度可定制的 Flex 消息。
    • 输入:
      • userId(字符串?):接收消息的用户 ID。默认为 DESTINATION_USER_ID。必须设置 userIdDESTINATION_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 数量。

安装(使用 npx)

要求:

  • Node.js v20 或更高版本

第一步:创建 LINE 官方账号

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

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

第二步:配置 AI 助手

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

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

  • 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)

第一步:创建 LINE 官方账号

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

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

第二步:构建 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 Server工具交互并测试其功能。

版本控制

本项目遵循语义化版本控制规范。

详情请参阅:http://semver.org/

贡献

请在提交贡献前查看CONTRIBUTING

版本历史

v0.4.22025/11/14
v0.4.02025/11/14
v0.3.22025/08/26
v0.3.12025/08/05
v0.3.02025/06/13
v0.2.02025/05/08
v0.1.02025/04/30

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|1周前
Agent开发框架图像

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85.3k|★★☆☆☆|今天
图像数据工具视频

funNLP

funNLP 是一个专为中文自然语言处理(NLP)打造的超级资源库,被誉为"NLP 民工的乐园”。它并非单一的软件工具,而是一个汇集了海量开源项目、数据集、预训练模型和实用代码的综合性平台。 面对中文 NLP 领域资源分散、入门门槛高以及特定场景数据匮乏的痛点,funNLP 提供了“一站式”解决方案。这里不仅涵盖了分词、命名实体识别、情感分析、文本摘要等基础任务的标准工具,还独特地收录了丰富的垂直领域资源,如法律、医疗、金融行业的专用词库与数据集,甚至包含古诗词生成、歌词创作等趣味应用。其核心亮点在于极高的全面性与实用性,从基础的字典词典到前沿的 BERT、GPT-2 模型代码,再到高质量的标注数据和竞赛方案,应有尽有。 无论是刚刚踏入 NLP 领域的学生、需要快速验证想法的算法工程师,还是从事人工智能研究的学者,都能在这里找到急需的“武器弹药”。对于开发者而言,它能大幅减少寻找数据和复现模型的时间;对于研究者,它提供了丰富的基准测试资源和前沿技术参考。funNLP 以开放共享的精神,极大地降低了中文自然语言处理的开发与研究成本,是中文 AI 社区不可或缺的宝藏仓库。

79.9k|★☆☆☆☆|1周前
语言模型数据工具其他

cs-video-courses

cs-video-courses 是一个精心整理的计算机科学视频课程清单,旨在为自学者提供系统化的学习路径。它汇集了全球知名高校(如加州大学伯克利分校、新南威尔士大学等)的完整课程录像,涵盖从编程基础、数据结构与算法,到操作系统、分布式系统、数据库等核心领域,并深入延伸至人工智能、机器学习、量子计算及区块链等前沿方向。 面对网络上零散且质量参差不齐的教学资源,cs-video-courses 解决了学习者难以找到成体系、高难度大学级别课程的痛点。该项目严格筛选内容,仅收录真正的大学层级课程,排除了碎片化的简短教程或商业广告,确保用户能接触到严谨的学术内容。 这份清单特别适合希望夯实计算机基础的开发者、需要补充特定领域知识的研究人员,以及渴望像在校生一样系统学习计算机科学的自学者。其独特的技术亮点在于分类极其详尽,不仅包含传统的软件工程与网络安全,还细分了生成式 AI、大语言模型、计算生物学等新兴学科,并直接链接至官方视频播放列表,让用户能一站式获取高质量的教育资源,免费享受世界顶尖大学的课堂体验。

79.8k|★☆☆☆☆|1周前
其他图像数据工具

lobehub

LobeHub 是一个致力于工作与生活的智能体协作平台,旨在帮助用户发现、构建并与不断成长的 AI 智能体队友协同工作。它解决了当前 AI 应用中单点交互效率低、难以形成规模化协作网络的问题,将“智能体”确立为工作的基本单元,让人类与 AI 能够共同进化。 无论是开发者、研究人员还是普通用户,都能通过 LobeHub 轻松设计多智能体协作流程。平台支持一键安装 MCP 插件、访问丰富的智能体市场,并提供本地与云端数据库管理、多用户协作等高级功能。其独特的技术亮点包括对多种大模型服务商的兼容、本地大模型部署支持、视觉识别、语音对话(TTS/STT)、文生图以及思维链(Chain of Thought)等能力。此外,LobeHub 还具备分支对话、工件生成、文件上传与知识库集成等实用特性,并适配桌面端、移动端及 PWA 场景,支持自定义主题。 通过开源与自托管选项,LobeHub 为构建人机共演的未来协作网络提供了灵活、可扩展的基础设施。

75.1k|★★☆☆☆|5天前
语言模型数据工具Agent

scikit-learn

scikit-learn 是一个基于 Python 构建的开源机器学习库,依托于 SciPy、NumPy 等科学计算生态,旨在让机器学习变得简单高效。它提供了一套统一且简洁的接口,涵盖了从数据预处理、特征工程到模型训练、评估及选择的全流程工具,内置了包括线性回归、支持向量机、随机森林、聚类等在内的丰富经典算法。 对于希望快速验证想法或构建原型的数据科学家、研究人员以及 Python 开发者而言,scikit-learn 是不可或缺的基础设施。它有效解决了机器学习入门门槛高、算法实现复杂以及不同模型间调用方式不统一的痛点,让用户无需重复造轮子,只需几行代码即可调用成熟的算法解决分类、回归、聚类等实际问题。 其核心技术亮点在于高度一致的 API 设计风格,所有估算器(Estimator)均遵循相同的调用逻辑,极大地降低了学习成本并提升了代码的可读性与可维护性。此外,它还提供了强大的模型选择与评估工具,如交叉验证和网格搜索,帮助用户系统地优化模型性能。作为一个由全球志愿者共同维护的成熟项目,scikit-learn 以其稳定性、详尽的文档和活跃的社区支持,成为连接理论学习与工业级应用的最

65.9k|★☆☆☆☆|今天
开发框架其他数据工具