Skip to main content

Read-only MCP server for Cisco Unified CM 15 Trace Collection — wraps the LogCollectionPortTypeService SOAP API for headless log fetch without RTMT. Sibling to mcp-cucm-axl.

Project description

mcsiphon

Read-only MCP server for Cisco Unified CM 15 Trace Collection — wraps the LogCollectionPortTypeService SOAP API so an LLM can list, select, and fetch CUCM log files without needing RTMT.

Companion to mcp-cucm-axl (config) and mcp-cisco-docs (docs). This one handles the operational telemetry.

What it exposes

Tool Purpose
health Confirm CUCM connectivity + auth (calls getTimeZone under the hood)
get_time_zone Server's TZ string
list_node_service_logs Enumerate available services per cluster node
select_log_files Find log files matching criteria — returns metadata only
get_one_file Download one file; caches locally; returns path + preview
render_sip_ladder One-shot: fetch SDL trace → preprocess to SIPL/SIPT → run RTMT's HTMLGenerator headlessly → return HTML+PNG ladder diagram. Requires RTMT_LADDER_SCRIPT and RTMT_TEMPLATE_DIR env vars.

Read-only by structural guarantee — no selectLogFiles write parameters exposed (SFTP push fields are wired off, never accept user input).

Setup

1. Configure environment

Edit .env:

TCT_BASE=https://cucm-pub.example.org:8443
TCT_USER=YourServiceAccount
TCT_PASS=YourPassword
TCT_VERIFY_TLS=false   # set true if you've trusted the CUCM CA

2. Required CUCM RBAC

The service account needs both:

  • Standard CCM Admin Users — webapp baseline gate (without it, every request is HTTP 403 with no useful error)
  • Standard RealtimeAndTraceCollection — operation-level grant

Grant via Access Control Group, not direct user-role assignment.

3. Run

uvx mcsiphon          # if installed
# or from source:
uv run mcsiphon

4. Add to Claude Code

claude mcp add siphon "uvx mcsiphon"

Sample usage from an LLM

LLM: list_node_service_logs()
→ {"cucm-pub.example.org": {"ServiceLog": ["Cisco CallManager", ...], "SystemLog": [...]}, ...}

LLM: select_log_files(services=["Cisco CallManager"], minutes_back=5)
→ [{"node": "cucm-pub", "service": "Cisco CallManager",
    "absolute_path": "/var/log/active/cm/trace/ccm/sdl/SDL001_100_000127.txt.gzo",
    "size_bytes": "211561", "modified_date": "Sun Apr 26 00:23:22 MDT 2026"}]

LLM: get_one_file(absolute_path="/var/log/active/cm/trace/ccm/sdl/SDL001_100_000127.txt.gzo")
→ {"cache_path": "/home/user/.cache/mcsiphon/files/_var_log_..._SDL001_100_000127.txt.gzo",
   "size_bytes": 6742501, "line_count": 56835,
   "preview": "18047782.000 |00:23:18.222 |FileHead |..."}

See also

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

mcsiphon-2026.4.27.1.tar.gz (101.8 kB view details)

Uploaded Source

Built Distribution

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

mcsiphon-2026.4.27.1-py3-none-any.whl (20.9 kB view details)

Uploaded Python 3

File details

Details for the file mcsiphon-2026.4.27.1.tar.gz.

File metadata

  • Download URL: mcsiphon-2026.4.27.1.tar.gz
  • Upload date:
  • Size: 101.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"EndeavourOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for mcsiphon-2026.4.27.1.tar.gz
Algorithm Hash digest
SHA256 2440572a5f22f3b0d60e3c1eeb1a940ef85bab01c27447dc589d1edb7451c7c4
MD5 1be7e9224a4823ab73be893b1af457af
BLAKE2b-256 b6ad422c8644dc06f718d72f57b353cf5a704d624d2fe9ae7554729061ab9952

See more details on using hashes here.

File details

Details for the file mcsiphon-2026.4.27.1-py3-none-any.whl.

File metadata

  • Download URL: mcsiphon-2026.4.27.1-py3-none-any.whl
  • Upload date:
  • Size: 20.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"EndeavourOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for mcsiphon-2026.4.27.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e21ff606c4ec76ea994972963079260b8a73d98bc866761604e73d86550d7744
MD5 b20fff641738bed686ed13d7f4ab9df9
BLAKE2b-256 154a49f6abdc9d4fe41e00275cd92904f26eed884ac4ad61a5639d9a02c36673

See more details on using hashes here.

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