这是一个使用Python实现的Model Context Protocol服务器,提供对LINE Bot消息的访问。此服务器使语言模型能够通过标准化接口读取和分析LINE对话。
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/ - 主源代码目录
__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=你的频道密钥
LINE_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的URI添加到您的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": "你的频道密钥",
"LINE_ACCESS_TOKEN": "你的访问令牌",
"SERVER_PORT": "8000",
"MESSAGES_FILE": "data/messages.json"
}
}
}
}
服务器实现了全面的错误处理:
所有错误都被记录并返回适当的错误信息。
如果您有任何关于这个项目的问题或希望合作,请随时联系我!
由Amornpan Phornchaicharoen制作❤️
Amornpan 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用于Model Context Protocol实现python-dotenv用于环境配置anyio用于异步I/O支持