home / mcp / observable mcp server

Observable MCP Server

Provides unified access to multiple observability data sources and tools via natural language and standardized MCP tool calls.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "aliyun-alibabacloud-observability-mcp-server": {
      "command": "python",
      "args": [
        "-m",
        "mcp_server_aliyun_observability"
      ],
      "env": {
        "ALIBABA_CLOUD_ACCESS_KEY_ID": "YOUR_ACCESS_KEY_ID",
        "ALIBABA_CLOUD_ACCESS_KEY_SECRET": "YOUR_ACCESS_KEY_SECRET"
      }
    }
  }
}

Observable MCP Server provides an integrated, secure way to access and analyze observability data from multiple sources using natural language and a standardized tool interface. It unifies data from logs, metrics, events, and traces, enabling intelligent agents to retrieve structured results without custom integration work.

How to use

You can use the MCP server with an agent or application that supports the Model Context Protocol. Start the server locally to expose a standard MCP endpoint that your client can query. By default, you can run the server using Python, which starts a streamable HTTP endpoint suitable for production integrations. For remote or remote-web access scenarios, you can enable Server-Sent Events (SSE) transport, allowing remote clients to connect through a persistent streaming endpoint.

How to install

Prerequisites: ensure you have Python 3.10 or newer installed on your system.

1) Install the MCP server package from PyPI.

pip install mcp-server-aliyun-observability

How to run

Run the server directly as a Python module to expose the MCP endpoint with the default transport.

python -m mcp_server_aliyun_observability

If you want to provide your Alibaba Cloud Access Key, start the server with the credentials you received.

python -m mcp_server_aliyun_observability --access-key-id <your_access_key_id> --access-key-secret <your_access_key_secret>

To enable remote clients via SSE, launch the server with SSE transport and specify a listen port and host.

python -m mcp_server_aliyun_observability --transport sse --transport-port 8000 --host 0.0.0.0

Alternatively, you can run the server through a launcher like UVX for integration in other tooling. The following shows how to run via UVX with environment credentials.

uvx mcp-server-aliyun-observability
```

```
{
  "mcpServers": {
    "alibaba_cloud_observability": {
      "command": "uvx",
      "args": [
        "mcp-server-aliyun-observability"
      ],
      "env": {
        "ALIBABA_CLOUD_ACCESS_KEY_ID": "<your_access_key_id>",
        "ALIBABA_CLOUD_ACCESS_KEY_SECRET": "<your_access_key_secret>"
      }
    }
  }
}

Using UDP/HTTP transports and client integration notes

The server exposes an MCP endpoint that clients can connect to using the standard MCP protocol. If you choose to expose the endpoint publicly, ensure you apply proper access control and network isolation. For production workloads, consider hosting the server inside a private VPC and using a controlled network boundary.

Security and deployment considerations

Key security practices include never storing your AccessKey directly in the server. The server will call Alibaba Cloud OpenAPI using the provided credentials but does not retain them beyond its runtime. Use the minimum required permissions for RAM users or roles, and restrict access to the services you actually use.

If you enable SSE access, you are responsible for securing the access point. Prefer deploying MCP Server in a trusted network, such as a private VPC, and limit exposure to the public Internet. A recommended deployment is via a function computing service with network settings restricted to VPC access for network isolation.

Cleanup and troubleshooting tips

If you encounter credential or connectivity issues, verify that the AccessKey ID and AccessKey Secret you provided are correct and that the host/port are reachable from your client. Check that the transport configuration matches your client’s capabilities (streamable HTTP, SSE, or stdio). Review network security groups and VPC firewall rules to ensure MCP endpoints can be reached by your agents.

Notes on integration with clients and tooling

You can integrate with Cursor, Cline, Windsurf, and other agent frameworks by pointing them to the MCP endpoint exposed by the server. Use the default streamable HTTP configuration for production workloads and switch to SSE or stdio only for remote or local development scenarios as shown in the examples.

0.3.x 与 1.x.x 工具差异对照

This section documents how 1.x.x tools differ from 0.3.x tools, including renamed items, new capabilities, and deprecated interfaces. It helps you migrate from older components to the modern UModel-based approach in 1.x.x.

Available tools

entity discovery

Discover and manage entities within a workspace and domain to support structured observations.

umodel_get_entities

Retrieve a list of entities from a specified entity set within a workspace and domain.

umodel_get_neighbor_entities

Fetch neighboring entities for topology and dependency analysis.

umodel_search_entities

Search for entities matching complex criteria across domains.

umodel_list_data_set

List available data sets within a workspace and domain to understand data structure.

umodel_search_entity_set

Search for entity sets by text within a workspace.

umodel_list_related_entity_set

List entity sets related to a given domain and entity type.

umodel_get_metrics

Retrieve time-series metrics with advanced analysis modes such as cluster, forecast, and anomaly detection.

umodel_get_golden_metrics

Fetch golden KPIs including latency and throughput details.

umodel_get_relation_metrics

Obtain metrics about relationships between entities to analyze service dependencies.

umodel_get_logs

Query logs related to specific entities for troubleshooting and performance analysis.

umodel_get_events

Query events tied to entities for anomaly detection and alerting.

umodel_get_traces

Retrieve trace details by trace IDs to analyze call paths and bottlenecks.

umodel_search_traces

Search traces by conditions to identify long-running or failed calls.

umodel_get_profiles

Fetch performance profiling data to analyze CPU/memory usage and hotspots.

introduction

Provide a service overview and usage guidance for your MCP endpoints.

list_workspace

List available workspaces in your account.

list_domains

List all domains within a given workspace.

sls_text_to_sql

Translate natural language questions into SLS SQL queries.

sls_execute_sql

Execute SLS SQL queries with time range parameters.

sls_text_to_promql

Translate natural language questions into PromQL queries.

sls_execute_promql

Execute PromQL queries against the Prometheus-compatible metric store.

sls_execute_spl

Execute SPL queries directly for advanced data processing.

sls_list_projects

List SLS projects available in your account.

sls_list_logstores

List log stores within a specified SLS project.

cms_text_to_promql

Translate natural language questions into PromQL queries for CMS data.

cms_execute_promql

Execute PromQL queries against CMS metric stores.

cms_text_to_promql

Translate natural language to PromQL for CMS data.

cms_translate_text_to_promql

Rename-compatible alias for generating PromQL text from natural language.

cms_execute_promql

Execute PromQL queries through CMS metric store wrapper.

sls_sop

SLS smart question-and-answer assistant for usage guidance.

sls_describe_logstore

Removed in 1.x.x; access via UModel metadata instead.