Skip to content

cloudbox-sh/logpane-lpx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lpx

Monitor any MCP server with Logpane. No code changes required.

lpx sits between the MCP client and server, intercepting JSON-RPC traffic to capture tool call analytics, errors, and session data. It works with any MCP server regardless of language or framework.

Building

Requires Go 1.21+.

Current platform

go build -o lpx ./cmd/lpx

Cross-compile for all platforms

Linux (x86_64):

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o lpx-linux-amd64 ./cmd/lpx

macOS (Apple Silicon):

CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -ldflags="-s -w" -o lpx-darwin-arm64 ./cmd/lpx

Windows (x86_64):

CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -ldflags="-s -w" -o lpx-windows-amd64.exe ./cmd/lpx

Build all at once

CGO_ENABLED=0 GOOS=linux   GOARCH=amd64 go build -ldflags="-s -w" -o dist/lpx-linux-amd64       ./cmd/lpx
CGO_ENABLED=0 GOOS=darwin  GOARCH=arm64 go build -ldflags="-s -w" -o dist/lpx-darwin-arm64       ./cmd/lpx
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -ldflags="-s -w" -o dist/lpx-windows-amd64.exe ./cmd/lpx

Usage

Stdio mode

Wraps any MCP server command. Use this for servers that communicate over stdin/stdout.

lpx --key YOUR_API_KEY -- node my-server.js
lpx --key YOUR_API_KEY -- python server.py
lpx --key YOUR_API_KEY -- ./my-mcp-binary

MCP client config:

{
  "mcpServers": {
    "my-server": {
      "command": "lpx",
      "args": ["--key", "YOUR_API_KEY", "--", "node", "my-server.js"]
    }
  }
}

SSE proxy mode

Reverse proxies an SSE-based MCP server. Use this for servers that communicate over HTTP/SSE.

lpx --key YOUR_API_KEY --proxy http://localhost:8081 --port 9090

MCP client config:

{
  "mcpServers": {
    "my-server": {
      "type": "sse",
      "url": "http://localhost:9090/sse"
    }
  }
}

Flags

Flag Description Default
--key Logpane API key (required, or set LOGPANE_API_KEY env var)
--endpoint Logpane API endpoint https://api.logpane.dev
--proxy SSE proxy mode: target MCP server URL
--port SSE proxy mode: local port to listen on 9090
--name MCP server name (auto-detected from command if not set)
--version Print version and exit

What is captured

  • Tool calls -- tool name, duration, success/failure
  • Errors -- JSON-RPC error code and message
  • Sessions -- start and end events

All events are sent to the Logpane API in the background. If Logpane is unreachable, the MCP server continues to work normally.

Running tests

go test ./... -v

About

Monitor any MCP server with Logpane. Zero code changes -- just prefix your comman

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors