by amornpan
Provides a Model Context Protocol server that exposes LINE Bot conversations through FastAPI endpoints, enabling language models to read and analyze chat messages.
Python MCP Line implements a Model Context Protocol server in Python to bridge LINE Bot messages with LLMs. It captures webhook events from LINE, stores messages in JSON, and offers standardized API endpoints for resource listing and reading.
pip install -r requirements.txt..env file with your LINE credentials and server settings.python src/line/server.py (or via the provided Dockerfile).line server entry.python-dotenv.data/messages.json for persistence.line://<type>/data) and reading with optional filters (date, user, content).Q: Which Python version is required? A: Python 3.8 or newer.
Q: How are messages stored?
A: In a JSON file (data/messages.json) by default, configurable via the MESSAGES_FILE env variable.
Q: Can I run the server in Docker?
A: Yes, a Dockerfile is provided; build with docker build -t python-mcp-line . and run exposing the configured port.
Q: What environment variables are needed?
A: LINE_CHANNEL_SECRET, LINE_ACCESS_TOKEN, SERVER_PORT, and MESSAGES_FILE.
Q: How do I add the server to Claude Desktop?
A: Add a mcpServers entry under line with the command and env variables as shown in the README.
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.
asynciopython-dotenvgit clone https://github.com/amornpan/py-mcp-line.git
cd py-mcp-line
pip install -r requirements.txt
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.txt
src/line/ - Main source code directory
__init__.py - Package initializationserver.py - Main server implementationdata/ - Data storage directory
messages.json - Stored LINE messagestests/ - 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 dependenciesCreate 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.json
@app.list_resources()
async def list_resources() -> list[Resource]
line://<message_type>/data@app.read_resource()
async def read_resource(uri: AnyUrl) -> str
line://<message_type>/dataAdd 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"
}
}
}
}
The server implements comprehensive error handling for:
All errors are logged and returned with appropriate error messages.
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
Amornpan Phornchaicharoen
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.0
These versions have been tested and verified to work together. The key components are:
fastapi and uvicorn for the API serverpydantic for data validationline-bot-sdk for LINE Bot integrationmcp for Model Context Protocol implementationpython-dotenv for environment configurationanyio for asynchronous I/O supportPlease log in to share your review and rating for this MCP.
{
"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"
}
}
}
}claude mcp add line python server.pyExplore related MCPs that share similar capabilities and solve comparable challenges
by lharries
Enables searching, reading, and sending personal WhatsApp messages and media through a Model Context Protocol (MCP) server, storing all data locally in SQLite and exposing controlled tools for LLMs like Claude.
by iFurySt
Provides authenticated access to XiaoHongShu (RedNote) notes, supporting keyword search, note retrieval by URL, and cookie persistence via a Model Context Protocol server.
by korotovsky
Provides a powerful Model Context Protocol interface for Slack workspaces, enabling message retrieval, search, and optional posting via Stdio or SSE transports without requiring bot permissions.
by line
Integrates the LINE Messaging API with a Model Context Protocol server, enabling AI agents to send text, flex, broadcast messages, retrieve user profiles, and manage rich menus on a LINE Official Account.
by ZubeidHendricks
Provides a standardized interface for interacting with YouTube content, enabling video retrieval, transcript access, channel and playlist management, and advanced analytics through the Model Context Protocol.
by InditexTech
Provides Microsoft Teams integration via the Model Context Protocol, enabling reading, creating, replying to messages and mentioning members.
by chigwell
Provides a full‑featured Telegram integration for MCP‑compatible clients, enabling programmatic access to chats, messages, contacts, profile management, and group administration.
by EnesCinr
Interact with Twitter to post tweets and search tweets programmatically via an MCP server.
by pipeboard-co
Provides a standardized interface for AI models to retrieve performance data, visualize creatives, and manage Meta advertising campaigns across Facebook, Instagram, and other Meta platforms.