mcp-server

dodangnguyen96/mcp-server

3.2

If you are the rightful owner of mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

A simple Model Context Protocol (MCP) server written in Python using the FastMCP SDK.

Tools
4
Resources
0
Prompts
0

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

🧩 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