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.1.tar.gz (371.2 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.1-py3-none-any.whl (45.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: thousand_eyes_super_mcp-0.2.1.tar.gz
  • Upload date:
  • Size: 371.2 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.1.tar.gz
Algorithm Hash digest
SHA256 f087194c75ee1f5b8874bf681f19042aad71ea952d5c8139882695ee41565060
MD5 b4a93738ed53350276f1a9e1a6a105b0
BLAKE2b-256 ca16aaa77bdc76dde914ee127ea8e496a5efd7fd830e4aa94eb26aeccafbcc3b

See more details on using hashes here.

Provenance

The following attestation bundles were made for thousand_eyes_super_mcp-0.2.1.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.1-py3-none-any.whl.

File metadata

File hashes

Hashes for thousand_eyes_super_mcp-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b0482ac01cd6376a567a7bfa14216c3afb699aef2bda8c88f37cb7839c1c8a84
MD5 095216204a45816ae9ee83d7a97f1c88
BLAKE2b-256 99a413077cc00e27ac51f9f043cfbc216d8187c84f24a258a6e57c73d8506d4b

See more details on using hashes here.

Provenance

The following attestation bundles were made for thousand_eyes_super_mcp-0.2.1-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