Log Analysis SQLite MCP server

Transforms compressed log files into a queryable SQLite database with tables for logs, stack traces, and errors, enabling efficient analysis and troubleshooting of application issues by timestamp, log level, and module.
Back to servers
Setup instructions
Provider
direkt
Release date
Mar 08, 2025
Language
Python

The SQLite MCP Server provides a powerful way to analyze log files through a database interface, allowing you to query your logs using SQL while integrating with tools like Cursor via the Model Context Protocol (MCP).

Installation

To set up the SQLite MCP Server, follow these steps:

python3 -m venv venv
source venv/bin/activate
pip3 install -r requirements.txt

Creating the Log Database

Place your compressed log files in the project folder as .gz files, then run:

python3 create_log_db.py

This script will extract and parse your log files into an SQLite database named logs.db.

Configuring the MCP SQLite Server in Cursor

To integrate with Cursor:

  1. Open Cursor Settings
  2. Navigate to MCP section
  3. Click "Add New MCP Server"
  4. Enter the following details:
    • Name: SQLite
    • Type: command
    • Command:
npx -y @smithery/cli@latest run mcp-server-sqlite-npx --config "{\"databasePath\":\"/path/to/thedatbase/logs.db\"}"

Important: Replace /path/to/thedatbase/logs.db with the actual path to your generated logs.db file.

Database Structure

The logs database contains several tables that organize your log data:

Logs Table

The main table contains:

  • Timestamp information
  • Thread identifiers
  • Log levels (INFO, WARN, ERROR, DEBUG)
  • Module names
  • Message content
  • Source file information
  • Raw log entries

Stack Traces Table

Stores stack trace information:

  • References to parent log entries
  • Full stack trace text

Parsing Errors Table

Tracks any issues encountered during log parsing:

  • Lines that couldn't be parsed
  • Source files with errors
  • Error messages
  • Timestamp information

Querying Logs

Once configured, you can interact with your logs through Cursor using the MCP server. The server allows you to write SQL queries against your log database, providing powerful filtering and analysis capabilities.

Common query examples:

  • Filter logs by level: SELECT * FROM logs WHERE level = 'ERROR'
  • Search for specific text: SELECT * FROM logs WHERE message LIKE '%connection failed%'
  • Find logs within a time range: SELECT * FROM logs WHERE timestamp BETWEEN '2023-01-01' AND '2023-01-02'

How to install this MCP server

For Claude Code

To add this MCP server to Claude Code, run this command in your terminal:

claude mcp add-json "sqlite" '{"command":"npx","args":["-y","@smithery/cli@latest","run","mcp-server-sqlite-npx","--config","{\"databasePath\":\"/path/to/thedatbase/logs.db\"}"]}'

See the official Claude Code MCP documentation for more details.

For Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "sqlite": {
            "command": "npx",
            "args": [
                "-y",
                "@smithery/cli@latest",
                "run",
                "mcp-server-sqlite-npx",
                "--config",
                "{\"databasePath\":\"/path/to/thedatbase/logs.db\"}"
            ]
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.

For Claude Desktop

To add this MCP server to Claude Desktop:

1. Find your configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

2. Add this to your configuration file:

{
    "mcpServers": {
        "sqlite": {
            "command": "npx",
            "args": [
                "-y",
                "@smithery/cli@latest",
                "run",
                "mcp-server-sqlite-npx",
                "--config",
                "{\"databasePath\":\"/path/to/thedatbase/logs.db\"}"
            ]
        }
    }
}

3. Restart Claude Desktop for the changes to take effect

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later