Skip to main content
Glama
node2flow-th

LINE Bot MCP Server

by node2flow-th
README.md
# LINE Bot MCP Server

[![smithery badge](https://smithery.ai/badge/node2flow/line-bot)](https://smithery.ai/server/node2flow/line-bot)
[![npm version](https://img.shields.io/npm/v/@node2flow/line-bot-mcp.svg)](https://www.npmjs.com/package/@node2flow/line-bot-mcp)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

MCP server for LINE Messaging API — send messages, manage groups, rich menus, webhooks, and more through 25 tools.

## Quick Start

### Claude Desktop / Cursor

```json
{
  "mcpServers": {
    "line-bot": {
      "command": "npx",
      "args": ["-y", "@node2flow/line-bot-mcp"],
      "env": {
        "LINE_CHANNEL_ACCESS_TOKEN": "your_channel_access_token"
      }
    }
  }
}
```

### HTTP Mode

```bash
LINE_CHANNEL_ACCESS_TOKEN=your_token npx @node2flow/line-bot-mcp --http
# MCP endpoint: http://localhost:3000/mcp
```

### Cloudflare Worker

```
POST https://line-bot-mcp.node2flow.net/mcp?LINE_CHANNEL_ACCESS_TOKEN=your_token
```

## Configuration

| Variable | Required | Description |
|----------|----------|-------------|
| `LINE_CHANNEL_ACCESS_TOKEN` | Yes | Channel Access Token from [LINE Developers Console](https://developers.line.biz/) |

### Getting a Channel Access Token

1. Go to [LINE Developers Console](https://developers.line.biz/)
2. Create a provider and a Messaging API channel
3. In channel settings, issue a **Channel Access Token** (long-lived)

## Tools (25)

### Message Tools (5)
| Tool | Description |
|------|-------------|
| `line_push_message` | Send a push message to a user, group, or room |
| `line_reply_message` | Reply to a webhook event using a reply token |
| `line_multicast_message` | Send to multiple users (max 500) |
| `line_broadcast_message` | Send to all followers |
| `line_validate_message` | Validate message format before sending |

### User & Bot Info (4)
| Tool | Description |
|------|-------------|
| `line_get_profile` | Get a user's profile (name, picture, status) |
| `line_get_follower_ids` | List follower user IDs (paginated) |
| `line_get_bot_info` | Get bot info (ID, name, chat mode) |
| `line_display_loading` | Show loading animation in chat |

### Group Chat (4)
| Tool | Description |
|------|-------------|
| `line_get_group_summary` | Get group name and picture |
| `line_get_group_members_count` | Get member count |
| `line_get_group_member_ids` | List member user IDs (paginated) |
| `line_get_group_member_profile` | Get a member's profile in group |

### Rich Menu (6)
| Tool | Description |
|------|-------------|
| `line_create_rich_menu` | Create a new rich menu |
| `line_get_rich_menus` | List all rich menus |
| `line_get_rich_menu` | Get rich menu details by ID |
| `line_delete_rich_menu` | Delete a rich menu |
| `line_set_default_rich_menu` | Set default rich menu for all users |
| `line_link_rich_menu_to_user` | Link rich menu to specific user |

### Quota & Insights (3)
| Tool | Description |
|------|-------------|
| `line_get_quota` | Get monthly message quota |
| `line_get_quota_consumption` | Get messages sent this month |
| `line_get_followers_count` | Get follower statistics by date |

### Webhook (3)
| Tool | Description |
|------|-------------|
| `line_set_webhook_url` | Set webhook endpoint URL |
| `line_get_webhook_info` | Get current webhook URL and status |
| `line_test_webhook` | Test webhook connectivity |

## Docker

```bash
docker compose up -d
# Endpoint: http://localhost:3023/mcp
```

## License

MIT License - see [LICENSE](LICENSE)

Copyright (c) 2026 [Node2Flow](https://node2flow.net)

## Links

- [npm Package](https://www.npmjs.com/package/@node2flow/line-bot-mcp)
- [LINE Messaging API](https://developers.line.biz/en/docs/messaging-api/)
- [MCP Protocol](https://modelcontextprotocol.io/)
- [Node2Flow](https://node2flow.net)