Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,12 @@ make download

`make codegen` runs `extract_api_spec.py`, `generate_cli.py`, and `generate_skills.py`.

For command naming exceptions, edit `codegen/naming_overrides.py`; see
`docs/command-migration.md` for naming and compatibility conventions, and
`docs/command-inventory.md` for the reviewed refresh inventory. These route-based
overrides feed both generated commands and skill references. Use `custom_*.go`
and the generator skip lists when the request itself needs handwritten handling.

No API key is required — collections are fetched from the Webex Public Workspace via Postman's public gateway (`codegen/download_collections.py`).

A weekly GitHub Actions workflow (`.github/workflows/update-collections.yml`) downloads collections, regenerates commands and skills, and opens or updates a PR. It also has `workflow_dispatch`. If GitHub has disabled it for inactivity, re-enable it under Actions after merging workflow fixes.
Expand Down Expand Up @@ -76,3 +82,7 @@ gh release edit v0.X.0 --title "v0.X.0" --notes "## Improvements
- `codegen/generate_cli.py` — API spec → Go cobra command files
- `codegen/generate_skills.py` — API spec → Command Reference blocks in `skill/<area>/SKILL.md`
- `codegen/diff_spec.py` — Changelog between two spec snapshots (used by the weekly workflow)

## Documentation checks

Update README, the site area pages, and handwritten skill guidance alongside API changes. Run `make codegen` for all six generated skill references, `python3 -m unittest discover -s codegen -p 'test_*.py'` for naming checks, and `npm run build` in `site/` for documentation validation. Keep command documentation focused on behavior, compatibility, and known limitations. Put PR validation and work-session results in the PR, not repository documentation; do not include personal identities or tenant test data.
6 changes: 6 additions & 0 deletions CLAUDE_DESKTOP.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,3 +144,9 @@ Run `webex login` in a terminal, then retry. Tokens are stored in the OS keyring

**Wrong Webex org**
Use `webex auth set-org <orgId>` to set a persistent org override, or pass `--organization <orgId>` on individual commands via the `flags` parameter.

## Updated command references

Use the repository skill files from the same revision as your CLI. The Postman refresh adds Calling metrics/personal controls, Contact Center flow authoring and functions, usage reports, and HDS monitoring. See the [refresh inventory](docs/command-inventory.md) and [command migration map](docs/command-migration.md).

`cc flow import`/`export` now use current-format flow JSON; `export-legacy` retains raw FDL. Legacy flow import and custom-function import still lack their upload implementations. `cc tasks resume` remains a voice-unhold alias; digital tasks use `resume-digital`. Refresh previously installed skill copies after upgrading the CLI.
20 changes: 16 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,11 +91,11 @@ All upload commands support `--dry-run` to preview the request without sending i

### Calling (`webex calling`)

47 resource groups including auto-attendants, call queues (CxE), hunt groups, call controls, call routing (dial plans, route groups, trunks), DECT devices, emergency services, locations, numbers, paging groups, people, workspaces, voicemail, converged recordings, and more.
49 resource groups including auto-attendants, call queues (CxE), hunt groups, call controls, call routing (dial plans, route groups, trunks), DECT devices, emergency services, locations, numbers, paging groups, people, workspaces, voicemail, converged recordings, and more.

### Contact Center (`webex cc`)

54 resource groups including sites, queues, entry points, teams, flows, skills, desktop layouts, global variables, business hours, auxiliary codes, campaigns, callbacks, realtime stats, AI assistant, journey analytics, subscriptions, and more.
64 resource groups including sites, queues, entry points, teams, flows, skills, desktop layouts, global variables, business hours, auxiliary codes, campaigns, callbacks, realtime stats, AI assistant, journey analytics, subscriptions, and more.

### Admin (`webex admin`)

Expand All @@ -113,6 +113,18 @@ All upload commands support `--dry-run` to preview the request without sending i

12 resource groups including rooms, messages, memberships, teams, team memberships, webhooks, events, attachment actions, room tabs, and more.

## Postman refresh: command changes

Resource operations use `get`, `delete`, `patch`, and `update` with `--id`; previous `get-id`, `delete-id`, `patch-id`, and `update-id` spellings remain aliases.

- Calling adds `call-controls-for-me` and `metrics get-call-quality-stats`.
- Contact Center adds flow activity/event/template discovery, custom functions, assets/channels, usage reports, campaign groups, search metadata, and completed-task variable updates.
- `cc flow import`/`export` now use the current FlowV2 format. Use `export-legacy` for raw FDL; `import-legacy` upload handling remains incomplete. `functions import` also needs multipart upload handling.
- `cc tasks resume` still means voice unhold. Digital tasks use `pause-digital`/`resume-digital`.
- Messaging consolidates HDS operations under `hds`, with `hybrid-data-security` as an alias. Admin and Meetings add body-based recording searches; Meetings also adds group service-app operations.

See the [full refresh inventory](docs/command-inventory.md), [every renamed command](docs/command-migration.md), and [Contact Center skill](skill/cc/SKILL.md) for migration details and examples. Upstream collections remain unchanged; overrides control names, routes, and product placement.

## Authentication

- **OAuth PKCE flow** — `webex login` opens a browser, no client secret needed on the user side
Expand Down Expand Up @@ -225,13 +237,13 @@ And 2 MCP resources:
| `webex://commands` | JSON array of all available CLI commands with short descriptions |
| `webex://usage` | Last 50 raw lines of the usage log |

Rather than exposing fixed per-API tools, the dispatcher pattern lets AI clients invoke the full CLI surface via `webex_run` — the command tree expands automatically as new commands are added.
Rather than exposing fixed per-API tools, the dispatcher pattern lets AI clients invoke the full CLI surface via `webex_read` and `webex_write` — the command tree expands automatically as new commands are added.

Auth is shared with the CLI — run `webex login` once and the MCP server uses the same stored credentials. Token refresh is handled automatically.

### Usage Log

All `webex_run` invocations are logged to `~/.webex-mcp/usage.log` (JSONL). Configure with serve flags:
All dispatcher invocations are logged to `~/.webex-mcp/usage.log` (JSONL). Configure with serve flags:

```bash
webex mcp serve --log-path /tmp/webex.log --log-max-size 10485760 --log-max-files 5
Expand Down
31 changes: 31 additions & 0 deletions cmd/admin/archive_users.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 9 additions & 9 deletions cmd/admin/data_sources.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

107 changes: 107 additions & 0 deletions cmd/admin/identity_org.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading