The Model Context Protocol (MCP) standardizes how applications can provide context to large language models (LLMs), allowing AI assistants to access and query external data and tools/APIs, and incorporate the results of those queries in their responses.
The ThousandEyes MCP server allows you to connect an AI assistant directly to the ThousandEyes platform. The assistant can then use natural language to access and analyze ThousandEyes network monitoring data through a standardized interface.
To use the ThousandEyes MCP server, your organization must not be opted out of ThousandEyes AI features. In addition, you will need:
API Access ThousandEyes user permission.For instructions on generating a new API token, see User API Tokens.
For more information on user permissions, see Role-Based Access Control.
ThousandEyes MCP server usage counts against your API rate limit.
To integrate the ThousandEyes MCP server with your AI assistant, you will need to either create an MCP client, or use a framework that supports MCP, and configure it to authenticate to the MCP server.
The sections below outline example configurations for common MCP-compatible clients. Refer to the relevant client documentation for more detailed instructions.
Note: The configurations shown below are examples. You will need to adapt the configuration for your own needs. For example, Windows users will need to replace the
commandline to specify the location of npx:"command": "C:\\Progra~1\\nodejs\\npx.cmd"The
<THOUSANDEYES_API_TOKEN>variable should be replaced with your API token.
To use Claude Desktop, update the configuration in claude_desktop_config.json as shown below. This example configuration uses the npx mcp-remote command, which acts as a local proxy. Requests from the Claude Desktop client are intercepted, and the necessary Authorization header is injected before forwarding the request to the ThousandEyes MCP server.
This method is useful for clients that don't have a native interface for adding custom request headers.
Note: The Claude web interface is not supported.
Additional Prerequisites:
{
"mcpServers": {
"thousandeyes-mcp-server": {
"command": "npx",
"args": [
"mcp-remote@latest",
"https://api.thousandeyes.com/mcp",
"--transport",
"http-only",
"--header",
"Authorization: Bearer ${AUTH_TOKEN}"
],
"env": {
"AUTH_TOKEN": "<insert your token>"
}
}
}
}Note: If OAuth2 Dynamic Client Configuration (DCR) authentication is used, a browser is required to enable access and to share the token with the client.
{
"mcpServers": {
"thousandeyes-mcp-server": {
"command": "npx",
"args": [
"mcp-remote@latest",
"https://api.thousandeyes.com/mcp",
"--transport",
"http-only"
]
}
}
}The Cursor IDE's MCP client allows for the direct specification of custom HTTP headers, with the Authorization header sent with every request to the MCP server.
{
"mcpServers": {
"thousandeyes-mcp-remote": {
"url": "https://api.thousandeyes.com/mcp",
"headers": {
"Authorization": "Bearer <THOUSANDEYES_API_TOKEN>"
}
}
}
}Note: If OAuth2 Dynamic Client Configuration (DCR) authentication is used, a browser is required to enable access and to share the token with the client.
{
"mcpServers": {
"thousandeyes-mcp-remote": {
"url": "https://api.thousandeyes.com/mcp"
}
}
}VS Code's input variables allow you to create a secure prompt within the IDE for the user to enter their API token, rather than hardcoding the token into a configuration file.
The ${input:te-key} variable is then dynamically replaced with the entered key at runtime, preventing the token from being accidentally saved to source control.
Additional Prerequisites:
{
"inputs": [
{
"type": "promptString",
"id": "te-key",
"description": "ThousandEyes API Key",
"password": true
}
],
"servers": {
"mcp-thousandeyes": {
"url": "https://api.thousandeyes.com/mcp",
"headers": {
"Authorization": "Bearer ${input:te-key}"
}
}
}
}Use the configuration examples below as a basis for creating a ~/.kiro/settings/mcp.json file.
Additional Prerequisites:
{
"mcpServers": {
"thousandeyes-mcp-server": {
"command": "npx",
"args": [
"mcp-remote@latest",
"https://api.thousandeyes.com/mcp",
"--transport",
"http-only",
"--header",
"Authorization: Bearer ${AUTH_TOKEN}"
],
"env": {
"AUTH_TOKEN": "<THOUSANDEYES_API_TOKEN>"
}
}
}
}Note: If OAuth2 Dynamic Client Configuration (DCR) authentication is used, a browser is required to enable access and to share the token with the client.
{
"mcpServers": {
"thousandeyes-mcp-server": {
"command": "npx",
"args": [
"mcp-remote@latest",
"https://api.thousandeyes.com/mcp",
"--transport",
"http-only"
]
}
}
}Recommendation: Be selective with the tools you enable. Enabling too many tools at once can lead to degraded MCP server performance, including delayed responses and timeouts.
| Tool | Description | Sample Prompts |
|---|---|---|
| List Tests | View all configured tests (web apps, services, networks being monitored). | "What tests am I running?" / "What apps am I monitoring?" |
| Get Test Details | Retrieve detailed information about a specific test. | "Can you provide me details of the test name test?" |
| List Events | Find network and application problems within a time range. | "Do I have any active events?" / "Were there any active events at 3pm today?" |
| Get Event Details | Deep dive into specific events with impacted targets, locations, and agents. | "Can you provide detail for event name or event number from the list?" |
| List Alerts | View triggered or cleared alerts. | "Do I have any active alerts?" / "Do I have any alerts for time?" |
| Get Alert Details | Get comprehensive information about specific alerts. | "Can you provide me more details of the critical alert?" |
| Search Outages | Find network and application outages with various filters. | "What outages have occurred in the last 24 hours?" / "Can you provide more details about app/network outage?" |
| Instant Tests | Active troubleshooting — run and rerun tests on demand. | "Run an HTTP test to https://example.org from our Seattle and San Francisco agents." |
| Tool | Description | Sample Prompts |
|---|---|---|
| Get Anomalies | Detect metric anomalies in test data over time. | "Can you find anomalies during time period for test test name?" |
| Get Metrics | Retrieve aggregated metrics for custom dashboards and reports. | "Can you retrieve the metrics for the test name from time/date?" |
| Tool | Description | Sample Prompts |
|---|---|---|
| Views Explanations | Explain specific test results and visualizations. | "Explain the network path for test at time/date." |
| Tool | Description | Sample Prompts |
|---|---|---|
| List Endpoint Agents and Tests | List endpoint agents with filtering as well as tests. | "Show me all my Endpoint Agents." / "What Endpoint Agents do I have deployed?" |
| Get Endpoint Agent Metrics | Time series data from endpoint agents (network, web, wireless, cellular metrics). | "Get all Endpoint Agent data for the last hour." / "Get Endpoint Agent metrics for network performance." |
| Tool | Description | Sample Prompts |
|---|---|---|
| Get Path Visualization | See network paths and hop-by-hop routing information. | "What is the hop-by-hop network path for my test from agent at time?" |
| Get Full Path Visualization | Comprehensive path data for all agents and rounds. | "What is the network path for test?" / "Which locations are network exchanges?" / "Which have mpls hop label = label?" |
| Get BGP Test Results | BGP reachability and routing information. | "What are the BGP test results for test name at time and date?" |
| Get BGP Route Details | Detailed AS path and routing information for specific prefixes. | "Can you provide route details from route monitor at time and date?" |
Note: By default, queries are scoped to your default account group. To expand the scope to multiple or all account groups, you can specify which account groups you want data retrieved from in your prompt to the MCP server.
| Tool | Description | Sample Prompts |
|---|---|---|
| Get Account Groups | List available account groups. | "What is my default account group?" / "What account groups have app tests in them?" |
If you are using an MCP server client that uses npx and encounter the command not found error, you may not have Node.js installed. For instructions, see the Node.js documentation.
You can use the following commands to verify Node.js is installed correctly in a terminal:
# bash% node --version v22.18.0 # npx --version 10.9.3
Source: ThousandEyes Documentation — Last updated February 2026
© 2025 Cisco Systems, Inc. and its affiliates. All rights reserved.
Owner
Contributors
Categories
ObservabilityProducts
ThousandEyesAI
MCP ServersFeatures / Capabilities
ToolsLicense
Code Exchange Community
Get help, share code, and collaborate with other developers in the Code Exchange community.View Community