IBM Instana MCP Server
官方IBM Instana MCP服务器支持与IBM Instana可观测性平台无缝交互,使您能够直接在开发工作流中访问实时可观测性数据。
你可以用 IBM Instana MCP 做什么?
- 检索基础设施快照 — 使用
get_infra_snapshot请求特定主机、进程或容器的快照。 - 分析应用或服务指标 — 使用
get_app_metrics或get_service_metrics请求调用、错误或延迟的时间序列指标。 - 列出活跃告警和事件 — 通过
get_alerts和get_incidents获取当前告警、事件或全局智能告警。 - 检查 Kubernetes 事件 — 使用
get_k8s_events拉取集群或命名空间的近期 Kubernetes 事件。 - 查询网站监控数据 — 通过
get_website_metrics获取网站性能指标或信标结果。
文档
目录
IBM Instana MCP 服务器
📚 快速链接
- 工具与示例 - 包含真实世界示例的全面工具文档
- 隐私政策 - 数据处理和隐私信息
- Docker 部署指南 - 全面的 Docker 部署、多架构构建和生产环境设置
Instana MCP 服务器支持与 Instana 可观测性平台的无缝交互,让您可以直接在开发工作流中访问实时可观测性数据。
它充当客户端(如 AI 代理或自定义工具)与 Instana REST API 之间的桥梁,将用户查询转换为 Instana API 请求,并将响应格式化为结构化、易于使用的格式。
该服务器同时支持 Streamable HTTP 和 Stdio 传输模式,以最大限度地兼容不同的 MCP 客户端。有关更多详细信息,请参阅 MCP 传输模式规范。
架构概览
graph LR
subgraph "Application Host Process"
MH[MCP Host]
MSI[Instana MCP Server]
MST[ProductA MCP Server]
MSC[ProductB MCP Server]
MH <--> MSI
MH <--> MSC
MH <--> MST
end
subgraph "Remote Service"
II[Instana Instance]
TI[ProductA Instance]
CI[ProductB Instance]
MSI <--> II
MST <--> TI
MSC <--> CI
end
subgraph "LLM"
L[LLM]
MH <--> L
end
工作流程
考虑一个简单的例子:您正在使用一个连接到 Instana MCP 服务器的 MCP 主机(如 Claude Desktop、VS Code 或其他客户端)。当您请求有关 Instana 告警的信息时,会发生以下过程:
- MCP 客户端从 Instana MCP 服务器检索可用工具列表
- 您的查询连同工具描述一起发送给 LLM
- LLM 分析可用工具并选择合适的一个(或多个)来检索 Instana 告警
- 客户端通过 Instana MCP 服务器执行所选工具
- 结果(最新告警)返回给 LLM
- LLM 生成自然语言响应
- 响应显示给您
sequenceDiagram
participant User
participant ChatBot as MCP Host
participant MCPClient as MCP Client
participant MCPServer as Instana MCP Server
participant LLM
participant Instana as Instana Instance
ChatBot->>MCPClient: Load available tools from MCP Server
MCPClient->>MCPServer: Request available tool list
MCPServer->>MCPClient: Return list of available tools
User->>ChatBot: Ask "Show me the latest alerts from Instana for application robot-shop"
ChatBot->>MCPClient: Forward query
MCPClient->>LLM: Send query and tool description
LLM->>MCPClient: Select appropriate tool(s) for Instana alert query
MCPClient->>MCPServer: Execute selected tool(s)
MCPServer->>Instana: Retrieve alerts for application robot-shop
MCPServer->>MCPClient: Send alerts of Instana result
MCPClient->>LLM: Forward alerts of Instana
LLM->>ChatBot: Generate natural language response for Instana alerts
ChatBot->>User: Show Instana alert response
先决条件
选项 1:从 PyPI 安装(推荐)
使用 mcp-instana 最简单的方法是直接从 PyPI 安装:
pip install mcp-instana
安装后,您可以直接使用 mcp-instana 命令运行服务器。
选项 2:开发环境安装
对于开发或本地定制,您可以在本地克隆并设置项目。
安装 uv
本项目使用 uv,一个快速的 Python 包安装器和解析器。要安装 uv,您有几种选择:
使用 pip:
pip install uv
使用 Homebrew(macOS):
brew install uv
有关更多安装选项和详细说明,请访问 uv 文档。
设置环境
安装 uv 后,通过运行以下命令设置项目环境:
uv sync
Streamable HTTP 模式的基于请求头的认证
使用 Streamable HTTP 模式时,您必须通过 HTTP 请求头传递 Instana 凭据。这种方法通过以下方式增强了安全性和灵活性:
- 避免在环境变量中存储凭据
- 支持为不同请求使用不同凭据
- 支持在限制修改环境变量的共享环境中使用
- 同时支持 API 令牌和基于会话的认证
支持的认证模式:
1. API 令牌认证(直接 API 调用)
必需的请求头:
instana-base-url:您的 Instana 实例 URLinstana-api-token:您的 Instana API 令牌
示例:
--header "instana-base-url: https://your-instance.instana.io"
--header "instana-api-token: your-api-token"
2. 会话令牌认证(UI 发起的调用)
必需的请求头:
instana-base-url:您的 Instana 实例 URLinstana-auth-token:来自 UI 后端的会话认证令牌instana-csrf-token:来自 UI 后端的 CSRF 令牌instana-cookie-name:(可选)用于会话认证的 Cookie 名称(默认:instanaAuthToken)
示例:
--header "instana-base-url: https://your-instance.instana.io"
--header "instana-auth-token: your-session-token"
--header "instana-csrf-token: your-csrf-token"
--header "instana-cookie-name: in-token"
3. JWT 令牌认证(IBM 平台集成)
必需的请求头:
instana-base-url:您的 Instana 实例 URLinstana-jwt-token:来自 IBM 平台的 JWT 令牌instana-csrf-token:用于请求验证的 CSRF 令牌
配置示例:
{
"mcpServers": {
"Instana MCP Server": {
"command": "npx",
"args": [
"mcp-remote",
"http://0.0.0.0:8080/mcp",
"--allow-http",
"--header",
"instana-base-url: https://your-instana-instance.instana.io",
"--header",
"instana-jwt-token: your_jwt_token_here",
"--header",
"instana-csrf-token: your_csrf_token_here"
]
}
}
}
认证优先级:
- JWT 令牌(如果与 CSRF 令牌一起提供)- 对于 IBM 平台集成优先
- 会话令牌(如果同时提供了 auth_token 和 csrf_token)
- API 令牌(如果提供)- 标准认证
- 环境变量(
INSTANA_API_TOKEN)- 回退方案
认证流程:
- 每个请求中必须包含 HTTP 请求头
- 服务器根据优先级顺序验证凭据
- 没有有效认证的请求将失败
此设计确保了安全的凭据传输,并支持多种认证流程,包括通过 WebSocket → 协调器 → MCP 服务器发起的 UI 调用。
确保使用的令牌具有调用 MCP 工具的必要权限。请查看此处了解更多信息。
启动本地 MCP 服务器
在配置任何 MCP 客户端(Claude Desktop、GitHub Copilot 或自定义 MCP 客户端)之前,您需要启动本地 MCP 服务器。该服务器支持两种传输模式:Streamable HTTP 和 Stdio。
服务器命令选项
使用 CLI(PyPI 安装)
如果您从 PyPI 安装了 mcp-instana,请使用 mcp-instana 命令:
mcp-instana [OPTIONS]
使用开发环境安装
对于本地开发,请使用 uv run 命令:
uv run src/core/server.py [OPTIONS]
可用选项:
--transport <mode>:传输模式(选项:streamable-http、stdio)--env KEY=VALUE:设置环境变量(可重复用于多个变量,例如--env INSTANA_BASE_URL=https://... --env INSTANA_API_TOKEN=...)--debug:启用调试模式并附加日志记录--log-level <level>:设置日志记录级别(选项:DEBUG、INFO、WARNING、ERROR、CRITICAL)--tools <categories>:要启用的工具类别,以逗号分隔(例如 infra,app,events,website)。启用某个类别也会启用其相关的提示。例如:--tools infra启用 infra 工具和所有 infra 相关的提示。--list-tools:列出所有可用的工具类别并退出--port <port>:MCP 服务器端口(默认:8080,可通过 PORT 环境变量覆盖)--help:显示帮助信息并退出
以 Streamable HTTP 模式启动
Streamable HTTP 模式提供 REST API 接口,推荐用于大多数用例。
使用 CLI(PyPI 安装)
# Start with all tools enabled (default)
mcp-instana --transport streamable-http
# Start with debug logging
mcp-instana --transport streamable-http --debug
# Start with a specific log level
mcp-instana --transport streamable-http --log-level WARNING
# Start with specific tool categories only
mcp-instana --transport streamable-http --tools infra,events
# Combine options (specific log level, custom tools)
mcp-instana --transport streamable-http --log-level DEBUG --tools app,events
使用开发环境安装
# Start with all tools enabled (default)
uv run src/core/server.py --transport streamable-http
# Start with debug logging
uv run src/core/server.py --transport streamable-http --debug
# Start with a specific log level
uv run src/core/server.py --transport streamable-http --log-level WARNING
# Start with specific tool and prompts categories only
uv run src/core/server.py --transport streamable-http --tools infra,events
# Start with custom port
uv run src/core/server.py --transport streamable-http --port 9000
# Combine options (specific log level, custom tools and prompts)
uv run src/core/server.py --transport streamable-http --log-level DEBUG --tools app,events
Streamable HTTP 模式的主要特性:
- 使用 HTTP 请求头进行认证(无需环境变量)
- 支持每个请求使用不同凭据
- 更适合共享环境
- MCP 服务器默认端口:8080
- MCP 端点:
http://0.0.0.0:8080/mcp/
以 Stdio 模式启动
Stdio 模式使用标准输入/输出进行通信,并需要环境变量进行认证。
使用 CLI(PyPI 安装)
# Option 1: Set environment variables first
export INSTANA_BASE_URL="https://your-instana-instance.instana.io"
export INSTANA_API_TOKEN="your_instana_api_token"
# Start the server (stdio is the default if no transport specified)
mcp-instana
# Or explicitly specify stdio mode
mcp-instana --transport stdio
# Option 2: Use --env flag to set environment variables directly
mcp-instana --env INSTANA_BASE_URL=https://your-instana-instance.instana.io --env INSTANA_API_TOKEN=your_instana_api_token
# Or with explicit stdio mode
mcp-instana --transport stdio --env INSTANA_BASE_URL=https://your-instana-instance.instana.io --env INSTANA_API_TOKEN=your_instana_api_token
使用开发环境安装
# Option 1: Set environment variables first
export INSTANA_BASE_URL="https://your-instana-instance.instana.io"
export INSTANA_API_TOKEN="your_instana_api_token"
# Start the server (stdio is the default if no transport specified)
uv run src/core/server.py
# Or explicitly specify stdio mode
uv run src/core/server.py --transport stdio
# Option 2: Use --env flag to set environment variables directly
uv run src/core/server.py --env INSTANA_BASE_URL=https://your-instana-instance.instana.io --env INSTANA_API_TOKEN=your_instana_api_token
# Or with explicit stdio mode
uv run src/core/server.py --transport stdio --env INSTANA_BASE_URL=https://your-instana-instance.instana.io --env INSTANA_API_TOKEN=your_instana_api_token
Stdio 模式的主要特性:
- 使用环境变量进行认证(可通过
export或--env标志设置) - 通过 stdin/stdout 直接通信
- 某些 MCP 客户端配置需要
--env标志提供了一种无需修改 shell 环境即可设置凭据的便捷方式
工具类别
您可以通过仅启用所需的工具和提示类别来优化服务器性能:
使用 CLI(PyPI 安装)
# List all available categories
mcp-instana --list-tools
# Enable specific categories
mcp-instana --transport streamable-http --tools infra,app
mcp-instana --transport streamable-http --tools events
使用开发环境安装
# List all available categories
uv run src/core/server.py --list-tools
# Enable specific categories
uv run src/core/server.py --transport streamable-http --tools infra,app
uv run src/core/server.py --transport streamable-http --tools events
可用类别:
infra:基础设施监控工具和提示(资源、目录、拓扑、分析、指标)app:应用程序性能工具和提示(资源、指标、告警、目录、拓扑、分析、设置、全局告警)events:事件监控工具和提示(Kubernetes 事件、代理监控)website:网站监控工具和提示(指标、目录、分析、配置)
验证服务器状态
启动后,您可以验证服务器是否正在运行:
对于 Streamable HTTP 模式:
# Check MCP server
curl http://0.0.0.0:8080/mcp/
# Or with custom port
curl http://0.0.0.0:9000/mcp/
对于 Stdio 模式: 服务器将启动并等待来自 MCP 客户端的 stdin 输入。
常见启动问题
证书问题: 如果您遇到 SSL 证书错误,请确保您的 Python 环境可以访问系统证书:
# macOS - Install certificates for Python
/Applications/Python\ 3.13/Install\ Certificates.command
端口已被占用: 如果端口 8080 已被占用,请指定其他端口:
uv run src/core/server.py --transport streamable-http --port 9000
缺少依赖项: 确保所有依赖项都已安装:
uv sync
设置与使用
Bob IDE
Bob 是 IBM 的 AI 驱动 IDE,原生支持 MCP 集成。Bob 提供无缝的开发体验,内置 AI 辅助和可观测性工具。
流式 HTTP 模式
流式 HTTP 模式通过 HTTP 上的 JSON-RPC 为 MCP 通信提供 REST API 接口。
步骤 1:在流式 HTTP 模式下启动 MCP 服务器
在配置 Bob 之前,您需要在流式 HTTP 模式下启动 MCP 服务器。请参阅启动本地 MCP 服务器部分获取详细说明。
步骤 2:配置 Bob
在 Bob 面板的右上角,您会看到一个包含 MCP 服务器的下拉菜单:

选择此项后,您应该能够看到在项目级别或全局级别配置 MCP 的选项。

MCP 配置作用域
Bob 支持两个级别的 MCP 配置,允许您选择最适合您用例的作用域:
1. 全局配置(用户级别)
全局配置为当前用户的所有项目应用 MCP 服务器。当您希望相同的 MCP 服务器在您处理的每个项目中都可用时,这是理想的选择。
文件位置:
- macOS:
~/Library/Application Support/Bob/bob_config.json - Windows:
%APPDATA%\Bob\bob_config.json - Linux:
~/.config/Bob/bob_config.json
2. 项目配置(项目级别)
项目配置仅将 MCP 服务器应用于特定项目。当不同项目需要不同的 MCP 服务器配置,或者您希望通过版本控制与团队共享 MCP 设置时,这非常有用。
文件位置:
- 项目根目录中的
.bob/bob_config.json
在全局配置和项目配置之间选择:
- 对于您希望在所有项目中都可用的 MCP 服务器,使用全局配置
- 对于特定项目的 MCP 服务器或与团队共享配置,使用项目配置
- 两种配置可以共存——对于相同的服务器名称,项目级别设置优先于全局设置
有关 Bob 和 MCP 配置的更多信息,请访问:https://bob.ibm.com/docs/ide/configuration/mcp/mcp-in-bob
本地配置:
配置 Bob 以连接到您的本地 IBM Instana MCP 服务器:
{
"mcpServers": {
"Instana MCP Server": {
"command": "npx",
"args": [
"mcp-remote", "http://0.0.0.0:8080/mcp/",
"--allow-http",
"--header", "instana-base-url: https://your-instana-instance.instana.io",
"--header", "instana-api-token: your_instana_api_token"
]
}
}
}
远程配置:
配置 Bob 以连接到远程 IBM Instana MCP 服务器(例如,部署在 IBM Code Engine 上):
{
"mcpServers": {
"Instana MCP Server": {
"command": "npx",
"args": [
"mcp-remote", "https://app-instana-750.1zetetanw8ul.us-east.codeengine.appdomain.cloud/mcp/",
"--allow-http",
"--header", "instana-base-url: https://your-instana-instance.instana.io",
"--header", "instana-api-token: your_instana_api_token"
]
}
}
}
注意: 要使用 npx,我们建议首先安装 NVM(Node 版本管理器),然后使用它来安装 Node.js。 安装说明可在以下位置获取:https://nodejs.org/en/download
步骤 3:测试连接
设置 MCP 配置后,新配置的 MCP 服务器应显示为已启用。绿点表示服务器正在成功运行。

您现在可以在 Bob IDE 中运行查询:
get me all applications from Instana in the last 24 hours

Stdio 模式
使用 CLI 进行配置(PyPI 安装 - 推荐):
选项 1:在配置中使用环境变量:
{
"mcpServers": {
"Instana MCP Server": {
"command": "mcp-instana",
"args": ["--transport", "stdio"],
"env": {
"INSTANA_BASE_URL": "https://your-instana-instance.instana.io",
"INSTANA_API_TOKEN": "your_instana_api_token"
}
}
}
}
选项 2:使用 --env 标志(替代方法):
{
"mcpServers": {
"Instana MCP Server": {
"command": "mcp-instana",
"args": [
"--transport", "stdio",
"--env", "INSTANA_BASE_URL=https://your-instana-instance.instana.io",
"--env", "INSTANA_API_TOKEN=your_instana_api_token"
]
}
}
}
注意: 如果您遇到“command not found”错误,请使用 mcp-instana 的完整路径。使用 which mcp-instana 查找它,并改用该路径。
使用开发安装进行配置:
选项 1:在配置中使用环境变量:
{
"mcpServers": {
"Instana MCP Server": {
"command": "uv",
"args": [
"--directory",
"<path-to-mcp-instana-folder>",
"run",
"src/core/server.py"
],
"env": {
"INSTANA_BASE_URL": "https://your-instana-instance.instana.io",
"INSTANA_API_TOKEN": "your_instana_api_token"
}
}
}
}
选项 2:使用 --env 标志(替代方法):
{
"mcpServers": {
"Instana MCP Server": {
"command": "uv",
"args": [
"--directory",
"<path-to-mcp-instana-folder>",
"run",
"src/core/server.py",
"--env", "INSTANA_BASE_URL=https://your-instana-instance.instana.io",
"--env", "INSTANA_API_TOKEN=your_instana_api_token"
]
}
}
}
Claude Desktop
Claude Desktop 支持流式 HTTP 和 Stdio 两种模式进行 MCP 集成。
通过编辑配置文件来配置 Claude Desktop:
文件位置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
流式 HTTP 模式
流式 HTTP 模式通过 HTTP 上的 JSON-RPC 为 MCP 通信提供 REST API 接口。
步骤 1:在流式 HTTP 模式下启动 MCP 服务器
在配置 Claude Desktop 之前,您需要在流式 HTTP 模式下启动 MCP 服务器。请参阅启动本地 MCP 服务器部分获取详细说明。
步骤 2:配置 Claude Desktop
配置 Claude Desktop 以通过标头传递 Instana 凭据:
{
"mcpServers": {
"Instana MCP Server": {
"command": "npx",
"args": [
"mcp-remote", "http://0.0.0.0:8080/mcp/",
"--allow-http",
"--header", "instana-base-url: https://your-instana-instance.instana.io",
"--header", "instana-api-token: your_instana_api_token"
]
}
}
}
注意: 要使用 npx,我们建议首先安装 NVM(Node 版本管理器),然后使用它来安装 Node.js。 安装说明可在以下位置获取:https://nodejs.org/en/download
步骤 3:测试连接
重启 Claude Desktop。您现在应该会在 Claude Desktop 界面中看到 IBM Instana MCP 服务器,如下所示:

您现在可以在 Claude Desktop 中运行查询:
get me all endpoints from Instana

Stdio 模式
使用 CLI 进行配置(PyPI 安装 - 推荐):
选项 1:在配置中使用环境变量:
{
"mcpServers": {
"Instana MCP Server": {
"command": "mcp-instana",
"args": ["--transport", "stdio"],
"env": {
"INSTANA_BASE_URL": "https://your-instana-instance.instana.io",
"INSTANA_API_TOKEN": "your_instana_api_token"
}
}
}
}
选项 2:使用 --env 标志(替代方法):
{
"mcpServers": {
"Instana MCP Server": {
"command": "mcp-instana",
"args": [
"--transport", "stdio",
"--env", "INSTANA_BASE_URL=https://your-instana-instance.instana.io",
"--env", "INSTANA_API_TOKEN=your_instana_api_token"
]
}
}
}
注意: 如果您遇到“command not found”错误,请使用 mcp-instana 的完整路径。使用 which mcp-instana 查找它,并改用该路径。
使用开发安装进行配置:
选项 1:在配置中使用环境变量:
{
"mcpServers": {
"Instana MCP Server": {
"command": "uv",
"args": [
"--directory",
"<path-to-mcp-instana-folder>",
"run",
"src/core/server.py"
],
"env": {
"INSTANA_BASE_URL": "https://your-instana-instance.instana.io",
"INSTANA_API_TOKEN": "your_instana_api_token"
}
}
}
}
选项 2:使用 --env 标志(替代方法):
{
"mcpServers": {
"Instana MCP Server": {
"command": "uv",
"args": [
"--directory",
"<path-to-mcp-instana-folder>",
"run",
"src/core/server.py",
"--env", "INSTANA_BASE_URL=https://your-instana-instance.instana.io",
"--env", "INSTANA_API_TOKEN=your_instana_api_token"
]
}
}
}
Kiro 设置
Kiro 是一个代理式 IDE,而不是可以下载到 VS Code 或其他 IDE 中的扩展。
步骤 1:从 https://kiro.dev/. 下载并安装适用于您操作系统的 Kiro**
步骤 2:安装后,启动 Kiro 并在 IDE 中打开任何项目。

步骤 3:点击左侧边栏中的 Kiro(Ghost)图标以访问 Kiro 的功能。

步骤 4:在 MCP 服务器部分右上角选择“编辑配置”图标。

步骤 5:打开 MCP 服务器配置文件(mcp.json),并根据您首选的传输模式进行配置:
流式 HTTP 模式(推荐用于 Kiro)
{
"mcpServers": {
"Instana MCP Server": {
"command": "npx",
"args": [
"mcp-remote", "http://0.0.0.0:8080/mcp/",
"--allow-http",
"--header", "instana-base-url: https://your-instana-instance.instana.io",
"--header", "instana-api-token: your_instana_api_token"
]
}
}
}
注意: 在使用此配置之前,请确保在 streamable-http 模式下启动 MCP 服务器:
mcp-instana --transport streamable-http
Stdio 模式
选项 1:在配置中使用环境变量:
{
"mcpServers": {
"Instana MCP Server": {
"command": "mcp-instana",
"args": ["--transport", "stdio"],
"env": {
"INSTANA_BASE_URL": "https://your-instana-instance.instana.io",
"INSTANA_API_TOKEN": "your_instana_api_token"
}
}
}
}
选项 2:使用 --env 标志(替代方法):
{
"mcpServers": {
"Instana MCP Server": {
"command": "mcp-instana",
"args": [
"--transport", "stdio",
"--env", "INSTANA_BASE_URL=https://your-instana-instance.instana.io",
"--env", "INSTANA_API_TOKEN=your_instana_api_token"
]
}
}
}
步骤 6:保存文件后,点击“启用 MCP”按钮,您将在 Kiro 的左下部分看到您的 MCP 服务器及其可用工具。

步骤 7:转到 AI 聊天面板,输入与您的 MCP 服务器相关的提示,并直接在 Kiro 中查看响应。

GitHub Copilot
GitHub Copilot 通过 VS Code 配置支持 MCP 集成。 有关 GitHub Copilot 与 VS Code 的集成,请参阅此设置指南。
流式 HTTP 模式
步骤 1:在流式 HTTP 模式下启动 MCP 服务器
在配置 VS Code 之前,您需要在流式 HTTP 模式下启动 MCP 服务器。请参阅启动本地 MCP 服务器部分获取详细说明。
步骤 2:配置 VS Code
请参阅在 VS Code 中使用 MCP 服务器获取详细配置。
您可以直接使用以下配置创建或更新 .vscode/mcp.json:
{
"servers": {
"Instana MCP Server": {
"command": "npx",
"args": [
"mcp-remote", "http://0.0.0.0:8080/mcp/",
"--allow-http",
"--header", "instana-base-url: https://your-instana-instance.instana.io",
"--header", "instana-api-token: your_instana_api_token"
],
"env": {
"PATH": "/usr/local/bin:/bin:/usr/bin",
"SHELL": "/bin/sh"
}
}
}
}
注意: 将以下值替换为您的实际配置:
instana-base-url:您的 Instana 实例 URLinstana-api-token:您的 Instana API 令牌command:更新 npx 路径以匹配您系统的 Node.js 安装(例如,/path/to/your/node/bin/npx)- 环境变量:根据需要为您的系统调整 PATH 和其他环境变量
Stdio 模式
步骤 1:创建 VS Code MCP 配置
使用 CLI(PyPI 安装 - 推荐):
在项目根目录中创建 .vscode/mcp.json:
选项 1:在配置中使用环境变量:
{
"servers": {
"Instana MCP Server": {
"command": "mcp-instana",
"args": ["--transport", "stdio"],
"env": {
"INSTANA_BASE_URL": "https://your-instana-instance.instana.io",
"INSTANA_API_TOKEN": "your_instana_api_token"
}
}
}
}
选项 2:使用 --env 标志(替代方法):
{
"servers": {
"Instana MCP Server": {
"command": "mcp-instana",
"args": [
"--transport", "stdio",
"--env", "INSTANA_BASE_URL=https://your-instana-instance.instana.io",
"--env", "INSTANA_API_TOKEN=your_instana_api_token"
]
}
}
}
使用开发安装:
在项目根目录中创建 .vscode/mcp.json:
选项 1:在配置中使用环境变量:
{
"servers": {
"Instana MCP Server": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/your/project/mcp-instana",
"run",
"src/core/server.py"
],
"env": {
"INSTANA_BASE_URL": "https://your-instana-instance.instana.io",
"INSTANA_API_TOKEN": "your_instana_api_token"
}
}
}
}
选项 2:使用 --env 标志(替代方法):
{
"servers": {
"Instana MCP Server": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/your/project/mcp-instana",
"run",
"src/core/server.py",
"--env", "INSTANA_BASE_URL=https://your-instana-instance.instana.io",
"--env", "INSTANA_API_TOKEN=your_instana_api_token"
]
}
}
}
注意: 将以下值替换为您的实际配置:
- 对于 CLI 安装:确保
mcp-instana在您的 PATH 中 - 对于开发安装:
command:更新 uv 路径以匹配您系统的 uv 安装(例如,/path/to/your/uv/bin/uv或/usr/local/bin/uv)--directory:使用 mcp-instana 项目目录的绝对路径进行更新
INSTANA_BASE_URL:您的 Instana 实例 URLINSTANA_API_TOKEN:您的 Instana API 令牌
步骤 2:在 VS Code 中管理服务器
- 打开
.vscode/mcp.json- 您将在顶部看到服务器管理控件 - 点击
Instana MCP Server旁边的Start以启动服务器 - 运行状态以及工具数量表示服务器正在运行
步骤 3:测试集成
在 GitHub Copilot 中切换到代理模式并重新加载工具。 以下是 GitHub Copilot 响应的示例:

Mistral AI
Mistral AI 仅通过流式 HTTP 模式支持 MCP 集成。
步骤 1:在流式 HTTP 模式下启动 MCP 服务器
通过提供您的 Instana 凭据,在流式 HTTP 模式下启动 MCP 服务器。运行以下命令:
uv run src/core/server.py --transport streamable-http \
--api-token "your_instana_api_token" \
--base-url "https://your-instana-instance.instana.io" \
--port 8080
步骤 2:使用 Ngrok 设置端口转发
配置端口转发以公开您的本地服务器。请遵循 Ngrok 设置文档获取详细说明。
步骤 3:配置 Mistral AI
-
导航到左侧边栏中的智能选项卡,然后选择连接器

-
点击添加连接器

-
通过输入连接器名称和 Ngrok 转发的 MCP 服务器 URL 来创建自定义连接器

-
开始新的聊天会话,并验证 MCP 工具是否已启用。您可以在此处查看响应

支持的功能
- 统一应用与基础设施管理 (
manage_instana_resources)- 应用指标
- 使用灵活过滤查询应用指标
- 列出服务和端点
- 按标签分组并聚合指标
- 应用告警配置
- 查找活跃告警配置
- 获取告警配置版本
- 创建、更新和删除告警配置
- 启用、禁用和恢复告警配置
- 更新历史基线
- 全局应用告警配置
- 管理全局告警配置
- 全局告警的版本控制
- 应用设置
- 管理应用视角
- 配置端点和服务
- 管理手动服务
- 应用目录
- 获取应用标签目录
- 获取应用指标目录
- 应用指标
- 基础设施分析 (
analyze_infrastructure)- 针对实体/指标查询的两轮引导
- 动态支持 Instana API 目录中的所有实体类型(JVM、Kubernetes、Docker、主机、数据库、消息队列等)
- 与您的 Instana 安装中可用的插件自动同步
- 灵活的指标聚合(最大值、平均值、总和等)
- 按标签和属性进行高级过滤
- 分组和排序功能
- 时间范围查询
- 统一事件管理 (
manage_events)- 事件监控
- 按 ID 获取事件 (operation="get_event")
- 按多个 ID 获取事件 (operation="get_events_by_ids")
- 获取代理监控事件 (operation="get_agent_monitoring_events")
- 获取 Kubernetes 信息事件 (operation="get_kubernetes_info_events")
- 获取事件 (operation="get_events")
- 智能路由到专用事件工具
- 统一参数验证(时间范围、max_events)
- 支持自然语言时间范围(“最近 24 小时”、“最近 2 天”)
- 事件过滤和优化
- 事件监控
- 统一网站管理 (
manage_website_resources)- 网站分析 (resource_type="analyze")
- 获取网站信标组 - 分组/聚合的信标数据 (operation="get_beacon_groups")
- 获取网站信标 - 带分页的单个信标数据 (operation="get_beacons")
- 自动标签验证和基于目录的引导工作流
- 响应摘要(减少 70-80% 负载)
- 支持多种信标类型:PAGELOAD、PAGECHANGE、RESOURCELOAD、CUSTOM、HTTPREQUEST、ERROR
- 网站目录 (resource_type="catalog")
- 获取网站指标目录 (operation="get_metrics")
- 按信标类型和用例获取网站标签目录 (operation="get_tag_catalog")
- 网站配置 (resource_type="configuration")
- 获取所有网站 (operation="get_all")
- 按 ID 或名称获取网站,支持自动名称解析 (operation="get")
- 高级配置 - 只读 (resource_type="advanced_config")
- 获取地理位置配置 (operation="get_geo_config")
- 获取 IP 掩码配置 (operation="get_ip_masking")
- 获取地理映射规则 (operation="get_geo_rules")
- 网站分析 (resource_type="analyze")
- 统一自动化管理 (
manage_automation)- 操作目录 (resource_type="catalog")
- 列出所有可用的自动化操作 (operation="get_actions")
- 获取特定操作的详细信息 (operation="get_action_details")
- 按名称/描述搜索匹配的操作 (operation="get_action_matches")
- 按应用或快照 ID 和时间窗口获取匹配的操作 (operation="get_action_matches_by_id_and_time_window")
- 获取可用的操作类型 (operation="get_action_types")
- 获取可用的操作标签 (operation="get_action_tags")
- 操作历史 (resource_type="history")
- 列出操作执行实例并支持过滤 (operation="list")
- 获取特定操作执行的详细信息 (operation="get_details")
- 操作目录 (resource_type="catalog")
- 自定义仪表板 (
manage_custom_dashboards)- 获取所有自定义仪表板
- 按 ID 获取特定仪表板
- 创建新的自定义仪表板
- 更新现有的自定义仪表板
- 删除自定义仪表板
- 获取仪表板的可共享用户
- 获取仪表板的可共享 API 令牌
可用工具
| 工具 | 类别 | 描述 |
|---|---|---|
manage_applications | 应用与基础设施 | 用于管理应用指标、告警配置、设置和目录的统一工具 |
manage_websites | 网站监控 | 用于网站分析、目录、配置和高级配置操作的统一智能路由器 |
manage_custom_dashboards | 自定义仪表板 | 用于管理自定义仪表板 CRUD 操作的统一工具 |
analyze_infrastructure | 基础设施分析 | 具有实体/指标引导的两轮基础设施分析 |
manage_automation | 自动化 | 用于自动化的统一智能路由器:浏览操作目录和查看执行历史 |
manage_events | 事件 | 用于事件监控的统一智能路由器:按 ID 获取事件、按多个 ID 获取事件、Kubernetes 事件、代理监控事件和所有事件 |
manage_slo | SLO 管理 | 用于 SLO 配置、报告、告警和修正窗口的统一智能路由器,具有智能时区处理功能 |
manage_releases | 发布管理 | 用于发布跟踪的统一智能路由器:列出发布并支持分页和名称过滤、获取发布详情、创建/更新/删除发布并支持时区 |
manage_maintenance_windows | 维护窗口 | 用于维护窗口生命周期管理的统一智能路由器:创建、修改、关闭和列出维护窗口,支持模板和 ServiceNow 集成 |
manage_mobile_apps | 移动应用监控 | 用于移动应用监控的统一智能路由器:分析信标、性能指标、配置和告警管理 |
👉 有关详细的工具文档、功能和技术参考,请参阅 工具与示例
工具过滤
MCP 服务器支持选择性工具加载,以优化性能并减少资源使用。您可以仅启用特定用例所需的工具类别。
可用的工具类别
-
router:统一应用与基础设施管理manage_instana_resources:用于应用指标、告警配置、设置和目录的单一工具- 支持应用视角、端点、服务和手动服务
- 管理应用特定和全局告警配置
- 提供对应用标签目录和指标目录的访问
-
dashboard:自定义仪表板管理manage_custom_dashboards:自定义仪表板的 CRUD 操作- 支持仪表板的创建、检索、更新和删除
- 管理仪表板的可共享用户和 API 令牌
-
infra:基础设施分析工具analyze_infrastructure:具有实体/指标引导的两轮基础设施分析- 动态支持 Instana 安装中可用的所有实体类型(从 API 目录自动加载)
- 包括 JVM、Kubernetes、Docker、主机、数据库、消息队列以及任何自定义或新添加的实体类型
- 灵活的指标聚合、过滤、分组和时间范围查询
-
automation:自动化操作工具manage_automation:用于自动化目录和执行历史的统一智能路由器- 操作目录:浏览操作、获取详细信息、按名称/描述搜索、按应用或快照 ID 过滤
- 操作历史:列出执行实例并支持过滤、获取执行详细信息
-
events:事件监控工具- 事件:Kubernetes 事件、代理监控和系统事件跟踪
-
website:网站监控工具- 网站指标:网站性能测量
- 网站目录:网站元数据和定义
- 网站分析:网站性能分析
- 网站配置:网站配置管理
-
slo:服务水平目标 (SLO) 管理manage_slo:用于全面 SLO 操作的统一智能路由器- 配置管理:创建、读取、更新、删除 SLO 配置,支持基于时间和基于事件的指标
- 报告生成:生成详细的 SLO 报告,包含 SLI 值、错误预算、消耗率和时间序列图表
- 告警配置:管理用于错误预算监控和消耗率跟踪的 SLO 告警配置
- 修正窗口:创建和管理维护窗口,以将计划停机时间排除在 SLO 计算之外
- 智能时区处理:自动引导日期时间输入的时区,以确保准确的时间上下文
- 两轮引导:针对需要多个输入的复杂操作进行交互式参数收集
-
releases:发布跟踪和部署管理manage_releases:用于发布操作的统一智能路由器- 列出发布:获取所有发布,支持高效分页(page_number、page_size)和基于名称的过滤
- 发布详情:按 ID 检索特定发布信息,包括应用、服务和范围
- 创建/更新/删除:用于发布管理的完整 CRUD 操作
- 智能时区处理:自动引导发布开始时间的时区
- 高效分页:通过适当的基于页面的导航避免冗余数据获取
- 名称过滤:不区分大小写的子字符串匹配,以按名称查找发布
-
maintenance_window:维护窗口生命周期管理manage_maintenance_windows:用于维护窗口操作的统一智能路由器- 窗口操作:创建、修改、关闭和列出维护窗口(活跃、已计划、全部、已过期)
- 批量操作:同时为多个应用创建维护窗口
- 模板支持:针对常见场景的预定义模板(deployment、database_migration、infrastructure_upgrade、emergency、routine)
- 定期窗口:支持使用 RFC 5545 RRULE 格式的定期维护窗口
- ServiceNow 集成:可选的与 ServiceNow 变更请求的集成
- 验证:窗口创建前的参数验证
- 灵活的持续时间:以分钟、小时或天为单位指定持续时间
-
mobile_app:移动应用监控manage_mobile_apps:用于移动应用监控操作的统一智能路由器- 信标分析:通过分组和过滤查询移动应用信标数据
- 性能指标:跟踪会话时长、崩溃率和 HTTP 请求性能
- 地理分析:按国家、城市和地区分析用户分布
- 设备分析:监控不同设备、平台和操作系统版本的性能
- 配置管理:管理移动应用配置、地理位置和 IP 掩码设置
- 告警管理:配置和管理移动应用告警配置
使用示例
使用 CLI(PyPI 安装)
# Enable only router (unified app/infra management) and events tools
mcp-instana --tools router,events --transport streamable-http
# Enable only infrastructure analysis tools
mcp-instana --tools infra --transport streamable-http
# Enable router and infrastructure analysis
mcp-instana --tools router,infra --transport streamable-http
# Enable events and website tools
mcp-instana --tools events,website --transport streamable-http
# Enable dashboard and router tools
mcp-instana --tools dashboard,router --transport streamable-http
# Enable releases and events tools
mcp-instana --tools releases,events --transport streamable-http
# Enable maintenance window and events tools
mcp-instana --tools maintenance_window,events --transport streamable-http
# Enable all tools (default behavior)
mcp-instana --transport streamable-http
# List all available tool categories and their tools
mcp-instana --list-tools
使用开发安装
# Enable only router (unified app/infra management) and events tools
uv run src/core/server.py --tools router,events --transport streamable-http
# Enable only infrastructure analysis tools
uv run src/core/server.py --tools infra --transport streamable-http
# Enable router and infrastructure analysis
uv run src/core/server.py --tools router,infra --transport streamable-http
# Enable events and website tools
uv run src/core/server.py --tools events,website --transport streamable-http
# Enable dashboard and router tools
uv run src/core/server.py --tools dashboard,router --transport streamable-http
# Enable releases and events tools
uv run src/core/server.py --tools releases,events --transport streamable-http
# Enable maintenance window and events tools
uv run src/core/server.py --tools maintenance_window,events --transport streamable-http
# Enable all tools (default behavior)
uv run src/core/server.py --transport streamable-http
# List all available tool categories and their tools
uv run src/core/server.py --list-tools
工具过滤的优势
- 性能:减少启动时间和内存使用
- 安全:仅暴露必要的 API
- 清晰:专注于特定用例(例如,仅基础设施监控)
- 资源效率:降低 CPU 和网络使用
👉 有关使用示例和提示,请参阅示例提示
Docker 部署
MCP Instana 服务器可以使用 Docker 在生产环境中部署。Docker 设置针对安全性、性能和最小资源使用进行了优化。
Docker 架构
该项目采用双文件依赖管理策略:
pyproject.toml
- 用途:开发和生产环境的统一配置
- 依赖:所有基本依赖以及可选的开发依赖
- 用法:本地开发、测试、CI/CD 和 Docker 生产构建
- 优势:所有依赖的单一事实来源,简化维护
构建 Docker 镜像
前提条件
- 已安装并运行 Docker
- 可访问项目源代码
- 用于多架构构建的 Docker BuildKit(在最新的 Docker 版本中默认启用)
构建命令
# Build the optimized production image
docker build -t mcp-instana:latest .
# Build with a specific tag
docker build -t mcp-instana:<image_tag> .
#### **Run Command**
# Run the container (no credentials needed in the container)
docker run -p 8080:8080 mcp-instana
# Run with custom port
docker run -p 8081:8080 mcp-instana
📖 有关全面的 Docker 文档,包括多架构构建、Docker Compose 设置、安全最佳实践和生产部署示例,请参阅 DOCKER.md。
故障排除
Docker 问题
容器无法启动
# Check container logs
docker logs <container_id>
# Common issues:
# 1. Port already in use
# 2. Invalid container image
# 3. Missing dependencies
# Credentials are passed via HTTP headers from the MCP client
连接问题
# Test container connectivity
docker exec -it <container_id> curl http://127.0.0.1:8080/health
# Check port mapping
docker port <container_id>
性能问题
# Check container resource usage
docker stats <container_id>
# Monitor container health
docker inspect <container_id> | grep -A 10 Health
一般问题
-
GitHub Copilot
- 如果您遇到 GitHub Copilot 问题,请尝试在
mcp.json文件中启动/停止/重启服务器,并一次仅保持一个服务器运行。
- 如果您遇到 GitHub Copilot 问题,请尝试在
-
证书问题
- 如果您遇到证书问题,例如
[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate:- 检查您是否可以使用
curl或wget通过 SSL 验证访问 Instana API 端点。- 如果可行,您的 Python 环境可能无法验证证书,并且可能无法访问与您的 shell 或系统相同的证书。确保您的 Python 环境使用系统证书(macOS)。您可以通过向 Python 安装证书来实现:
//Applications/Python\ 3.13/Install\ Certificates.command
- 如果可行,您的 Python 环境可能无法验证证书,并且可能无法访问与您的 shell 或系统相同的证书。确保您的 Python 环境使用系统证书(macOS)。您可以通过向 Python 安装证书来实现:
- 如果您无法通过 SSL 验证访问端点,请尝试不使用 SSL 验证。如果可行,请检查系统的 CA 证书并确保它们是最新的。
- 检查您是否可以使用
- 如果您遇到证书问题,例如