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. Copy .env.example to .env and fill in THOUSANDEYES_BEARER_TOKEN. 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.

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.1.0.tar.gz (364.5 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.1.0-py3-none-any.whl (43.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: thousand_eyes_super_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 364.5 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.1.0.tar.gz
Algorithm Hash digest
SHA256 9b1d10401d498be3e545bb99e0ced810ec4421d664edb8c9f2f9879d4968d88e
MD5 de61766a5cafc67c7bb0d19a717fc89f
BLAKE2b-256 47cccf133f91b8db63444ba99a73c51ecc45c37a3fad3c1ac85059832efe403e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for thousand_eyes_super_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a84dbfbe84a907f1ceac437b7c474b9c9ed554500469f7a8e20e8b122195dbf2
MD5 4ef0a410cca4cf48ddd77ec3142b3ce1
BLAKE2b-256 333d74dce4344492dcdbe41cc06152ae91c6b04e67b2da17469267ee86e0c0de

See more details on using hashes here.

Provenance

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