Skip to main content

FastMCP server for the Cisco ThousandEyes API, generated dynamically from the official OpenAPI spec.

Project description

thousand-eyes-super-mcp

FastMCP server for the Cisco ThousandEyes API, generated dynamically from the official OpenAPI spec.

ThousandEyes is Cisco's SaaS for end-to-end network and application visibility — synthetic agent tests, BGP monitoring, internet weather, endpoint experience. This server exposes the entire v7 REST API as MCP tools, ready to drop into Claude Desktop, Claude Code, Cursor, or any MCP-aware client.

Status

Read-only by default. See CHANGELOG.md for the current release and what changed.

Install

uv tool install thousand-eyes-super-mcp

Configure

  1. Set THOUSANDEYES_BEARER_TOKEN. Either export it in your shell, drop it in a .env (copy .env.example) in the directory you run from, or — when an MCP client launches the server — put it in the client's server env block. Generate a token at https://app.thousandeyes.com under Account Settings → Users and Roles → Profile → User API Tokens.
  2. (Optional) Edit thousand-eyes-mcp.yaml for runtime knobs — transport, splitting cap, retries, pagination, default account group.

The YAML file is optional — env vars alone are enough to run, which is what makes uv tool install + an MCP client work (the client's working directory isn't your project dir, so no YAML is on disk). Configuration precedence, highest first: CLI flags → environment variables → YAML file → defaults.

Run

thousand-eyes-mcp                                          # stdio (Claude Desktop)
thousand-eyes-mcp --transport sse --host 0.0.0.0 --port 8000
thousand-eyes-mcp --read-write                             # enable mutating endpoints

CLI subcommands

thousand-eyes-mcp fetch 7.0.88              # download a spec without starting the server
thousand-eyes-mcp fetch --all-known         # download every known version
thousand-eyes-mcp list-versions             # offline: enumerate known + cached versions
thousand-eyes-mcp discover-versions         # [experimental] diff DevNet vs KNOWN_SPEC_URLS
thousand-eyes-mcp --diff 7.0.88 7.0.89      # diff two on-disk spec versions

How it works

  • Bearer token auth. ThousandEyes issues long-lived OAuth2 bearer tokens out-of-band; the dispatcher sets Authorization: Bearer <token> on every request. No login flow, no refresh.
  • Dynamic tool generation. At startup, the loader merges every spec file under specs/<version>/, groups operations by tag, and splits oversized groups via an adaptive algorithm (section → sub-tag → URL path depth) so no single tool overwhelms the LLM with too many actions.
  • Stable action names. Derived from (method, path, tag) rather than upstream operationId, so naming stays consistent across spec releases.
  • Pagination auto-follow. Cursor pagination via _links.next.href and offset/limit pagination are detected from spec parameters and stitched automatically. Override per-call with reserved params _max_pages, _page_size, _auto_follow.
  • Configurable retry. 429/502/503/504 are retried with exponential backoff + jitter. Mutating methods are not retried by default; opt in with retry_mutating: true.
  • Transports. stdio (default), SSE, streamable-http. HTTP transports refuse to bind a non-loopback host with auth.type=none unless --insecure-allow-public is passed.

Docker

docker compose up --build

License

Apache-2.0 — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

thousand_eyes_super_mcp-0.2.0.tar.gz (370.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

thousand_eyes_super_mcp-0.2.0-py3-none-any.whl (45.5 kB view details)

Uploaded Python 3

File details

Details for the file thousand_eyes_super_mcp-0.2.0.tar.gz.

File metadata

  • Download URL: thousand_eyes_super_mcp-0.2.0.tar.gz
  • Upload date:
  • Size: 370.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for thousand_eyes_super_mcp-0.2.0.tar.gz
Algorithm Hash digest
SHA256 a0c9ee368a2e9e8a69428995a7d3f55a8561f5fa52a17dfb4c3fdb74d515891a
MD5 6a3a8b7b1eff58a944306289f169d022
BLAKE2b-256 7bcb854b7331aeb48b00ef61ebb898fb68dcc8312c1e7047cf10b522e13bae7c

See more details on using hashes here.

Provenance

The following attestation bundles were made for thousand_eyes_super_mcp-0.2.0.tar.gz:

Publisher: release.yml on thomaschristory/thousand-eyes-super-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file thousand_eyes_super_mcp-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for thousand_eyes_super_mcp-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ce1117b342619513b95013c4469ce87ff47bc118706a97bcd780400a4c25d4e5
MD5 1b24f093cb5cdafa684d35449914a98d
BLAKE2b-256 3971f551c130312cacd6ba95dc8d9f903fa2e7bb4d27ba67d3b0418f713ee7d7

See more details on using hashes here.

Provenance

The following attestation bundles were made for thousand_eyes_super_mcp-0.2.0-py3-none-any.whl:

Publisher: release.yml on thomaschristory/thousand-eyes-super-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page