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.
asyncio
python-dotenv
git 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>/data
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"
}
}
}
}
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" } } } }
Explore 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 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 chaindead
Manages Telegram dialogs, messages, drafts, and read statuses via the Model Context Protocol, enabling AI assistants to query and interact with Telegram accounts.
by carterlasalle
Securely interfaces with the macOS Messages database via MCP, enabling LLMs to query, analyze, filter, and send iMessage or SMS communications with built‑in phone number validation, attachment handling, and group chat support.