Add MCP server: read/write tools, HTTP transport, DXT extension, skill bundle, Claude Desktop docs#2
Open
mycollablab wants to merge 20 commits intoCloverhound:mainfrom
Open
Add MCP server: read/write tools, HTTP transport, DXT extension, skill bundle, Claude Desktop docs#2mycollablab wants to merge 20 commits intoCloverhound:mainfrom
mycollablab wants to merge 20 commits intoCloverhound:mainfrom
Conversation
Split the monolithic skill/SKILL.md into 6 focused sub-skill files (admin, calling, cc, device, meetings, messaging) loaded on demand. Root SKILL.md trimmed from 418 to ~230 lines; each sub-skill provides comprehensive flag and body-schema coverage for its area. Updated postinstall and skillupdate to download and install all 7 files (root + 6 subfolders) so the full skill tree is available after `webex post-install`. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
New codegen step appends an auto-generated ## Command Reference section (sentinel-bounded <!-- codegen:start/end -->) to each skill/<area>/SKILL.md listing every command and its flags. Runs as the final step of `make codegen` after extract_api_spec.py and generate_cli.py. Idempotent — no-op if nothing has changed. Hand-written content above the sentinels is never touched. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Integrates the standalone MCP server prototype directly into the CLI. Tools use internal/client for direct Webex API calls instead of shelling out to the webex binary, sharing auth (via PersistentPreRunE), the HTTP client, and token refresh infrastructure with all other commands. Register with Claude Code: claude mcp add webex -- webex mcp serve Tools: webex_list_spaces, webex_get_messages, webex_search_messages, webex_send_message, webex_list_direct_messages, webex_get_person, webex_list_meetings, webex_get_meeting_transcript, webex_get_meeting_summary, webex_list_teams Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add webex mcp serve section with tool table and Claude Code registration - Update Coding Agent Skill section to describe the per-area sub-skill structure and the auto-generated Command Reference from make codegen - Fix resource group counts: Calling 45→47, Devices 9→10, Meetings 22→23 - Fix Quick Start: webex cc agents list (doesn't exist) → contact-service-queue list - Fix call-queue list → list-cxe for CxE queues - Update Development note to mention skill generation in make refresh Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- webex_run: executes any CLI command as subprocess (blocked list, injection guard, forced --output=json, JSONL usage logging) - webex_help: returns --help output for any command path - webex_usage: tail-reads the usage log with optional command filter - webex://commands resource: walks cobra tree at read time, returns all leaf commands with paths and short descriptions - webex://usage resource: returns last 50 raw JSONL log lines - Usage logger with size-based rotation (default 5 MB × 3 files) - serve flags: --log-path, --log-max-size, --log-max-files - Add RootCommand() accessor to cmd/root.go for cobra tree introspection Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
New commands: calling customer-assist, device locations, meetings slidosecurepremium. Updated generated files across admin, calling, cc, device, meetings, and messaging areas. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- HTTP transport mode (--http, port 47890, loopback-only enforcement) - webex mcp stop — SIGTERM via PID file at ~/.webex-mcp/server.pid - extension/manifest.json + icon.png for Claude Desktop Extension (.dxt) - make extension target produces webex-mcp.dxt for admin portal distribution - mcp-config-sample.json for both stdio and HTTP client configurations - skill/SKILL.md: MCP server usage instructions for Claude Desktop Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Per the v0.3 schema: server.entry_point is required, and author should only have name (no url field to avoid any URI validation edge cases). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ound branding - webex_read: GET-style operations only (list, get, download, export, search, status) enforced by action verb check — safe for alwaysAllow in permissions - webex_write: POST/PUT/PATCH/DELETE operations with explicit confirmation required - usageEntry.Tool field logs which tool was used per invocation - manifest.json and mcp-config-sample.json updated for 4-tool surface - Icon: Cloverhound Blue (#003660) background, Teal (#00B2CC) Webex logo, 512x512 PNG Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Navy #002855 background (no rounded corners), Teal #00B2CC foreground. PNG is RGB (no alpha channel), 512x512. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…teal) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Covers DXT admin portal distribution, HTTP transport alternative, the four MCP tools and their permission model, how to load the skill via Claude Desktop Projects, auth management, and common troubleshooting. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Produces webex.skill with webex-cli/{SKILL.md,admin,calling,cc,device,meetings,messaging}
structure — ready for manual upload to Claude Cowork or direct install to
~/.claude/skills/webex-cli/ by unzipping.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
ZIP now contains exactly one webex-cli/SKILL.md with all 7 skill files joined in order (root, admin, calling, cc, device, meetings, messaging). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
webex-cli/SKILL.md — root skill webex-cli/resources/admin.md webex-cli/resources/calling.md webex-cli/resources/cc.md webex-cli/resources/device.md webex-cli/resources/meetings.md webex-cli/resources/messaging.md Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a full MCP server integration to the Webex CLI, including a Claude Desktop extension for team distribution and a packaged skill bundle for agent onboarding.
MCP Server (
webex mcp serve)webex_readalwaysAllowwebex_writewebex_helpwebex_usage--http) — streamable HTTP server on127.0.0.1:47890; loopback-only enforcement; configurable portwebex mcp stop— SIGTERM via PID file at~/.webex-mcp/server.pid; removes stale files automaticallywebex://commands(full command list) andwebex://usage(last 50 log lines)~/.webex-mcp/usage.log, size-based rotation (5 MB × 3 files),toolfield distinguishes read vs writeClaude Desktop Extension (
webex-mcp.dxt)make extension— produceswebex-mcp.dxtfor upload to the Claude admin portal#07162D/ teal#21B194), 512×512 PNG, fully opaqueSkill Bundle (
webex.skill)make skill— produceswebex.skillZIP in the expected format:~/.claude/skills/for Claude CodeDocumentation
CLAUDE_DESKTOP.md— standalone guide: DXT install, HTTP transport, tool permission model, skill loading via Claude Desktop Projects, auth management, troubleshootingmcp-config-sample.json— ready-to-use configs for both stdio and HTTP clients;webex_readinalwaysAllowskill/SKILL.mdandREADME.mdupdated throughoutFiles changed
cmd/mcp/dispatcher.gowebex_read,webex_write,webex_help,webex_usage— shared dispatch handler with read-verb enforcementcmd/mcp/logger.goToolfield on log entriescmd/mcp/resources.gowebex://commandsandwebex://usageMCP resourcescmd/mcp/serve.gocmd/mcp/stop.gowebex mcp stopcommandextension/manifest.jsonentry_point, 4 toolsextension/icon.pngWebex--Cloverhound-Icons.svgmcp-config-sample.jsonCLAUDE_DESKTOP.mdREADME.mdskill/SKILL.mdMakefileextensionandskilltargets;cleanremoves both artifacts.gitignorewebex-mcp.dxt,webex.skillTest plan
go build ./...passeswebex mcp serve(stdio) — tools appear inclaude mcp listwebex_readwithcalling people list— returns JSON, logged withtool: webex_readwebex_readwithmessaging messages create— rejected with write-operation errorwebex_writewith a create command — executes after confirmationwebex mcp serve --http— starts on 127.0.0.1:47890, PID file writtenwebex mcp stop— server stops, PID file removedmake extension—webex-mcp.dxtcontainsmanifest.json+icon.pngmake skill—webex.skillcontains exactlywebex-cli/SKILL.md+ 6resources/*.mdfiles🤖 Generated with Claude Code