LINE Official Account MCP Server

官方

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

文档

日本語版 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 [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/

贡献

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