Skip to content

MCP Server

The desktop app includes an MCP (Model Context Protocol) server so AI coding assistants can read your logs.

POST http://localhost:17655/mcp

JSON-RPC 2.0 protocol over HTTP.

List all projects with IDs, names, and workspace assignments.

{ }

List buckets for a specific project.

{ "projectId": "my-app" }

Query logs with full filter support.

{
"projectId": "my-app",
"level": "error,warn",
"bucket": "auth,payments",
"search": "failed",
"tags": { "env": ["prod"], "action": ["login", "signup"] },
"limit": 50,
"since": 1708000000000,
"until": 1708100000000
}
ParameterTypeDescription
projectIdstringRequired. Project ID.
levelstringComma-separated levels: error, warn, info, debug.
bucketstringComma-separated bucket names.
searchstringSubstring search in log messages.
tagsobjectTag filters as {key: [values]}. Logs must match ALL keys, any value per key.
limitintegerMax logs to return (default 50, max 200).
sinceintegerEpoch ms — only logs after this timestamp.
untilintegerEpoch ms — only logs before this timestamp.

Get the latest logs across ALL projects. Useful when you don’t know the project ID.

{ "limit": 20, "level": "error" }
ParameterTypeDescription
limitintegerMax logs (default 20, max 100).
levelstringComma-separated levels to filter.

Point Claude Code (or any MCP-compatible assistant) at the MCP endpoint:

{
"mcpServers": {
"gunsole": {
"command": "curl",
"args": ["-X", "POST", "http://localhost:17655/mcp"]
}
}
}

The AI can then query your application’s logs while debugging — “show me the last 10 errors”, “what happened in the auth bucket in the last 5 minutes”, etc.

Standard JSON-RPC 2.0:

// Initialize
{"jsonrpc": "2.0", "method": "initialize", "id": 1}
// List tools
{"jsonrpc": "2.0", "method": "tools/list", "id": 2}
// Query logs
{
"jsonrpc": "2.0",
"method": "tools/call",
"id": 3,
"params": {
"name": "query_logs",
"arguments": {
"projectId": "my-app",
"level": "error",
"limit": 20
}
}
}