graylog-mcp
Provides tools for fetching messages from Graylog instances, allowing search queries, time ranges, field selection, and multi-instance support.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@graylog-mcpSearch for recent errors in production Graylog instance."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Graylog MCP Server
A minimal MCP (Model Context Protocol) server in JavaScript that integrates with Graylog.
Features
JavaScript MCP server
Tools:
fetch_graylog_messages(query Graylog and return messages)Multi-instance support — query multiple Graylog servers from a single MCP server
Related MCP server: Graylog MCP Server
Requirements
Node.js 18+
Configuration
Configure one or more Graylog instances using numbered env vars:
Variable | Required | Description |
| yes | Graylog base URL for instance N |
| yes | API token for instance N |
| no | Human-readable label (default: |
Replace N with 1, 2, 3, … to register as many instances as needed. Only instances with both BASE_URL and API_TOKEN set will be active.
Use with an MCP client
No installation needed — npx downloads and runs the server automatically.
Claude Code
claude mcp add graylog-mcp npx @lcaliani/graylog-mcp-server@latest \
-e GRAYLOG_BASE_URL_INSTANCE_1=http://your-graylog-production.example.com:9000 \
-e GRAYLOG_API_TOKEN_INSTANCE_1=your_production_token \
-e GRAYLOG_LABEL_INSTANCE_1=production \
-e GRAYLOG_BASE_URL_INSTANCE_2=http://your-graylog-staging.example.com:9000 \
-e GRAYLOG_API_TOKEN_INSTANCE_2=your_staging_token \
-e GRAYLOG_LABEL_INSTANCE_2=stagingOr add it manually to ~/.claude.json:
{
"mcpServers": {
"graylog-mcp": {
"command": "npx",
"args": ["@lcaliani/graylog-mcp-server@latest"],
"env": {
"GRAYLOG_BASE_URL_INSTANCE_1": "http://your-graylog-production.example.com:9000",
"GRAYLOG_API_TOKEN_INSTANCE_1": "your_production_token",
"GRAYLOG_LABEL_INSTANCE_1": "production",
"GRAYLOG_BASE_URL_INSTANCE_2": "http://your-graylog-staging.example.com:9000",
"GRAYLOG_API_TOKEN_INSTANCE_2": "your_staging_token",
"GRAYLOG_LABEL_INSTANCE_2": "staging"
}
}
}
}Cursor
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"graylog-mcp": {
"command": "npx",
"args": ["@lcaliani/graylog-mcp-server@latest"],
"env": {
"GRAYLOG_BASE_URL_INSTANCE_1": "http://your-graylog-production.example.com:9000",
"GRAYLOG_API_TOKEN_INSTANCE_1": "your_production_token",
"GRAYLOG_LABEL_INSTANCE_1": "production",
"GRAYLOG_BASE_URL_INSTANCE_2": "http://your-graylog-staging.example.com:9000",
"GRAYLOG_API_TOKEN_INSTANCE_2": "your_staging_token",
"GRAYLOG_LABEL_INSTANCE_2": "staging"
}
}
}
}Claude Desktop
Config file locations:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonLinux:
~/.config/claude-desktop/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Use the same JSON structure shown above for Cursor.
Use
Once configured, the fetch_graylog_messages tool becomes available and will be automatically called when needed. Example prompts:
Search for the latest 20 error logs of the example application in the last 15 minutes.Search for the latest 20 error logs of the example application in the last 15 minutes.
Query the "staging" Graylog instance.Available tools
fetch_graylog_messages
Fetch messages from Graylog.
Parameters:
query(string, required): Search query. Example:level:ERROR AND service:api.instance(string, optional): Label of the Graylog instance to query. Defaults to the first configured instance.searchTimeRangeInSeconds(number, optional): Relative time range in seconds. Default:900(15 minutes).searchCountLimit(number, optional): Max number of messages. Default:50.fields(string, optional): Comma-separated fields to include. Default:*(all fields).
Troubleshooting
Ensure at least
GRAYLOG_BASE_URL_INSTANCE_1andGRAYLOG_API_TOKEN_INSTANCE_1are set.Verify Node.js 18+ is installed.
Set
DEBUG=truein the env to enable verbose logging to stderr.
License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/lcaliani/graylog-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server