Skip to main content

Premium MCP server for AI-powered LINE Official Account management

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

linewhiz-0.1.0.tar.gz (5.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

linewhiz-0.1.0-py3-none-any.whl (20.1 kB view details)

Uploaded Python 3

File details

Details for the file linewhiz-0.1.0.tar.gz.

File metadata

  • Download URL: linewhiz-0.1.0.tar.gz
  • Upload date:
  • Size: 5.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.10 {"installer":{"name":"uv","version":"0.10.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for linewhiz-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7570f3eea2a008151d8c91dc9fa9dcdbc3af94e783fc6c20b73109c796742c29
MD5 4b46cb4c6f8e03158cabbe0c15171f7c
BLAKE2b-256 738f78fdd1bc54d38d0306cfd991eeee91d70c6b0b933a07bb26d104d38ca3ff

See more details on using hashes here.

File details

Details for the file linewhiz-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: linewhiz-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 20.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.10 {"installer":{"name":"uv","version":"0.10.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for linewhiz-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d71782e00bdbfa662c531825363ebe8252ea8d05d830e0ba403663cae6e3eef9
MD5 a256331414850615259310adf79266ff
BLAKE2b-256 7072104f2bc822f56a05c38f9379cde44a4c6384ccef8a6c0397870fb41e99f6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page