Cisco ThousandEyes MCP Server Setup
Prerequisites
| Tool or access |
Purpose |
Verify |
| Bash and Python 3 |
Run bundled setup and validation helpers |
bash --version && python3 --version |
| Required product/platform access |
Inspect or configure the selected target |
Complete the documented preflight |
| Credential files for live modes |
Keep secrets out of chat |
Verify paths only |
Workflow Overview
┌───────────┐ ┌───────────────┐ ┌───────────────┐ ┌─────────────────┐
│ Preflight │ → │ Render/review │ → │ Apply/handoff │ → │ Validate evidence │
└───────────┘ └───────────────┘ └───────────────┘ └─────────────────┘
When to Activate
- Register the ThousandEyes MCP, set up TE in Cursor/Claude/Codex/VS Code/Kiro, configure the Cisco ThousandEyes
Cursor plugin, or pair an AI assistant with TE.
- Preview and review the cisco thousandeyes mcp setup workflow before any live apply phase.
- Diagnose failed prerequisites, generated assets, configuration, or validation evidence.
Scope
Follow the documented read-only or render-first path whenever it is available.
This skill does not imply permission to mutate live systems. Require explicit
apply flags, protected credentials, and operator review for state changes.
Examples
Inspect the supported setup modes before selecting one:
bash skills/cisco-thousandeyes-mcp-setup/scripts/setup.sh --help
Expected output: usage, supported modes, and required arguments are displayed
without changing the target environment.
Inspect validation modes before running completion checks:
bash skills/cisco-thousandeyes-mcp-setup/scripts/validate.sh --help
Expected output: offline, live, and completion options are displayed when the
skill supports them; help exits without mutation.
Troubleshooting
| Issue |
Cause |
Resolution |
| Preflight fails |
A required tool or access path is missing |
Resolve it before rendering or applying |
| Rendered assets are incomplete |
Required non-secret inputs are absent |
Complete intake and render again |
| Apply is blocked |
Review, credentials, or explicit acceptance is missing |
Use the documented handoff |
| Validation is incomplete |
Live evidence is unavailable |
Record the gap and keep completion open |
This skill is agent-tooling only — it does not move telemetry. For TE → Splunk Observability Cloud wiring (OpenTelemetry stream, Integrations 2.0 APM connector, full TE asset lifecycle), use splunk-observability-thousandeyes-integration. For the Splunk Platform ta_cisco_thousandeyes add-on, use cisco-thousandeyes-setup.
Overview
Render per-client MCP configurations for the official ThousandEyes MCP Server at https://api.thousandeyes.com/mcp. Optionally apply the configurations into the user's actual Cursor / Claude Code / Codex / VS Code / AWS Kiro config locations.
Render-first by default. Automated --apply is supported for Codex with OAuth2;
the other clients retain explicit reviewed manual merge handoffs.
Safety Rules
- Never ask for the ThousandEyes API token in conversation.
- Never pass the token on the command line or as an environment-variable prefix.
- Use
--te-token-file for the Bearer header path; the renderer never reads the token file.
- Reject direct token flags (
--te-token, --access-token, --token, --bearer-token, --api-token).
- Token files must be
chmod 600. --apply runs a permission preflight and aborts with a chmod 600 <path> hint when looser. --allow-loose-token-perms overrides with a WARN.
- Cursor and VS Code configs use
${input:te-key} prompt-string patterns or environment variables, never inline tokens. Codex should use OAuth2 browser consent unless a client-side secret store can inject Bearer headers without argv exposure. Claude Code uses an OAuth-pair browser flow.
--accept-te-mcp-write-tools records explicit operator acknowledgement for the write/Instant-Test group (Create/Update/Delete Synthetic Test, Run Instant Test, Deploy Template). It does not silently change client permissions; follow the rendered per-client approval guidance.
Primary Workflow
Decide which clients to register and which auth flow to use:
- OAuth Bearer Token: simplest; one shared token file per client. Counts against the org-wide 240 req/min rate limit.
- OAuth2 client: per-client OAuth2 flow with browser consent. Each OAuth2 client gets its own 240 req/min limit (recommended when multiple AI assistants share an org).
Render:
bash skills/cisco-thousandeyes-mcp-setup/scripts/setup.sh \
--render \
--client cursor,claude,codex,vscode,kiro \
--auth bearer \
--te-token-file /tmp/te_api_token \
--output-dir cisco-thousandeyes-mcp-rendered
Review cisco-thousandeyes-mcp-rendered/:
mcp/cursor.mcp.json
mcp/claude.mcp.json
mcp/codex-register-te-mcp.sh
mcp/vscode.mcp.json
mcp/kiro.mcp.json
mcp/README.md — per-client install instructions, rate-limit notes, unit-consumption warnings
metadata.json
Apply Codex OAuth2 registration only when explicitly requested. Cursor,
Claude, VS Code, and Kiro remain reviewed manual config merges:
bash skills/cisco-thousandeyes-mcp-setup/scripts/setup.sh \
--apply \
--client codex \
--auth oauth2
Tool Group Gating
The official ThousandEyes MCP Server exposes two tool groups:
- Read-only tools (auto-allowed): List/Get Tests, List/Get Events, List/Get Alerts, Search Outages, Get Anomalies, Get Metrics, Get Service Map, Views Explanations, Endpoint Agent Metrics + Connected Device, Cloud/Enterprise Agents, Get Path / Full Path / BGP Test Results / BGP Route Details, Get Account Groups, Search/Deploy Templates (Search only).
- Write/Instant-Test tools (require explicit per-client approval;
--accept-te-mcp-write-tools records operator acknowledgement): Create/Update/Delete Synthetic Test, Run Instant Test, Deploy Template.
Unit consumption. Run Instant Test consumes ThousandEyes units identically to scheduled tests. The rendered README always surfaces this warning, and --apply refuses to enable write tools without --accept-te-mcp-write-tools.
Hand-offs
- TE → Splunk Observability Cloud wiring →
splunk-observability-thousandeyes-integration (OpenTelemetry stream, Integrations 2.0 APM connector, full TE asset lifecycle).
- Splunk Platform
ta_cisco_thousandeyes add-on → cisco-thousandeyes-setup (HEC streaming inputs, OAuth device flow, indexes/sourcetypes).
Validation
bash skills/cisco-thousandeyes-mcp-setup/scripts/validate.sh
Static checks confirm every selected client has a renderable config; verifies no token material was written to any rendered file. Use --live after --apply to reach https://api.thousandeyes.com/mcp from each client config.
See reference.md for option details and references/clients.md for the per-client install matrix.
1---2name: cisco-thousandeyes-mcp-setup3description: Use when the user asks to register the ThousandEyes MCP, set up TE in Cursor/Claude/Codex/VS Code/Kiro, configure the Cisco ThousandEyes Cursor plugin, or pair an AI assistant with TE. Render and (optionally) apply Model Context Protocol client configurations for the official ThousandEyes MCP Server (https://api.thousandeyes.com/mcp, GA per docs.thousandeyes.com/.../thousandeyes-mcp-server). Supports Cursor, Claude Code, Codex, VS Code, and AWS Kiro clients with both OAuth Bearer and OAuth2 flows. Surfaces TE rate limits, the unit-consumption warning for Instant Tests, and gates the write/Instant- Test tool group behind an explicit acknowledgement.4---56# Cisco ThousandEyes MCP Server Setup78## Prerequisites910| Tool or access | Purpose | Verify |11|---|---|---|12| Bash and Python 3 | Run bundled setup and validation helpers | `bash --version && python3 --version` |13| Required product/platform access | Inspect or configure the selected target | Complete the documented preflight |14| Credential files for live modes | Keep secrets out of chat | Verify paths only |1516## Workflow Overview1718```text19┌───────────┐ ┌───────────────┐ ┌───────────────┐ ┌─────────────────┐20│ Preflight │ → │ Render/review │ → │ Apply/handoff │ → │ Validate evidence │21└───────────┘ └───────────────┘ └───────────────┘ └─────────────────┘22```2324## When to Activate2526- Register the ThousandEyes MCP, set up TE in Cursor/Claude/Codex/VS Code/Kiro, configure the Cisco ThousandEyes27 Cursor plugin, or pair an AI assistant with TE.28- Preview and review the cisco thousandeyes mcp setup workflow before any live apply phase.29- Diagnose failed prerequisites, generated assets, configuration, or validation evidence.3031## Scope3233Follow the documented read-only or render-first path whenever it is available.34This skill does not imply permission to mutate live systems. Require explicit35apply flags, protected credentials, and operator review for state changes.3637## Examples3839Inspect the supported setup modes before selecting one:4041```bash42bash skills/cisco-thousandeyes-mcp-setup/scripts/setup.sh --help43```4445Expected output: usage, supported modes, and required arguments are displayed46without changing the target environment.4748Inspect validation modes before running completion checks:4950```bash51bash skills/cisco-thousandeyes-mcp-setup/scripts/validate.sh --help52```5354Expected output: offline, live, and completion options are displayed when the55skill supports them; help exits without mutation.5657## Troubleshooting5859| Issue | Cause | Resolution |60|---|---|---|61| Preflight fails | A required tool or access path is missing | Resolve it before rendering or applying |62| Rendered assets are incomplete | Required non-secret inputs are absent | Complete intake and render again |63| Apply is blocked | Review, credentials, or explicit acceptance is missing | Use the documented handoff |64| Validation is incomplete | Live evidence is unavailable | Record the gap and keep completion open |6566This skill is **agent-tooling only** — it does not move telemetry. For TE → Splunk Observability Cloud wiring (OpenTelemetry stream, Integrations 2.0 APM connector, full TE asset lifecycle), use `splunk-observability-thousandeyes-integration`. For the Splunk Platform `ta_cisco_thousandeyes` add-on, use `cisco-thousandeyes-setup`.6768## Overview6970Render per-client MCP configurations for the official **ThousandEyes MCP Server** at `https://api.thousandeyes.com/mcp`. Optionally apply the configurations into the user's actual Cursor / Claude Code / Codex / VS Code / AWS Kiro config locations.7172Render-first by default. Automated `--apply` is supported for Codex with OAuth2;73the other clients retain explicit reviewed manual merge handoffs.7475## Safety Rules7677- Never ask for the ThousandEyes API token in conversation.78- Never pass the token on the command line or as an environment-variable prefix.79- Use `--te-token-file` for the Bearer header path; the renderer never reads the token file.80- Reject direct token flags (`--te-token`, `--access-token`, `--token`, `--bearer-token`, `--api-token`).81- Token files must be `chmod 600`. `--apply` runs a permission preflight and aborts with a `chmod 600 <path>` hint when looser. `--allow-loose-token-perms` overrides with a `WARN`.82- Cursor and VS Code configs use `${input:te-key}` prompt-string patterns or environment variables, never inline tokens. Codex should use OAuth2 browser consent unless a client-side secret store can inject Bearer headers without argv exposure. Claude Code uses an OAuth-pair browser flow.83- `--accept-te-mcp-write-tools` records explicit operator acknowledgement for the write/Instant-Test group (`Create/Update/Delete Synthetic Test`, `Run Instant Test`, `Deploy Template`). It does not silently change client permissions; follow the rendered per-client approval guidance.8485## Primary Workflow86871. Decide which clients to register and which auth flow to use:8889 - **OAuth Bearer Token**: simplest; one shared token file per client. Counts against the org-wide 240 req/min rate limit.90 - **OAuth2 client**: per-client OAuth2 flow with browser consent. Each OAuth2 client gets its own 240 req/min limit (recommended when multiple AI assistants share an org).91922. Render:9394 ```bash95 bash skills/cisco-thousandeyes-mcp-setup/scripts/setup.sh \96 --render \97 --client cursor,claude,codex,vscode,kiro \98 --auth bearer \99 --te-token-file /tmp/te_api_token \100 --output-dir cisco-thousandeyes-mcp-rendered101 ```1021033. Review `cisco-thousandeyes-mcp-rendered/`:104105 - `mcp/cursor.mcp.json`106 - `mcp/claude.mcp.json`107 - `mcp/codex-register-te-mcp.sh`108 - `mcp/vscode.mcp.json`109 - `mcp/kiro.mcp.json`110 - `mcp/README.md` — per-client install instructions, rate-limit notes, unit-consumption warnings111 - `metadata.json`1121134. Apply Codex OAuth2 registration only when explicitly requested. Cursor,114 Claude, VS Code, and Kiro remain reviewed manual config merges:115116 ```bash117 bash skills/cisco-thousandeyes-mcp-setup/scripts/setup.sh \118 --apply \119 --client codex \120 --auth oauth2121 ```122123## Tool Group Gating124125The official ThousandEyes MCP Server exposes two tool groups:126127- **Read-only tools** (auto-allowed): List/Get Tests, List/Get Events, List/Get Alerts, Search Outages, Get Anomalies, Get Metrics, Get Service Map, Views Explanations, Endpoint Agent Metrics + Connected Device, Cloud/Enterprise Agents, Get Path / Full Path / BGP Test Results / BGP Route Details, Get Account Groups, Search/Deploy Templates (Search only).128- **Write/Instant-Test tools** (require explicit per-client approval; `--accept-te-mcp-write-tools` records operator acknowledgement): Create/Update/Delete Synthetic Test, Run Instant Test, Deploy Template.129130**Unit consumption.** Run Instant Test consumes ThousandEyes units identically to scheduled tests. The rendered README always surfaces this warning, and `--apply` refuses to enable write tools without `--accept-te-mcp-write-tools`.131132## Hand-offs133134- TE → Splunk Observability Cloud wiring → `splunk-observability-thousandeyes-integration` (OpenTelemetry stream, Integrations 2.0 APM connector, full TE asset lifecycle).135- Splunk Platform `ta_cisco_thousandeyes` add-on → `cisco-thousandeyes-setup` (HEC streaming inputs, OAuth device flow, indexes/sourcetypes).136137## Validation138139```bash140bash skills/cisco-thousandeyes-mcp-setup/scripts/validate.sh141```142143Static checks confirm every selected client has a renderable config; verifies no token material was written to any rendered file. Use `--live` after `--apply` to reach `https://api.thousandeyes.com/mcp` from each client config.144145See `reference.md` for option details and `references/clients.md` for the per-client install matrix.