Python LINE MCP服务器
](https://github.com/amornpan/py-mcp-line)    
Python中的模型上下文协议服务器实现,提供对LINE Bot消息的访问。该服务器使语言模型能够通过标准化的界面读取和分析LINE对话。
特性
核心功能
- 使用Python的异步操作
asyncio - 基于环境的配置使用
python-dotenv - 综合测井系统
- LINE Bot webhook事件处理
- JSON格式的消息存储
- 针对API端点的FastAPI集成
- 用于数据验证的Pydantic模型
- 支持文字、贴纸和图像消息
先决条件
- Python 3.8+
- 所需的Python包:
- 快速 - 媒染剂 - python dotenv - mcp服务器 - 线路机器人sdk - 优维康
安装
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/-主源代码目录
- __init__.py -包初始化 - server.py -主服务器实现
data/-数据存储目录
- messages.json -存储的LINE消息
tests/-测试文件目录
- __init__.py -测试包初始化 - test_line.py -LINE功能测试
.env-环境配置文件(非git格式).env.example-环境配置示例.gitignore-Git忽略规则README.md-项目文件Dockerfile-Docker配置requirements.txt-项目依赖关系
配置
创建一个 .env 项目根目录中的文件:
LINE_CHANNEL_SECRET=your_channel_secret
LINE_ACCESS_TOKEN=your_access_token
SERVER_PORT=8000
MESSAGES_FILE=data/messages.jsonAPI实现详细信息
资源列表
@app.list_resources()
async def list_resources() -> list[Resource]- 列出LINE Bot中可用的消息类型
- 返回URI格式为的资源
line:///data - 包括资源描述和MIME类型
资源阅读
@app.read_resource()
async def read_resource(uri: AnyUrl) -> str- 读取指定类型的消息
- 接受以下格式的URI
line:///data - 以JSON格式返回消息
- 支持按日期、用户或内容进行筛选
使用Claude Desktop
添加到您的Claude Desktop配置中:
在MacOS上: ~/Library/Application Support/Claude/claude_desktop_config.json 在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"
}
}
}
}错误处理
服务器为以下对象实现了全面的错误处理:
- 网钩验证失败
- 消息存储错误
- 资源访问错误
- URI验证
- LINE API响应错误
所有错误都会被记录下来,并返回相应的错误消息。
安全功能
- 基于环境变量的配置
- LINE消息签名验证
- 正确的错误处理
- 通过Pydantic进行输入验证
联系方式
阿莫伦潘Phornchaicharoen
   ](https://github.com/amornpan)
如果您对这个项目有任何疑问或想合作,请随时与我联系!
______________________________________________________________________
*由以下材料制成❤️ 作者Amornpan Phornchaicharoen*
作者
阿莫伦潘Phornchaicharoen
需求
创建一个 requirements.txt 文件包含:
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这些版本已经过测试和验证,可以协同工作。关键组件包括:
fastapi和uvicorn用于API服务器pydantic用于数据验证line-bot-sdk用于LINE Bot集成mcp用于模型上下文协议实现python-dotenv用于环境配置anyio用于异步I/O支持
致谢
- LINE消息API的LINE开发人员
- 模型上下文协议社区
- Python快速API社区
- python dotenv项目的贡献者
