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.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Python LINE MCP Servershow me recent text messages from the LINE group chat"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Prerequisites
Python 3.8+
Required Python packages:
fastapi
pydantic
python-dotenv
mcp-server
line-bot-sdk
uvicorn
Installation
Project Structure
Directory 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:
API Implementation Details
Resource Listing
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
Reads 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
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:
These 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