Python LINE MCP Server
Provides access to LINE Bot messages through webhook events, enabling reading and analysis of LINE conversations with support for text, sticker, and image messages stored in JSON format.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Python LINE MCP Server
A Model Context Protocol server implementation in Python that provides access to LINE Bot messages. This server enables Language Models to read and analyze LINE conversations through a standardized interface.
Features
Core Functionality
Asynchronous operation using Python's
asyncioEnvironment-based configuration using
python-dotenvComprehensive logging system
LINE Bot webhook event handling
Message storage in JSON format
FastAPI integration for API endpoints
Pydantic models for data validation
Support for text, sticker, and image messages
Related MCP server: line-render-mcp
Prerequisites
Python 3.8+
Required Python packages:
fastapi
pydantic
python-dotenv
mcp-server
line-bot-sdk
uvicorn
Installation
git clone https://github.com/amornpan/py-mcp-line.git
cd py-mcp-line
pip install -r requirements.txtProject Structure
PY-MCP-LINE/
├── src/
│ └── line/
│ ├── __init__.py
│ └── server.py
├── data/
│ └── messages.json
├── tests/
│ ├── __init__.py
│ └── test_line.py
├── .env
├── .env.example
├── .gitignore
├── README.md
├── Dockerfile
└── requirements.txtDirectory Structure Explanation
src/line/- Main source code directory__init__.py- Package initializationserver.py- Main server implementation
data/- Data storage directorymessages.json- Stored LINE messages
tests/- Test files directory__init__.py- Test package initializationtest_line.py- LINE functionality tests
.env- Environment configuration file (not in git).env.example- Example environment configuration.gitignore- Git ignore rulesREADME.md- Project documentationDockerfile- Docker configurationrequirements.txt- Project dependencies
Configuration
Create a .env file in the project root:
LINE_CHANNEL_SECRET=your_channel_secret
LINE_ACCESS_TOKEN=your_access_token
SERVER_PORT=8000
MESSAGES_FILE=data/messages.jsonAPI Implementation Details
Resource Listing
@app.list_resources()
async def list_resources() -> list[Resource]Lists available message types from the LINE Bot
Returns resources with URIs in the format
line://<message_type>/dataIncludes resource descriptions and MIME types
Resource Reading
@app.read_resource()
async def read_resource(uri: AnyUrl) -> strReads messages of the specified type
Accepts URIs in the format
line://<message_type>/dataReturns messages in JSON format
Supports filtering by date, user, or content
Usage with Claude Desktop
Add to your Claude Desktop configuration:
On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"line": {
"command": "python",
"args": [
"server.py"
],
"env": {
"LINE_CHANNEL_SECRET": "your_channel_secret",
"LINE_ACCESS_TOKEN": "your_access_token",
"SERVER_PORT": "8000",
"MESSAGES_FILE": "data/messages.json"
}
}
}
}Error Handling
The server implements comprehensive error handling for:
Webhook validation failures
Message storage errors
Resource access errors
URI validation
LINE API response errors
All errors are logged and returned with appropriate error messages.
Security Features
Environment variable based configuration
LINE message signature validation
Proper error handling
Input validation through Pydantic
Contact Information
Amornpan Phornchaicharoen
Feel free to reach out to me if you have any questions about this project or would like to collaborate!
Made with ❤️ by Amornpan Phornchaicharoen
Author
Amornpan Phornchaicharoen
Requirements
Create a requirements.txt file with:
fastapi>=0.104.1
pydantic>=2.10.6
uvicorn>=0.34.0
python-dotenv>=1.0.1
line-bot-sdk>=3.5.0
anyio>=4.5.0
mcp==1.2.0These versions have been tested and verified to work together. The key components are:
fastapianduvicornfor the API serverpydanticfor data validationline-bot-sdkfor LINE Bot integrationmcpfor Model Context Protocol implementationpython-dotenvfor environment configurationanyiofor asynchronous I/O support
Acknowledgments
LINE Developers for the LINE Messaging API
Model Context Protocol community
Python FastAPI community
Contributors to the python-dotenv project
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP-Native LLM Orchestration Agent
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Persistent memory for AI agents to retain, retrieve, and recall conversation context through MCP.
Social media MCP server: your Instagram, TikTok, YouTube, LinkedIn and Threads history for your AI.
Related MCP Servers
AlicenseAqualityAmaintenanceMCP server that integrates the LINE Messaging API to enable AI agents to send messages and manage LINE Official Accounts.122,953 npm800Apache 2.0- FlicenseNot gradedqualityCmaintenanceEnables sending LINE text messages and Flex Messages to user or group IDs, checking message quota, and receiving group webhooks via a remote MCP endpoint for ChatGPT integration.-
- AlicenseNot gradedqualityAmaintenanceEnables operating one or many LINE Official Accounts through natural language in MCP-compatible AI hosts, covering broadcasts, Flex/Rich/Card messages, Thai-ready rich menus, coupons, audiences, insights, webhooks, LIFF, and LINE Shopping — including zero-setup image hosting for tappable images. It adds pre-flight validation, quota and quiet-hour guardrails, multi-OA switching and fan-out, and Thai-localized templates and error messages.339 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables AI clients to operate a personal LINE account through MCP, listing friends and groups, retrieving and searching message history, and sending text, mentions, and registered media. Also supports group creation, display-name changes, and reply drafting based on owner-approved conversation history.1MIT