使用说明

项目简介

本项目 'LINE Bot MCP Server' 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在将 LINE Messaging API 的功能以 MCP Tools 的形式提供给 AI Agent (如 Claude、Cline 等) 使用。通过此 MCP 服务器,AI Agent 可以方便地通过标准化的 MCP 协议与 LINE Official Account 互动,实现消息推送、用户 profile 查询等功能。

主要功能点

  • 消息推送: 支持推送文本消息和 Flex Message (富媒体消息) 到指定 LINE 用户或广播给所有关注用户。
  • 消息回复: 支持回复用户的 LINE 消息,同样支持文本消息和 Flex Message。
  • 用户信息查询: 获取 LINE 用户的 profile 信息,包括昵称、头像 URL、状态消息等。
  • 多种消息类型: 支持发送纯文本消息和高度自定义的 Flex Message,满足不同的消息展示需求。
  • 灵活的用户指定: 部分工具允许指定 'user_id',也支持使用默认用户 ID,方便测试和配置。

安装步骤

  1. 安装 Node.js: 确保已安装 Node.js v20 或更高版本。
  2. 克隆仓库: 使用 'git clone https://github.com/BigWattanachai/line-bot-mcp-sse.git' 克隆仓库到本地。
  3. 安装依赖: 进入仓库目录 'cd line-bot-mcp-sse',运行 'npm install' 安装项目依赖。
  4. 构建项目: 运行 'npm run build' 构建项目。

服务器配置

MCP 客户端需要配置 MCP 服务器的启动命令和参数才能连接。以下是针对不同运行方式的配置示例,请根据你的实际情况选择配置:

使用 Node.js 运行

{
  "mcpServers": {
    "line-bot": {
      "command": "node",
      "args": [
        "PATH/TO/line-bot-mcp-sse/dist/index.js"
      ],
      "env": {
        "CHANNEL_ACCESS_TOKEN" : "YOUR_CHANNEL_ACCESS_TOKEN",  // 替换为你的 LINE Channel Access Token
        "DESTINATION_USER_ID" : "YOUR_USER_ID"                 // 可选,替换为默认接收消息的用户 ID
      }
    }
  }
}

参数说明:

  • 'command': 启动服务器的命令,这里使用 'node'。
  • 'args': 命令参数,指向编译后的 'index.js' 文件路径,请将 'PATH/TO/line-bot-mcp-sse' 替换为你的实际仓库路径
  • 'env': 环境变量配置:
    • 'CHANNEL_ACCESS_TOKEN': 必填,你的 LINE Channel Access Token,用于验证 API 请求。请参考 LINE 官方文档 获取。
    • 'DESTINATION_USER_ID': 可选,默认接收消息的用户 ID。如果不配置,则需要在调用工具时显式提供 'user_id' 参数。请参考 LINE 官方文档 获取。

使用 Docker 运行

前提: 需要先构建 Docker 镜像。

构建 Docker 镜像命令:

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

MCP 客户端配置:

{
  "mcpServers": {
    "line-bot": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "CHANNEL_ACCESS_TOKEN",
        "-e",
        "DESTINATION_USER_ID",
        "line/line-bot-mcp-sse"
      ],
      "env": {
        "CHANNEL_ACCESS_TOKEN" : "YOUR_CHANNEL_ACCESS_TOKEN",  // 替换为你的 LINE Channel Access Token
        "DESTINATION_USER_ID" : "YOUR_USER_ID"                 // 可选,替换为默认接收消息的用户 ID
      }
    }
  }
}

参数说明:

  • 'command': 启动服务器的命令,这里使用 'docker'。
  • 'args': Docker 运行参数,包括:
    • 'run': 运行容器
    • '-i': 保持 STDIN 开放
    • '--rm': 容器退出后自动删除
    • '-e CHANNEL_ACCESS_TOKEN': 设置环境变量 'CHANNEL_ACCESS_TOKEN'
    • '-e DESTINATION_USER_ID': 设置环境变量 'DESTINATION_USER_ID'
    • 'line/line-bot-mcp-sse': Docker 镜像名称,与构建镜像时 '-t' 参数一致。
  • 'env': 环境变量配置,与 Node.js 运行方式相同,用于在 MCP 客户端配置环境变量,传递给 Docker 容器。

基本使用方法

  1. 启动 MCP 服务器: 根据选择的运行方式 (Node.js 或 Docker) 启动 'LINE Bot MCP Server'。
  2. 配置 MCP 客户端: 在你的 MCP 客户端 (如 Claude、Cline) 中,配置 'mcpServers',填入上述相应的 JSON 配置信息。
  3. 调用 Tools: 在 MCP 客户端中,你可以通过工具名称 (例如 'push_text_message', 'get_profile' 等) 调用 MCP 服务器提供的功能。根据工具的输入参数要求,提供相应的参数值。

例如,在 Claude 中调用 'push_text_message' 工具发送文本消息:

{
  "tool_code": "push_text_message",
  "tool_input": {
    "user_id": "YOUR_LINE_USER_ID", // 替换为实际的 LINE 用户 ID,如果配置了 DESTINATION_USER_ID 可省略
    "message": {
      "text": "你好!这是一条来自 AI Agent 的消息。"
    }
  }
}

请参考仓库 README.md 和 'src/index.ts' 代码了解更详细的工具参数和使用方法。

信息

分类

通信与社交