# LINE Messaging MCP server

> Send LINE text and flex messages, manage rich menus and look up followers through a LINE Official Account.

- Listing: https://mcp.tc/i/line
- Connect: this is a local (stdio) server; install it on your machine (see Install). The listing link is a page, not an MCP endpoint.
- Type: local (stdio)
- Auth: API key
- Category: [Communication & Meetings](https://mcp.tc/c/communication)
- Vendor: LINE
- Repository: <https://github.com/line/line-bot-mcp-server>
- Package: npm `@line/line-bot-mcp-server`

## About

Connects an AI assistant to the LINE Messaging API for a LINE Official Account. It can push or broadcast text and flex messages, read user profiles, list followers, check the message quota, read group summaries, and create, list, delete or set default rich menus.

It runs locally over stdio with npx (Node.js v22 or later) or from a Docker image built from the repository. A channel access token is required in CHANNEL\_ACCESS\_TOKEN. DESTINATION\_USER\_ID is optional and sets a default recipient. The project is labeled a preview release.

## What it can do

- Push text or flex messages to a LINE user
- Broadcast text or flex messages to all followers
- Get a user's profile details
- List follower user IDs
- Check monthly message quota and usage
- Create, list, delete and set default rich menus
- Get group chat summaries

## Example prompts

- "Send a LINE message to the default user saying the deployment is done."
- "Broadcast a flex message announcing our weekend sale to all followers."
- "How much of our LINE monthly message quota have we used?"
- "Create a rich menu with three buttons and set it as default."

## Install

### Claude Code

1. Run this in a terminal, in your project folder:

```bash
claude mcp add --transport stdio line --env "CHANNEL_ACCESS_TOKEN=<YOUR_CHANNEL_ACCESS_TOKEN>" -- npx @line/line-bot-mcp-server
```

2. Start Claude Code and type `/mcp`. **line** should show as connected.

Add `--scope user` to make it available in every project. Replace the placeholders with your own values.

### Claude Desktop

1. Open **Settings → Developer → Edit Config**. It opens `claude_desktop_config.json`. Add:

`claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "line": {
      "command": "npx",
      "args": [
        "@line/line-bot-mcp-server"
      ],
      "env": {
        "CHANNEL_ACCESS_TOKEN": "<YOUR_CHANNEL_ACCESS_TOKEN>"
      }
    }
  }
}
```

2. Save the file and restart Claude Desktop. Replace the placeholders with your own values.

Needs Node.js on your computer. The file lives in `~/Library/Application Support/Claude/` on macOS and `%APPDATA%\Claude\` on Windows.

### Cursor

[Add to Cursor](<https://cursor.com/install-mcp?name=line&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyJAbGluZS9saW5lLWJvdC1tY3Atc2VydmVyIl0sImVudiI6eyJDSEFOTkVMX0FDQ0VTU19UT0tFTiI6IjxZT1VSX0NIQU5ORUxfQUNDRVNTX1RPS0VOPiJ9fQ%3D%3D>) (opens Cursor)

Or add it by hand to `~/.cursor/mcp.json` (all projects) or `.cursor/mcp.json` (this project):

`mcp.json`:

```json
{
  "mcpServers": {
    "line": {
      "command": "npx",
      "args": [
        "@line/line-bot-mcp-server"
      ],
      "env": {
        "CHANNEL_ACCESS_TOKEN": "<YOUR_CHANNEL_ACCESS_TOKEN>"
      }
    }
  }
}
```

Needs Node.js on your computer. Replace the placeholders with your own values.

### VS Code

Add it to `.vscode/mcp.json`. VS Code asks for the secret the first time and stores it securely:

`.vscode/mcp.json`:

```json
{
  "servers": {
    "line": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "@line/line-bot-mcp-server"
      ],
      "env": {
        "CHANNEL_ACCESS_TOKEN": "${input:channel-access-token}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "channel-access-token",
      "description": "CHANNEL_ACCESS_TOKEN",
      "password": true
    }
  ]
}
```

Needs Node.js on your computer.

### Devin Desktop

1. Add it to `~/.config/devin/mcp_config.json` (macOS and Linux) or `%APPDATA%\devin\mcp_config.json` (Windows):

`mcp_config.json`:

```json
{
  "mcpServers": {
    "line": {
      "command": "npx",
      "args": [
        "@line/line-bot-mcp-server"
      ],
      "env": {
        "CHANNEL_ACCESS_TOKEN": "<YOUR_CHANNEL_ACCESS_TOKEN>"
      }
    }
  }
}
```

2. Refresh the MCP server list in Cascade. Replace the placeholders with your own values.

Devin Desktop is the new name for Windsurf.

### Codex

```bash
codex mcp add line --env "CHANNEL_ACCESS_TOKEN=<YOUR_CHANNEL_ACCESS_TOKEN>" -- npx @line/line-bot-mcp-server
```

Or edit `~/.codex/config.toml` directly:

`config.toml`:

```toml
[mcp_servers.line]
command = "npx"
args = ["@line/line-bot-mcp-server"]
env = { CHANNEL_ACCESS_TOKEN = "<YOUR_CHANNEL_ACCESS_TOKEN>" }
```

Needs Node.js on your computer. Replace the placeholders with your own values.

### Gemini CLI

```bash
gemini mcp add -e "CHANNEL_ACCESS_TOKEN=<YOUR_CHANNEL_ACCESS_TOKEN>" line npx @line/line-bot-mcp-server
```

This adds it to the current project. Add `-s user` to use it everywhere.

### Any client

Most clients that start local servers accept this shape:

```json
{
  "mcpServers": {
    "line": {
      "command": "npx",
      "args": [
        "@line/line-bot-mcp-server"
      ],
      "env": {
        "CHANNEL_ACCESS_TOKEN": "<YOUR_CHANNEL_ACCESS_TOKEN>"
      }
    }
  }
}
```

Zed puts servers under `context_servers` in its settings, with the same `command`, `args` and `env` fields.

Needs Node.js on your computer. Replace the placeholders with your own values.

## Details

- Server version: 0.5.0
- Last checked: 2026-10-03
- Listed: 2026-10-03
- Updated: 2026-10-03

---
Source: https://mcp.tc/i/line (mcp.tc is an independent directory, not affiliated with this server's publisher). Corrections: https://mcp.tc/report
