Skip to main content
Glama
Device Log MCP Server

Device Log MCP Server

Device Log MCP Server

A simple Model Context Protocol (MCP) server written in Python using the FastMCP SDK.
This server simulates reading logs from multiple device services and exposes them as MCP tools.


πŸš€ Features

  • Exposes 4 tools:

    • get_activation_logs(serial_number)

    • get_lan_logs(serial_number)

    • get_wlan_logs(serial_number)

    • get_kafka_status(serial_number)

  • Simulates real logs for demo/testing.

  • Runs in stateless HTTP JSON mode β†’ easy to test using curl.

  • Default port: 4000


Related MCP server: incident-assistant

🧩 Requirements

  • Python β‰₯ 3.10

  • MCP SDK (FastMCP)

Install dependencies using either uv or pip:

# Option 1: using uv (recommended)
uv add "mcp[cli]"

# Option 2: using pip
python -m pip install "mcp[cli]"

βš™οΈ Running the server

uv run python mcp_server.py

Output example:

πŸš€ Starting Device Log MCP Server on port 4000...
INFO:     Uvicorn running on http://127.0.0.1:4000

πŸ§ͺ Testing via curl

You can call each tool directly via /mcp endpoint.

Activation logs

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"}}}'

LAN logs

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 logs

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 status

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"}}}'

🧰 Example response

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "[SN12345] Activation completed at step 4"
      }
    ]
  }
}

πŸ“¦ Project structure

device-log-server/
β”œβ”€β”€ mcp_server.py
└── README.md

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      C
      maintenance
      Enables local UART and serial-port debugging through MCP, providing persistent capture, log search, regex/event monitoring, HEX send/query, protocol parsing, and shell-like command sequences.
      15
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables assistants to query a fleet of sensor patches, read status and measurement time series, review alerts and network statistics, and simulate uplinks that return both the encoded payload and its decoded reading.
      Apache 2.0