Read-only MCP server for OpenObserve Community Edition via REST API
OpenObserve MCP
stdio MCP server for OpenObserve Community Edition, using only the regular REST API.
This package is designed for local MCP clients such as Claude and Codex.
What it is:
stdioonly- Community Edition only
- read-only only
- regular OpenObserve REST API only
- no native
/mcpendpoint
Quick Start
1. Create a config file
uvx --from openobserve-community-mcp openobserve-mcp init-config
This creates a sample config at:
~/.config/openobserve-mcp/config.env
Edit it:
$EDITOR ~/.config/openobserve-mcp/config.env
Example:
OO_BASE_URL=https://openobserve.example.com
# Optional if the credentials have access to exactly one organization.
# OO_ORG_ID=default
OO_AUTH_MODE=basic
OO_USERNAME=your_username
OO_PASSWORD=your_password
OO_TIMEOUT_SECONDS=20
OO_VERIFY_SSL=true
2. Add it to Claude
claude mcp add -s user openobserve-community -- uvx --from openobserve-community-mcp openobserve-mcp
3. Add it to Codex
codex mcp add openobserve-community -- uvx --from openobserve-community-mcp openobserve-mcp
Configuration
Default config path:
~/.config/openobserve-mcp/config.env
Supported settings:
OO_BASE_URLOO_ORG_IDoptionalOO_AUTH_MODEOO_USERNAMEandOO_PASSWORDfor basic authOO_TOKENfor bearer authOO_TIMEOUT_SECONDSOO_VERIFY_SSLOO_CONFIG_FILEoptional explicit path to a config file
Config precedence:
- explicit
OO_CONFIG_FILE ~/.config/openobserve-mcp/config.env- legacy
.env.localin the current directory - process environment overrides file values
You can also pass config directly via MCP client env settings.
Claude with inline env
claude mcp add -s user openobserve-community \
-e OO_BASE_URL=https://openobserve.example.com \
-e OO_AUTH_MODE=basic \
-e OO_USERNAME=your_username \
-e OO_PASSWORD=your_password \
-- uvx --from openobserve-community-mcp openobserve-mcp
Codex with inline env
codex mcp add openobserve-community \
--env OO_BASE_URL=https://openobserve.example.com \
--env OO_AUTH_MODE=basic \
--env OO_USERNAME=your_username \
--env OO_PASSWORD=your_password \
-- uvx --from openobserve-community-mcp openobserve-mcp
Tools
list_streamsget_stream_schemasearch_logssearch_aroundsearch_valueslist_dashboardsget_dashboardget_latest_traces
Optional Local Install
If you prefer a persistent local binary instead of uvx:
uv tool install openobserve-community-mcp
This installs the openobserve-mcp command into your user-level uv tools directory.
Add To Claude With Global Install
claude mcp add -s user openobserve-community -- openobserve-mcp
Add To Codex With Global Install
codex mcp add openobserve-community -- openobserve-mcp
You can also run the server directly:
openobserve-mcp
This mode may require ~/.local/bin to be present in your PATH.
If openobserve-mcp is not found, either:
- add
~/.local/binto yourPATH; or - use the recommended
uvx --from openobserve-community-mcp openobserve-mcplaunch mode instead.
Tools (8)
list_streamsLists all available streams in the OpenObserve instance.get_stream_schemaRetrieves the schema for a specific stream.search_logsPerforms a search query across logs.search_aroundSearches for logs around a specific timestamp or event.search_valuesSearches for specific values within the logs.list_dashboardsLists all available dashboards.get_dashboardRetrieves the configuration and details of a specific dashboard.get_latest_tracesFetches the most recent traces from the system.Environment Variables
OO_BASE_URLrequiredThe base URL of your OpenObserve instanceOO_AUTH_MODErequiredAuthentication mode (e.g., basic)OO_USERNAMEUsername for basic authenticationOO_PASSWORDPassword for basic authenticationOO_TOKENBearer token for authenticationOO_ORG_IDOrganization ID if not using the defaultConfiguration
{"mcpServers": {"openobserve-community": {"command": "uvx", "args": ["--from", "openobserve-community-mcp", "openobserve-mcp"], "env": {"OO_BASE_URL": "https://openobserve.example.com", "OO_AUTH_MODE": "basic", "OO_USERNAME": "your_username", "OO_PASSWORD": "your_password"}}}}