Apache SkyWalking MCP
An MCP server for integrating AI agents with the SkyWalking observability platform and its ecosystem.
Apache SkyWalking MCP
SkyWalking-MCP: A Model Context Protocol (MCP) server for integrating AI agents with Skywalking OAP and the surrounding ecosystem.
SkyWalking: an APM(application performance monitor) system, especially designed for microservices, cloud native and container-based (Docker, Kubernetes, Mesos) architectures.
Usage
From Source
# Clone the repository
git clone https://github.com/apache/skywalking-mcp.git
cd skywalking-mcp && go mod tidy
# Build the project
make
Command-line Options
Usage:
swmcp [command]
Available Commands:
completion Generate the autocompletion script for the specified shell
help Help about any command
sse Start SSE server
stdio Start stdio server
streamable Start Streamable server
Flags:
-h, --help help for swmcp
--log-command When true, log commands to the log file
--log-file string Path to log file
--log-level string Logging level (debug, info, warn, error) (default "info")
--read-only Restrict the server to read-only operations
--sw-url string Specify the OAP URL to connect to (e.g. http://localhost:12800)
--sw-username string Username for basic auth to SkyWalking OAP (supports ${ENV_VAR} syntax)
--sw-password string Password for basic auth to SkyWalking OAP (supports ${ENV_VAR} syntax)
-v, --version version for swmcp
Use "swmcp [command] --help" for more information about a command.
You could start the MCP server with the following command:
# use stdio server
bin/swmcp stdio --sw-url http://localhost:12800
# with basic auth (raw password)
bin/swmcp stdio --sw-url http://localhost:12800 --sw-username admin --sw-password admin
# with basic auth (password from environment variable)
bin/swmcp stdio --sw-url http://localhost:12800 --sw-username admin --sw-password '${SW_PASSWORD}'
# or use SSE server
bin/swmcp sse --sse-address localhost:8000 --base-path /mcp --sw-url http://localhost:12800
Usage with Cursor, Copilot, Claude Code
{
"mcpServers": {
"skywalking": {
"command": "swmcp stdio",
"args": [
"--sw-url", "http://localhost:12800",
"--sw-username", "admin",
"--sw-password", "${SW_PASSWORD}"
]
}
}
}
If using Docker:
make build-image builds a local linux/amd64 image by default. For multi-platform publishing, use make docker-push, which builds and pushes linux/amd64,linux/arm64 images via Docker Buildx.
Common variants:
# Build a local image and load it into your Docker daemon
make build-image
# Build and push a multi-platform image to the default registry
make docker-push VERSION=0.1.0
# Push to a custom registry/repository
make docker-push IMAGE=ghcr.io/your-org/skywalking-mcp VERSION=0.1.0
# Build for a custom platform set
make docker-build PLATFORMS=linux/arm64 OUTPUT=--load
Then configure the MCP server like this:
{
"mcpServers": {
"skywalking": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"skywalking-mcp:latest",
"--sw-url",
"http://localhost:12800"
]
}
}
}
Available Tools
SkyWalking MCP provides the following tools to query and analyze SkyWalking OAP data:
| Category | Tool Name | Description |
|---|---|---|
| Session | set_skywalking_url | Set the SkyWalking OAP server URL and optional basic auth credentials for the current session (stdio mode only). Supports ${ENV_VAR} syntax for credentials. |
| Trace | query_traces | Query traces with multi-condition filtering (service, endpoint, state, tags, and time range via start/end/step). Supports full, summary, and errors_only views with performance insights. |
| Log | query_logs | Query logs with filters for service, instance, endpoint, trace ID, tags, and time range. Supports cold storage and pagination. |
| MQE | execute_mqe_expression | Execute MQE (Metrics Query Expression) to query and calculate metrics data. Supports calculations, aggregations, TopN, trend analysis, and multiple result types. |
| MQE | list_mqe_metrics | List available metrics for MQE queries. Filter by regex pattern; returns metric name, type, and catalog. |
| MQE | get_mqe_metric_type | Get type information (REGULAR_VALUE, LABELED_VALUE, SAMPLED_RECORD) for a specific metric to help build correct MQE expressions. |
| Metadata | list_layers | List all layers registered in SkyWalking OAP (e.g. GENERAL, MESH, K8S). |
| Metadata | list_services | List all services registered in SkyWalking OAP under a specific layer. |
| Metadata | list_instances | List all instances of a service (e.g. pods or JVM processes). |
| Metadata | list_endpoints | List endpoints of a service with optional keyword filtering. |
| Metadata | list_processes | List processes of a service instance. |
| Event | query_events | Query events (deployments, restarts, scaling) with filters for service, instance, endpoint, type, and layer. |
| Alarm | query_alarms | Query alarms triggered by metric threshold breaches. Filter by scope, keyword, and tags. |
| Topology | query_services_topology | Query global or scoped service topology. Optionally filter by specific service IDs or layer. |
| Topology | query_instances_topology | Query service instance topology between a client service and a server service. |
| Topology | query_endpoints_topology | Query endpoint dependency topology for a given endpoint. |
| Topology | query_processes_topology | Query process topology for a given service instance. |
Available Prompts
SkyWalking MCP provides the following prompts for guided analysis workflows:
| Category | Prompt Name | Description | Arguments |
|---|---|---|---|
| Performance | analyze-performance | Analyze service performance using metrics tools | service_name (required), start (optional), end (optional) |
| Performance | compare-services | Compare performance metrics between multiple services | services (required), metrics (optional), start (optional), end (optional) |
| Performance | top-services | Find top N services ranked by a given metric | metric_name (required), top_n (optional), order (optional) |
| Trace | investigate-traces | Investigate traces for errors and performance issues | service_id (optional), trace_state (optional), start (optional), end (optional) |
| Trace | trace-deep-dive | Deep dive analysis of a specific trace | trace_id (required), view (optional) |
| Log | analyze-logs | Analyze service logs for errors and patterns | service_id (optional), log_level (optional), start (optional), end (optional) |
| Topology | explore-service-topology | Explore services, instances, endpoints, and processes within a layer and time range | layer (required), start (required), end (optional) |
| MQE | build-mqe-query | Help build MQE expressions for complex metric queries | query_type (required), metrics (required), conditions (optional) |
| MQE | explore-metrics | Explore available metrics and their types | pattern (optional), show_examples (optional) |
| Utility | generate_duration | Convert a natural-language time range into a {start, end} duration object for use with other tools | time_range (required) |
Contact Us
- Submit an issue by using MCP as title prefix.
- Mail list: [email protected]. Mail to
[email protected], follow the reply to subscribe the mail list. - Join
skywalkingchannel at Apache Slack. If the link is not working, find the latest one at Apache INFRA WIKI. - Twitter, ASFSkyWalking
License
相关服务器
Scout Monitoring MCP
赞助Put performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
赞助Access financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
AI Image Generation
Generate images using the Together AI API. Supports custom aspect ratios, save paths, and batch generation.
Buildable
Official MCP server for Buildable AI-powered development platform. Enables AI assistants to manage tasks, track progress, get project context, and collaborate with humans on software projects.
MCP Hello World
A minimal MCP server mock in TypeScript for testing MCP clients, supporting both STDIO and HTTP/SSE protocols.
Claude Code MCP
Orchestrates multiple Claude Code agents across iTerm2 sessions, providing centralized management and inter-agent communication.
Google Workspace Developers
Developer documentation for Google Workspace APIs
MCP Rust CLI server template
A Rust template for creating MCP CLI servers, with support for JSON-based prompts, resources, and tools.
Exploit Intelligence Platform MCP Server
An MCP (Model Context Protocol) server that gives AI assistants access to the Exploit Intelligence Platform — hundreds of thousands of vulnerabilities and exploits from NVD, CISA KEV, VulnCheck KEV, InTheWild.io, ENISA EUVD, OSV.dev, EPSS, ExploitDB, Metasploit, GitHub, and more. I
Terraform Registry MCP Server
An MCP server for interacting with the Terraform Registry API. It allows querying for providers, resources, modules, and supports Terraform Cloud operations.
Nuanced MCP Server
Provides call graph analysis for LLMs using the nuanced library.
MCP-Typescribe
Answers questions about TypeScript APIs using TypeDoc JSON documentation.