A community-driven registry for the Claude Code ecosystem. Not affiliated with Anthropic.
Are you the author? Sign in to claim
Talk to your LINE Official Account through AI. 27 tools for broadcasts, audiences, rich menus, Flex messages, coupons &
Operate your LINE Official Account from any AI agent — through natural language.
Quick Start · What you can do · Configuration · Documentation
line-oa-mcp-ultimate is a Model Context Protocol server that lets AI agents drive your LINE Official Account through natural conversation — no code, no API knowledge required.
Manage one OA or many — a single account needs just one env var, while agencies can register every client OA in one config file and switch between them with a single command (see Configuration).
It works with Claude Cowork, Claude Code, Cursor, Codex, ChatGPT desktop, OpenClaw, Hermes, or any MCP-compatible host.
Disclaimer: This is an independent open-source project. It is not affiliated with or endorsed by LY Corporation / LINE Corp. "LINE" is a registered trademark of LY Corporation, used here in a descriptive sense.
LINE OA Manager works well — but it's a web UI you have to log into, click through, and operate manually. With this MCP server, the same operations become natural-language requests in your AI host of choice:
| Instead of clicking through LINE OA Manager... | Just say... |
|---|---|
| Open broadcast composer → pick audience → write text → preview → schedule | "Send a Mother's Day promo to my Bangkok-based 25-44 female audience" |
| Navigate Insight → Delivery → pick date range → screenshot | "Summarize last week's performance" |
| Open Audience → create from upload → upload CSV → wait | "Create an audience from this CSV: customers_last_month.csv" |
| Open Rich Menu → design tabs → upload images → set as default | "Build a Mother's Day rich menu and set it as default" |
| Open Coupon → check usage tab → cross-reference clicks | "How many people redeemed my Mother's Day coupon?" |
The MCP server takes care of LINE Messaging API calls, pre-flight validation, quota safety, quiet-hour warnings, and Thai-localized templates. You stay in your AI host and operate your OA the way you think about it — by intent.
Free-tier ready — no Premium upgrade required for the core feature set.
34 tools + 4 resources + 7 guided prompts, grouped by what you actually want to do:
One universal send_message covers every LINE transport (reply / push / multicast / narrowcast / broadcast). Three modes: send_now, draft (for scheduling via LINE OA Manager UI), and dry_run (validate + estimate cost without sending). Message shapes: text, Flex (template or raw JSON), sticker, image, video, native LINE coupon ({ coupon_id }), and a message_json passthrough for pre-built Rich/Card messages. Plus Thai-friendly sticker search.
Build a rich menu in one call (create + upload image + set as default), list, delete, and diagnose "why doesn't this user see my menu?". Full lifecycle too: link/unlink a menu to specific users or in bulk (auto-chunked at 500), set/clear the account default, manage rich-menu aliases (tab-switching menus), and swap the image on an existing menu.
Design Flex Messages from 8 Thai-localized templates or raw JSON, build Rich Messages (imagemap — tappable image regions + optional video), and Card Messages (template — buttons / confirm / carousel / image_carousel). Each returns ready-to-send JSON you hand to send_message.
Build retargeting audiences from a CSV or from prior broadcast engagement, list, delete — and update an existing audience (add users, rename).
Quick OA status snapshot (incl. chat mode), weekly markdown reports, per-broadcast engagement stats, pre-flight send-cost estimation, and narrowcast delivery progress ("did my blast finish?").
Create, list, get, and discontinue native LINE coupons with line_manage_coupon, then broadcast a created coupon straight into chats as a native coupon message via send_message ({ coupon_id }). Pull redemption analytics by combining coupon details with click-audience tracking.
Test your OA's webhook URL and surface LINE's signature verification result, plus set/get the webhook endpoint — quick to wire up or diagnose "why isn't my bot responding?".
User profile lookup, follower listing, multi-OA listing and switching, and run_on_many_oas for agencies that need to run a read-only tool across all client OAs in parallel.
Manage LIFF app lifecycle (create / update / delete / list) and verify your channel access token's validity, expiry, and scope.
Resources — auto-refreshing OA snapshot, Flex template catalog, sticker catalog with mood-keyword index, and a Thai festival calendar with marketing promo patterns.
Prompts — guided workflows for daily reports, campaign building, broadcast scheduling, rich menu diagnosis, coupon campaigns, LINE Notify migration, and webhook setup.
No database, no Playwright, no CDN, no public URL, no scheduler infrastructure required.
If you don't yet have a LINE Official Account, follow LINE's getting started guide.
Paste the following block into your host's MCP config file (see table below):
{
"mcpServers": {
"line": {
"command": "npx",
"args": ["-y", "line-oa-mcp-ultimate"],
"env": {
"LINE_CHANNEL_ACCESS_TOKEN": "YOUR_TOKEN_HERE"
}
}
}
}
Where to find the config file:
| Host | Where to add it |
|---|---|
| Claude Cowork | Settings → Developer → Local MCP servers → Edit Config |
| Claude Desktop (macOS) | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Claude Desktop (Windows) | %APPDATA%\Claude\claude_desktop_config.json |
| Claude Code | Run claude mcp add line or edit ~/.config/claude/mcp.json |
| Cursor / Codex / ChatGPT desktop | See your host's MCP setup docs — same JSON shape |
⚠️ Don't replace existing MCP servers. Add the
"line"entry alongside any existing entries insidemcpServers.
Quit completely (Cmd+Q on macOS) and reopen. On first start the host runs npx -y line-oa-mcp-ultimate, downloads the package from npm, and caches it for subsequent starts.
In a new chat, try:
Show my LINE OA status
or in Thai:
ดูสถานะ OA หน่อย
You should see a health card with friend count, monthly quota, webhook status, and the default rich menu. That's it — you're now operating your LINE OA from your AI agent.
That's the Step 2 snippet above. One environment variable, one OA. Suitable for individual creators, course makers, and most SMB owners.
If you manage several LINE OAs (your own plus client accounts), create a JSON config file at ~/.line-mcp/config.json — the server auto-discovers it, so there's nothing to clone or build:
mkdir -p ~/.line-mcp
nano ~/.line-mcp/config.json # or: code ~/.line-mcp/config.json
📘 Full walkthrough (two placement options + security notes) in
docs/multi-oa-setup-th.md. A ready-to-edit template lives inconfig.example.json.
Fill in one entry per OA:
{
"default_oa": "main",
"oas": {
"main": {
"channel_access_token": "TOKEN_1",
"display_name": "Main OA",
"region": "TH"
},
"client_a": {
"channel_access_token": "TOKEN_2",
"display_name": "Client A — Bangkok Cafe"
}
}
}
Then drop the LINE_CHANNEL_ACCESS_TOKEN env var from your MCP config — the server discovers ~/.line-mcp/config.json automatically.
Resolution order:
LINE_MCP_CONFIG env var (custom path)~/.line-mcp/config.jsonLINE_CHANNEL_ACCESS_TOKEN env var (single-OA fallback)Ask your AI host:
"Switch to client_a"
→ line_use_oa({ oa_id: "client_a" })
Or override per-call with the oa parameter on any tool.
For agencies running a shared remote instance, the server also supports Streamable HTTP. See docs/http-transport.md.
| Doc | What's in it |
|---|---|
| docs/quickstart-th.md | Thai-language quick start (5-minute walkthrough) |
| docs/multi-oa-setup-th.md | Multi-OA configuration guide (Thai) |
| docs/http-transport.md | Streamable HTTP transport for self-hosted / remote use |
| examples/ | Runnable examples |
This project follows Semantic Versioning. Current release: v1.1.0.
Latest changes (v1.1.0): +10 tools completing LINE's token-only API surface — rich-menu lifecycle (per-user link/unlink, set/clear default, aliases, image swap), Rich Message (imagemap) and Card Message (template) builders, audience update, webhook set/get, narrowcast progress, and token check. send_message gained image / video / pre-built message_json shapes; get_oa_status now reports chat mode. Four real-time/codegen tools that don't fit an AI-agent workflow (loading indicator, account-link token, LIFF/Login code generators) were removed. See RELEASE_NOTES_v1.1.0.md.
PRs are welcome. Please open an issue first to discuss substantial changes.
When contributing:
line_{action}_{resource} (snake_case, prefix line_).src/i18n/th.ts).Dr. Wasin Treesinthuros (พี่โต / Dr. Wasin / #จารโต)
This project is part of a broader mission to bring production-grade AI automation to every Thai practitioner — regardless of technical background.
GitHub: @wasintoh
MIT © Dr. Wasin Treesinthuros — Innovation Vantage / ForgeAI
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots
Secure MCP server for MySQL database interaction, queries, and schema management
English-first Korean equity intelligence MCP — DART filings, foreign-holder 5%-rule flows, activist filings, KRX news. F
0
via CLI