MCP Server
The desktop app includes an MCP (Model Context Protocol) server so AI coding assistants can read your logs.
Endpoint
Section titled “Endpoint”POST http://localhost:17655/mcpJSON-RPC 2.0 protocol over HTTP.
Available tools
Section titled “Available tools”list_projects
Section titled “list_projects”List all projects with IDs, names, and workspace assignments.
{ }list_buckets
Section titled “list_buckets”List buckets for a specific project.
{ "projectId": "my-app" }query_logs
Section titled “query_logs”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}| Parameter | Type | Description |
|---|---|---|
projectId | string | Required. Project ID. |
level | string | Comma-separated levels: error, warn, info, debug. |
bucket | string | Comma-separated bucket names. |
search | string | Substring search in log messages. |
tags | object | Tag filters as {key: [values]}. Logs must match ALL keys, any value per key. |
limit | integer | Max logs to return (default 50, max 200). |
since | integer | Epoch ms — only logs after this timestamp. |
until | integer | Epoch ms — only logs before this timestamp. |
tail_logs
Section titled “tail_logs”Get the latest logs across ALL projects. Useful when you don’t know the project ID.
{ "limit": 20, "level": "error" }| Parameter | Type | Description |
|---|---|---|
limit | integer | Max logs (default 20, max 100). |
level | string | Comma-separated levels to filter. |
Usage with Claude Code
Section titled “Usage with Claude Code”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.
Protocol
Section titled “Protocol”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 } }}