mcpField
L
Linewhiz

Linewhiz

Local
github.com/Kinzen-devAI & Agents0Updated 31w ago

About Linewhiz

Linewhiz is an MCP server for managing LINE Official Accounts through natural-language requests in AI clients. It provides account and follower information, messaging, delivery statistics, and rich-menu listing.

Key features

  1. 01Retrieve account information
  2. 02Check follower count and quota
  3. 03Send broadcasts and direct messages
  4. 04View message delivery statistics
  5. 05List rich menus

Use cases

  1. 01Check LINE account status and monthly quota
  2. 02Send announcements to all followers
  3. 03Message selected LINE users
  4. 04Review delivery results and rich menus

MCP support

Exposes LINE Official Account management tools to MCP clients such as Claude, ChatGPT, and Cursor. It calls the LINE Messaging API to perform requests.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"LineWhiz": {
"command": "uvx",
"args": [
"linewhiz"
],
"env": {
"LINE_CHANNEL_ACCESS_TOKEN": "<LINE_CHANNEL_ACCESS_TOKEN>",
"LINE_CHANNEL_SECRET": "<LINE_CHANNEL_SECRET>"
}
}
}
}
Run commanduvx linewhiz
Environment variables to set
LINE_CHANNEL_ACCESS_TOKENSecret
LINE_CHANNEL_SECRETSecret

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypilinewhiz

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

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

ToolTierDescription
get_account_infoFreeGet LINE OA info: name, plan, picture
get_friend_countFreeGet follower count on a specific date
get_message_quotaFreeGet remaining message quota this month
send_broadcastProSend message to ALL friends
send_push_messageProSend DM to a specific user
send_multicastProSend message to multiple users (max 500)
get_message_delivery_statsProGet delivery stats for a date
get_user_profileProGet user's display name, picture, etc.
list_rich_menusProList 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

TierPriceDaily CallsTools
Free$0/mo100Account info, friend count, quota
Pro$15/mo5,000+ Messaging, rich menus, insights
Business$45/moUnlimitedAll 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

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.