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., "@seq-mcpfind recent errors related to 'database connection'"
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.
mcp-seq-otel
Standalone MCP server that gives AI agents controlled API access to a user-owned Datalust Seq instance.
What This Service Assumes
You already run/manage your own Seq instance.
This service only needs connection settings.
Required configuration:
SEQ_URLSEQ_API_KEY
URL Support
SEQ_URL accepts either:
Host URL (recommended; service will append
/api):http://localhost:10150https://seq.example.com
Full API base URL (also supported):
http://localhost:10150/apihttps://seq.example.com/api
Available MCP Tools
seq_connection_test: validates Seq connectivity and API reachability, and reports the resolved root/healthURL used for the check.seq_starter_help: lists the compact starter alias tools.seq_starter_overview: quick health, user, diagnostics, signals, and workspace summary.seq_starter_events_search: common event search by filter/signal/time range.seq_starter_event_by_id: fetch one event by id.seq_starter_data_query: run aqquery usingGETorPOST.seq_starter_signals_list/seq_starter_signal_by_id: signal discovery helpers.seq_starter_dashboards_list: list dashboards.seq_starter_alerts_list: list alerts.seq_starter_events_stream: bounded live-tail style stream call.seq_api_catalog: returns the full official Seq route/verb/permission catalog.seq_api_live_links: discovers livename -> routelinks from your Seq instance.seq_api_request: generic verb/path invoker for any Seq API route.seq_<verb>_<route>: auto-generated tool per official route+verb (from docs).
Scope note:
seq_starter_*tools are focused on common read workflows.seq_api_requestandseq_<verb>_<route>expose the broader HTTP API surface from the Seq endpoint catalog, including non-GETroutes.
Seq API Key Permissions
Use least privilege based on the exact tools/workflows your MCP client will call.
Authoritative Datalust references:
API keys and permission model: https://docs.datalust.co/docs/api-keys
HTTP API usage guide: https://docs.datalust.co/docs/using-the-http-api
Server endpoint + permission table: https://docs.datalust.co/docs/server-http-api
Recommended permission profiles:
Read-focused starter usage (
seq_starter_*,seq_connection_test, read-only queries): enableRead; disableIngest,Write,Project,Organization,System.Full route-surface usage (
seq_api_requestandseq_<verb>_<route>): required permissions depend on the specific route+verb; checkseq_api_catalogor the official endpoint table before granting.
Permission guidance for this project:
Permission | Needed now | Why |
| Yes | Required by starter query/retrieval workflows. |
| Usually No | Needed only when calling ingestion routes such as |
| Maybe | Needed for write routes (for example signals, dashboards, alerts, permalinks, SQL queries). |
| Maybe | Needed for project-scoped administration and some settings/index routes. |
| Maybe | Needed for organization/user-management routes. |
| Maybe | Needed for system administration routes (for example apps, feeds, backups, updates). |
Starter endpoint mapping in current implementation:
GET /health: public endpoint.GET /api/events/resources: public endpoint.GET /api/events:Readpermission demand.GET /api/events/{id}:Readpermission demand.GET /api/data:Readpermission demand.
API Key Header
The server authenticates to Seq using the X-Seq-ApiKey header.
Resilience and Permission Handling
Tool failures are returned as structured MCP error responses (isError: true) instead of crashing the server process.
Current graceful handling includes:
401 Unauthorized: returns guidance to verifySEQ_API_KEYandSEQ_URL.403 Forbidden: returns a permission-denied response with route-derived permission hints when available.Network/timeout failures: returns connectivity diagnostics for AI clients.
Health check behavior:
seq_connection_testalways probes the Seq host root at/health.If
SEQ_URLis configured as eitherhttp://host:portorhttp://host:port/api, the health check resolves tohttp://host:port/health.
Local Run (Node)
Node.js requirement: LTS (see .nvmrc).
npm install
npm run buildWindows PowerShell:
$env:SEQ_URL = "http://localhost:10150"
$env:SEQ_API_KEY = "your-key"
node dist/index.jsDocker Standalone Run
Docker Hub documentation assets in this repo:
Auto-sync source for Hub long description:
.dockerhub-readme.mdMain project reference:
README.md
Build image:
docker build -t mcp/seq-otel .Run via Docker Compose (recommended for MCP stdio):
PowerShell:
./scripts/run-mcp-compose.ps1 -SeqUrl "http://localhost:10150" -SeqApiKey "<YOUR_SEQ_API_KEY>" -BuildBash:
./scripts/run-mcp-compose.sh --seq-url "http://localhost:10150" --seq-api-key "<YOUR_SEQ_API_KEY>" --buildCompose run behavior:
Value precedence is: explicit script args -> existing environment variables ->
.env.If the target
.envis missing, scripts create a generic template.envautomatically.When that generated generic template is in use, ensure
SEQ_URLandSEQ_API_KEYare resolved via script args, existing environment variables, or a populated.envfile.MCP_IMAGE_TAGis optional; when empty, Compose uses an untagged image reference (mcp/seq-otel).Scripts check image availability through compose service metadata and auto-build if the selected tag is not available.
By default, no container name is specified, so Docker auto-generates a random name.
You can override container name with
-ContainerName(PowerShell) or--container-name(Bash).For security, prefer setting
SEQ_API_KEYvia environment variables or.envinstead of CLI args.
Or use helper scripts:
PowerShell:
./scripts/build-image.ps1Bash:
./scripts/build-image.shBuild and push to registry (pullable by other Docker hosts):
PowerShell:
./scripts/build-image.ps1 -Registry ghcr.io/mclifeleader -Tag v0.3.1 -PushBash:
./scripts/build-image.sh --registry ghcr.io/mclifeleader --tag v0.3.1 --pushThe build scripts apply :latest by default alongside any explicit version tag. To disable this behavior, pass an empty latest-tag value (PowerShell: -LatestTag ""; Bash: --latest-tag "").
Build and export tar (loadable with docker load):
PowerShell:
./scripts/build-image.ps1 -SaveTar ./mcp-seq-otel.tarBash:
./scripts/build-image.sh --save-tar ./mcp-seq-otel.tarRun against local Seq:
docker run --rm -i \
-e SEQ_URL=http://host.docker.internal:10150 \
-e SEQ_API_KEY=your-key \
mcp/seq-otelRun against FQDN Seq:
docker run --rm -i \
-e SEQ_URL=https://seq.example.com \
-e SEQ_API_KEY=your-key \
mcp/seq-otelRun with Podman:
podman build -t mcp/seq-otel .
podman run --rm -i \
-e SEQ_URL=https://seq.example.com \
-e SEQ_API_KEY=your-key \
mcp/seq-otelThe container startup contract requires both variables to be present:
SEQ_URLSEQ_API_KEY
If either is missing, the container exits immediately with a clear startup error.
Copy/Paste MCP Config (Codex and VS Code)
Assumes the image already exists (mcp/seq-otel).
{
"mcpServers": {
"seq-otel": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"SEQ_URL=http://host.docker.internal:10150",
"-e",
"SEQ_API_KEY=<YOUR_SEQ_API_KEY>",
"mcp/seq-otel"
]
}
}
}Docker MCP Catalog Compatibility
This repo includes a catalog-ready server definition in:
catalog/server.yamlcatalog/tools.jsonassets/seq-otel-icon.svg
catalog/server.yaml declares:
SEQ_URLas a required user parameter (mapped viaconfig.env)SEQ_API_KEYas a required secret (mapped viaconfig.secrets)
These files follow the Docker MCP registry server format, so they can be used in
catalog generation/import workflows (for example via docker/mcp-registry tools).
Submission checklist for Docker MCP Registry:
docs/docker-mcp-registry-submission.md
MCP Client Integration Example
Use a command-based MCP client entry that launches the container with stdin/stdout attached.
{
"mcpServers": {
"seq-otel": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"SEQ_URL=https://seq.example.com",
"-e",
"SEQ_API_KEY=<YOUR_SEQ_API_KEY>",
"mcp/seq-otel"
]
}
}
}Security Notes
Do not commit keys.
Use least-privilege Seq API keys.
Prefer HTTPS for non-local Seq instances.
API Mapping Artifact
Full generated API map:
docs/api-map.mdMaintenance/update playbook:
docs/seq-mcp-maintenance.mdProject skill for update workflows:
.github/skills/seq-mcp-maintainer/SKILL.mdProject wiki (how-to and operations): https://github.com/MCLifeLeader/seq-mcp/wiki
Status
Core standalone server scaffold is implemented and buildable.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.