使用说明
设备日志MCP服务器
一个简单的 模型上下文协议(MCP) 使用Python编写的服务器 FastMCP SDK.
此服务器模拟从多个设备服务读取日志,并将其作为MCP工具公开。
🚀 特性
- 显示4个工具:
get_activation_logs(serial_number)get_lan_logs(serial_number)get_wlan_logs(serial_number)get_kafka_status(serial_number)
- 模拟真实日志以进行演示/测试。
- 跑步 无状态HTTP JSON模式 → 易于测试
curl. - 默认端口: 4000
🧩 需求
- Python≥3.10
- MCP SDK(快速MCP)
使用以下任一方式安装依赖项 uv 或 pip:
# Option 1: using uv (recommended)
uv add "mcp[cli]"
# Option 2: using pip
python -m pip install "mcp[cli]"
⚙️ 运行服务器
uv run python mcp_server.py
输出示例:
🚀 Starting Device Log MCP Server on port 4000...
INFO: Uvicorn running on http://127.0.0.1:4000
🧪 通过curl进行测试
您可以直接通过以下方式调用每个工具 /mcp 终点。
激活日志
curl -X POST http://127.0.0.1:4000/mcp -H "Content-Type: application/json" -H "Accept: application/json" -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_activation_logs","arguments":{"serial_number":"SN12345"}}}'
局域网日志
curl -X POST http://127.0.0.1:4000/mcp -H "Content-Type: application/json" -H "Accept: application/json" -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_lan_logs","arguments":{"serial_number":"SN12345"}}}'
WLAN日志
curl -X POST http://127.0.0.1:4000/mcp -H "Content-Type: application/json" -H "Accept: application/json" -d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"get_wlan_logs","arguments":{"serial_number":"SN12345"}}}'
Kafka状态
curl -X POST http://127.0.0.1:4000/mcp -H "Content-Type: application/json" -H "Accept: application/json" -d '{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"get_kafka_status","arguments":{"serial_number":"SN12345"}}}'
🧰 示例响应
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "[SN12345] Activation completed at step 4"
}
]
}
}
📦 项目结构
device-log-server/
├── mcp_server.py
└── README.md
