loading…
Search for a command to run...
loading…
AI-powered MCP server for managing LINE Official Accounts. Send broadcasts, push messages, check analytics, manage rich menus — all through natural language via
AI-powered MCP server for managing LINE Official Accounts. Send broadcasts, push messages, check analytics, manage rich menus — all through natural language via Claude, ChatGPT, or Cursor. 10 tools included: * Account info, friend count, message quota * Broadcast, push message, multicast * Delivery stats, user profiles, follower list * Rich menu management Supports 95M+ LINE users across Jap
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.
| 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 |
# 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
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"
}
}
}
}
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 | 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 |
# Build and run
docker compose up --build
# Or build manually
docker build -t linewhiz .
docker run --env-file .env linewhiz
# 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
MIT
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"linewhiz": {
"command": "npx",
"args": []
}
}
}