Skip to main content
Glama

LineWhiz

Premium MCP server that lets AI agents manage LINE Official Accounts.

Users type natural language in Claude / ChatGPT / Cursor → LineWhiz calls the LINE Messaging API.

Python 3.11+ MCP License: MIT

Features

Tool

Tier

Description

get_account_info

Free

Get LINE OA info: name, plan, picture

get_friend_count

Free

Get follower count on a specific date

get_message_quota

Free

Get remaining message quota this month

send_broadcast

Pro

Send message to ALL friends

send_push_message

Pro

Send DM to a specific user

send_multicast

Pro

Send message to multiple users (max 500)

get_message_delivery_stats

Pro

Get delivery stats for a date

get_user_profile

Pro

Get user's display name, picture, etc.

list_rich_menus

Pro

List all rich menus for this LINE OA

Quick Start

Prerequisites

Setup

# Clone and install
cd linewhiz && uv sync

# Configure environment
cp .env.example .env
# Edit .env → fill in LINE_CHANNEL_ACCESS_TOKEN and LINE_CHANNEL_SECRET

# Run the server
uv run src/server.py

# Test with MCP Inspector
mcp dev src/server.py

# Run tests
uv run pytest

MCP Client Configuration

Add to your MCP client config (e.g., Claude Desktop claude_desktop_config.json):

{
  "mcpServers": {
    "linewhiz": {
      "command": "uv",
      "args": ["run", "src/server.py"],
      "cwd": "/path/to/linewhiz",
      "env": {
        "LINE_CHANNEL_ACCESS_TOKEN": "your_token_here",
        "LINE_CHANNEL_SECRET": "your_secret_here",
        "LINEWHIZ_TIER": "pro"
      }
    }
  }
}

Project Structure

linewhiz/
├── CLAUDE.md              # AI coding spec (single source of truth)
├── pyproject.toml
├── Dockerfile
├── docker-compose.yml
├── .env.example
├── src/
│   ├── server.py          # MCP entry point + tool registration
│   ├── config.py          # Env config via pydantic Settings
│   ├── auth/
│   │   ├── api_keys.py    # Key validation (SHA-256)
│   │   └── tiers.py       # Free/Pro/Business gating + rate limits
│   ├── tools/
│   │   ├── account.py     # get_account_info, get_friend_count, get_message_quota
│   │   ├── messaging.py   # send_broadcast, send_push, send_multicast
│   │   ├── richmenu.py    # list/create/set/link rich menus
│   │   ├── insights.py    # get_message_stats, get_user_profile
│   │   ├── automation.py  # [future] auto-reply
│   │   └── reporting.py   # [future] weekly report
│   ├── services/
│   │   ├── line_api.py    # Async LINE API wrapper
│   │   └── flex_builder.py
│   ├── models/
│   │   ├── user.py        # API key + tier models
│   │   └── usage.py       # Usage log model
│   └── db/
│       └── database.py    # SQLite async init + migrations
├── tests/
│   ├── conftest.py
│   ├── test_account.py
│   ├── test_messaging.py
│   ├── test_richmenu.py
│   └── test_auth.py
└── docs/

Tier System

Tier

Price

Daily Calls

Tools

Free

$0/mo

100

Account info, friend count, quota

Pro

$15/mo

5,000

+ Messaging, rich menus, insights

Business

$45/mo

Unlimited

All tools

Docker

# Build and run
docker compose up --build

# Or build manually
docker build -t linewhiz .
docker run --env-file .env linewhiz

Development

# Install with dev dependencies
uv sync --all-extras

# Lint
uv run ruff check src/ tests/

# Type check
uv run mypy src/

# Test
uv run pytest -v

License

MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Kinzen-dev/LineWhiz'

If you have feedback or need assistance with the MCP directory API, please join our Discord server