{"id":"adham90-opentrace","name":"opentrace","homepage":null,"repo_url":"https://github.com/adham90/opentrace","category":"monitoring","subcategories":[],"tags":["observability","logging","monitoring","debugging","mcp","ai-agents","self-hosted","go","postgres","sqlite","alerting"],"what_it_does":"OpenTrace is a self-hosted observability/incident investigation server for AI coding agents. It ingests application logs/metrics via an SDK, connects read-only to Postgres for database investigation, runs health checks and alert watches, and exposes its capabilities to agents through MCP tools (no UI).","use_cases":["AI-assisted log search and distributed trace assembly","Error grouping by fingerprint with stack traces and impact","Investigate slow queries using read-only Postgres introspection and EXPLAIN plans","Uptime monitoring via scheduled HTTP health checks","Create threshold alerts (e.g., error rate, latency, request volume)","Assess code/deploy risk by correlating commits with production behavior","Generate regression tests from production error data","Team management (invite, revoke tokens, audit logs)"],"not_for":["Running as a managed SaaS (it is self-hosted)","High-availability/enterprise environments without validating operational readiness (no SLA stated)","Direct write access to production databases (DB access described as read-only)","Providing a public UI/dashboard to end users (explicitly no UI)"],"best_when":"You want an AI coding assistant to query your production signals (logs/errors/DB stats/health/alerts) via MCP, with everything hosted inside your environment.","avoid_when":"You cannot allow agent access to production telemetry or to an internal MCP-connected service, or you require a conventional REST/GraphQL developer API rather than MCP tools.","alternatives":["OpenTelemetry + a log/trace backend (Grafana Loki/Tempo/Prometheus) plus custom agent tooling","Sentry (error grouping) with an LLM/agent wrapper","Datadog/New Relic with agent integrations","Custom internal incident investigation bots over existing log/metrics APIs"],"af_score":72.2,"security_score":69.5,"reliability_score":23.8,"package_type":"mcp_server","discovery_source":["github"],"priority":"high","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-03-30T15:38:07.119886+00:00","interface":{"has_rest_api":false,"has_graphql":false,"has_grpc":false,"has_mcp_server":true,"mcp_server_url":null,"has_sdk":true,"sdk_languages":["Ruby","Node.js"],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":["Admin account created via connect script (first setup)","Per-user MCP tokens stored in local .mcp.json","Bearer token authentication for SDK log ingestion"],"oauth":false,"scopes":false,"notes":"The README describes API key/Bearer token auth for ingestion and per-user MCP tokens; it does not describe OAuth or fine-grained OAuth scopes."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"No pricing model described; appears self-hosted."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":72.2,"security_score":69.5,"reliability_score":23.8,"mcp_server_quality":85.0,"documentation_accuracy":75.0,"error_message_quality":null,"error_message_notes":null,"auth_complexity":75.0,"rate_limit_clarity":80.0,"tls_enforcement":90.0,"auth_strength":80.0,"scope_granularity":50.0,"dependency_hygiene":50.0,"secret_handling":70.0,"security_notes":"README claims HTTPS via Caddy with automatic Let's Encrypt and that the server listens on localhost only. It describes rate limiting for auth endpoints, no telemetry/external calls, per-user revocable MCP tokens, and Bearer token auth for SDK ingestion. It also states Postgres access is validated as SELECT-only via SQL AST parsing with configurable timeouts/row limits. Dependency hygiene and precise secrets handling (logging/redaction) are not evidenced beyond claims; version/CVE status not provided.","uptime_documented":0.0,"version_stability":35.0,"breaking_changes_history":20.0,"error_recovery":40.0,"idempotency_support":"false","idempotency_notes":null,"pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["Agents may need to respect tool-level constraints such as SQL SELECT-only validation, row limits, and timeouts when using database tools.","Because the MCP server is described as self-hosted and locally configured via .mcp.json, agents must be connected to the correct project/token for team actions.","No explicit idempotency/retry guidance is provided in the README; agents should avoid assuming safe re-execution of state-changing operations (e.g., creating watches/users) without confirmation."]}}