line-oa-mcp-ultimate

mcp
Guvenlik Denetimi
Basarisiz
Health Uyari
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 7 GitHub stars
Code Basarisiz
  • network request — Outbound network request in examples/cloudflare-webhook-router.js
  • rm -rf — Recursive force deletion command in package.json
  • process.env — Environment variable access in src/config/multi-oa.ts
  • process.env — Environment variable access in src/index.ts
  • network request — Outbound network request in src/line/client.ts
Permissions Gecti
  • Permissions — No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

Talk to your LINE Official Account through AI. 27 tools for broadcasts, audiences, rich menus, Flex messages, coupons & insights — works with Claude Cowork, Claude Code, Cursor, and any MCP-compatible host. Zero infrastructure, free-tier ready.

README.md

LINE OA MCP Ultimate

Operate your LINE Official Account from any AI agent — through natural language.

npm version
License: MIT
Node.js
MCP

Quick Start · What you can do · Configuration · Documentation


What is this?

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.

It works with Claude Cowork, Claude Code, Cursor, Codex, ChatGPT desktop, 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.


Why use it?

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.


Who is it for?

  • 🪐 AI-first marketers who run a LINE OA from their AI workspace.
  • 🏪 SMB owners who already use LINE OA as their primary customer channel and want to automate routine work.
  • 🏢 Marketing agencies managing many client OAs from one dashboard.
  • 💻 Developers building LINE-integrated SaaS, automations, or AI bots.

Free-tier ready — no Premium upgrade required for the core feature set.


What you can do

27 tools + 4 resources + 7 guided prompts, grouped by what you actually want to do:

📨 Send messages (3 tools)

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). Includes typing indicator and Thai-friendly sticker search.

🎨 Rich Menus (4 tools)

Build a rich menu in one call — create + upload image + set as default. List existing menus, delete with cleanup, or diagnose "why doesn't this user see my menu?".

💎 Flex Messages (1 tool)

Design Flex Messages from 8 Thai-localized templates (receipt, voucher, shipping update, promo, thank you, ...) or raw JSON. Returns ready-to-send Flex JSON plus a LINE Flex Simulator preview URL.

🎯 Audiences (4 tools)

Build retargeting audiences from a CSV or from prior broadcast engagement (people who clicked your previous send). The audience your CRM never had.

📊 Insights (4 tools)

Quick OA status snapshot, weekly markdown reports, per-broadcast engagement stats, and pre-flight send cost estimation.

🎟 Coupons (2 tools)

Create, list, get, and discontinue coupons. Pull redemption analytics by combining coupon details with click-audience tracking.

🔌 Webhook (1 tool)

Test your OA's webhook URL and surface LINE's signature verification result — quick to diagnose "why isn't my bot responding?".

👤 Operations (5 tools)

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.

💻 Developer Pack (3 tools)

LIFF lifecycle management plus code generators for LIFF SDK init (5 frameworks) and a full LINE Login OAuth scaffold.

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.


Quick Start

Requirements

  • Node.js 20 or later
  • A LINE Official Account with Messaging API enabled
  • A Channel Access Token

No database, no Playwright, no CDN, no public URL, no scheduler infrastructure required.

Step 1 — Get your Channel Access Token

  1. Open the LINE Developers Console.
  2. Pick your provider → open (or create) a Messaging API channel.
  3. Open the Messaging API tab → scroll to Channel access token → click Issue.
  4. Copy the long-lived token. Treat it like a password.

If you don't yet have a LINE Official Account, follow LINE's getting started guide.

Step 2 — Add the MCP server to your AI host

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 inside mcpServers.

Step 3 — Restart your AI host

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.

Step 4 — Verify

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.


Configuration

Single-OA mode (default — for most users)

That's the Step 2 snippet above. One environment variable, one OA. Suitable for individual creators, course makers, and most SMB owners.

Multi-OA mode (for agencies)

If you manage several LINE OAs (your own plus client accounts), copy the config.example.json shipped with this repo to your home directory:

mkdir -p ~/.line-mcp
cp config.example.json ~/.line-mcp/config.json

Open ~/.line-mcp/config.json and 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:

  1. LINE_MCP_CONFIG env var (custom path)
  2. ~/.line-mcp/config.json
  3. LINE_CHANNEL_ACCESS_TOKEN env var (single-OA fallback)

Switching the active OA at runtime

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.

Advanced — HTTP transport (self-hosted)

For agencies running a shared remote instance, the server also supports Streamable HTTP. See docs/http-transport.md.


Documentation

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

Versioning

This project follows Semantic Versioning. Current release: v1.0.0.


Roadmap

  • v1.x — Outbound operations (current).
  • v2.x — Companion inbound package: webhook ingestion, chat 1:1 reply, auto-reply rules, greeting messages, chat tags.
  • v3.x — Hosted SaaS for agency multi-tenant use.

Contributing

PRs are welcome. Please open an issue first to discuss substantial changes.

When contributing:

  • Tool names: line_{action}_{resource} (snake_case, prefix line_).
  • Tool descriptions: English (for LLMs) — Thai examples encouraged.
  • User-facing strings: Thai-friendly (centralized in src/i18n/th.ts).
  • Pre-flight validation on every send tool.
  • Quota Guardian + Quiet Hours on every consumption tool.

Author

Dr. Wasin Treesinthuros (พี่โต / Dr. Wasin / #จารโต)

  • CEO at Innovation Vantage
  • Founder at ForgeAI — AI Transformation Studio
  • LINE Certified Coach 2026
  • AI Transformation educator, SaaS builder, university lecturer

This project is part of a broader mission to bring production-grade AI automation to every Thai practitioner — regardless of technical background.

GitHub: @wasintoh


License

MIT © Dr. Wasin Treesinthuros — Innovation Vantage / ForgeAI

Yorumlar (0)

Sonuc bulunamadi