An MCP (Model Context Protocol) server that enables AI assistants to query and analyze logs from Betterstack. Supports querying across multiple sources and source groups with intelligent source selection.
- Multi-source querying: Query individual sources or source groups
- Source management: Discover and inspect available sources and groups
- Query tools: Execute structured ClickHouse SQL queries with intelligent filtering
- Historical data: Access both recent and archived logs
- AI-friendly: Intelligent source selection based on query context
The easiest way to use this MCP server is via NPX - no installation required!
Add this to your Claude Code MCP configuration file:
{
"mcpServers": {
"betterstack": {
"command": "npx",
"args": ["-y", "@blaze-money/betterstack-logs-mcp"],
"env": {
"BETTERSTACK_API_TOKEN": "your-api-token-here",
"BETTERSTACK_CLICKHOUSE_USERNAME": "your-clickhouse-username",
"BETTERSTACK_CLICKHOUSE_PASSWORD": "your-clickhouse-password",
"BETTERSTACK_CLICKHOUSE_QUERY_ENDPOINT": "your-clickhouse-endpoint"
}
}
}
}
- API Token: Get from BetterStack API settings
- ClickHouse credentials: Available in your BetterStack team settings under "Log destinations"
Restart Claude Code to load the new MCP server. The server will be automatically downloaded and started via NPX.
If you want to develop or modify the server locally:
- Clone this repository
- Install dependencies:
npm install
- Build the project:
npm run build
- Configure environment variables (see Configuration section)
Betterstack requires two different authentication methods:
Copy .env.example
to .env
and configure:
# ClickHouse Database Credentials (for log queries)
BETTERSTACK_CLICKHOUSE_USERNAME=your_clickhouse_username
BETTERSTACK_CLICKHOUSE_PASSWORD=your_clickhouse_password
BETTERSTACK_CLICKHOUSE_QUERY_ENDPOINT=your_clickhouse_endpoint_url
# API Token (for source management)
BETTERSTACK_API_TOKEN=your_api_token_from_betterstack_dashboard
# Optional
BETTERSTACK_DEFAULT_SOURCE_GROUP=production
Getting Your Credentials:
-
ClickHouse Credentials (for log queries):
- In Betterstack dashboard: Dashboards → Connect remotely → Create connection
- Save the generated username, password, and endpoint URL
-
API Token (for source management):
- Go to Betterstack API Tokens
- Select your team
- Create or copy an existing Telemetry API token
Add to your claude_desktop_config.json
:
{
"mcpServers": {
"betterstack": {
"command": "npx",
"args": ["-y", "@blaze-money/betterstack-logs-mcp"],
"env": {
"BETTERSTACK_CLICKHOUSE_USERNAME": "your_clickhouse_username",
"BETTERSTACK_CLICKHOUSE_PASSWORD": "your_clickhouse_password",
"BETTERSTACK_CLICKHOUSE_QUERY_ENDPOINT": "your_clickhouse_endpoint_url",
"BETTERSTACK_API_TOKEN": "your_api_token_here",
"BETTERSTACK_DEFAULT_SOURCE_GROUP": "production"
}
}
}
}
list_sources
: Get all available log sourceslist_source_groups
: Get configured source groupsget_source_info
: Get details about a specific sourceget_source_group_info
: Get details about a source group
query_logs
: Execute structured log queries with filtering and time range supportdebug_table_info
: Inspect source table schemas and query generation
# List available sources
AI: What sources do we have?
# Query recent logs with filtering
AI: Show me ERROR level logs from the last hour in production
# Query specific time range
AI: Show me all logs from yesterday between 2pm and 4pm
# Get source group details
AI: What's included in our production source group?
npm run dev # Watch mode
npm run build # Build for production
MIT