Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Cisco Webex MCP server for messages, spaces, teams, people, webhooks and attachments.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
WEBEX_ACCESS_TOKENค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"webex": {
"command": "npx",
"args": [
"-y",
"@yuryev89/webex-mcp"
],
"env": {
"WEBEX_ACCESS_TOKEN": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add webex --env WEBEX_ACCESS_TOKEN='ใส่ค่าของคุณ' -- npx -y @yuryev89/webex-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"webex": {
"command": "npx",
"args": [
"-y",
"@yuryev89/webex-mcp"
],
"env": {
"WEBEX_ACCESS_TOKEN": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"webex": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@yuryev89/webex-mcp"
],
"env": {
"WEBEX_ACCESS_TOKEN": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub yuryev89 ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: WEBEX_ACCESS_TOKEN
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.3.0) เข้า registry เมื่อวาน
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, FlyDocs
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Spec-driven development workflow: your agent works issues, sessions and the status lifecycle.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Maintainers: see Publishing a release for GitHub Releases and npm setup.
MCP server for Cisco Webex Messaging — connect AI assistants to Webex spaces, messages, and people.
Minimal MCP server that exposes Webex messaging tools over stdio. Works with Cursor, Claude Desktop, Codex, Claude Code, OpenCode, and other MCP clients.
webex-node SDK with REST fallback for select endpoints# Run via npx (recommended)
npx -y @yuryev89/webex-mcp@latest --token YOUR_ACCESS_TOKEN
npm install -g @yuryev89/webex-mcp webex-mcp --token YOUR_ACCESS_TOKEN
# 1. Set credentials (or use a .env file in your working directory)
export WEBEX_CLIENT_ID="your-client-id" export WEBEX_CLIENT_SECRET="your-client-secret"
npx -y @yuryev89/webex-mcp@latest login
npx -y @yuryev89/webex-mcp@latest
{
"mcpServers": { "webex": { "command": "bash", "args": [ "-lc", "npx -y @yuryev89/webex-mcp@latest --token \"$WEBEX_ACCESS_TOKEN\"" ], "env": { "WEBEX_ACCESS_TOKEN": "YOUR_BOT_ACCESS_TOKEN" } } } }
{
"mcpServers": { "webex": { "command": "npx", "args": ["-y", "@yuryev89/webex-mcp@latest"], "env": { "WEBEX_CLIENT_ID": "YOUR_CLIENT_ID", "WEBEX_CLIENT_SECRET": "YOUR_CLIENT_SECRET" } } } }
Run npx -y @yuryev89/webex-mcp@latest login once before starting Cursor (with WEBEX_CLIENT_ID and WEBEX_CLIENT_SECRET set).
Add one of the following configurations to ~/.codex/config.toml (merge it with any existing configuration).
[mcp_servers.webex]
command = "npx" args = ["-y", "@yuryev89/webex-mcp@latest"]
[mcp_servers.webex.env] WEBEX_ACCESS_TOKEN = "YOUR_BOT_ACCESS_TOKEN"
Complete Option B — OAuth Integration first, then use:
[mcp_servers.webex]
command = "npx" args = ["-y", "@yuryev89/webex-mcp@latest"]
[mcp_servers.webex.env] WEBEX_CLIENT_ID = "YOUR_CLIENT_ID" WEBEX_CLIENT_SECRET = "YOUR_CLIENT_SECRET"
Alternatively, keep credentials in your shell environment and replace the [mcp_servers.webex.env] table with env_vars = ["WEBEX_ACCESS_TOKEN"] inside [mcp_servers.webex] (or ["WEBEX_CLIENT_ID", "WEBEX_CLIENT_SECRET"] for OAuth). Start Codex from that shell.
Run codex mcp list to verify registration, then use /mcp in Codex to inspect the active server.
Reference: Codex MCP documentation.
The following commands register Webex for your user account across projects. Choose one authentication mode.
claude mcp add --scope user \
--env WEBEX_ACCESS_TOKEN=YOUR_BOT_ACCESS_TOKEN \ --transport stdio webex -- npx -y @yuryev89/webex-mcp@latest
Complete Option B — OAuth Integration first, then register:
claude mcp add --scope user \
--env WEBEX_CLIENT_ID=YOUR_CLIENT_ID \ --env WEBEX_CLIENT_SECRET=YOUR_CLIENT_SECRET \ --transport stdio webex -- npx -y @yuryev89/webex-mcp@latest
Run claude mcp list or claude mcp get webex to check the connection. Inside Claude Code, use /mcp to inspect status and tools. To switch modes, remove the existing entry with claude mcp remove --scope user webex, then register it again.
Reference: Claude Code MCP documentation.
Merge one of these examples into opencode.json in your project, or ~/.config/opencode/opencode.json for all projects.
{
"$schema": "https://opencode.ai/config.json", "mcp": { "webex": { "type": "local", "command": ["npx", "-y", "@yuryev89/webex-mcp@latest"], "enabled": true, "environment": { "WEBEX_ACCESS_TOKEN": "{env:WEBEX_ACCESS_TOKEN}" } } } }
Set WEBEX_ACCESS_TOKEN in your environment before launching OpenCode; {env:...} reads that variable.
Complete Option B — OAuth Integration first, then use:
{
"$schema": "https://opencode.ai/config.json", "mcp": { "webex": { "type": "local", "command": ["npx", "-y", "@yuryev89/webex-mcp@latest"], "enabled": true, "environment": { "WEBEX_CLIENT_ID": "{env:WEBEX_CLIENT_ID}", "WEBEX_CLIENT_SECRET": "{env:WEBEX_CLIENT_SECRET}" } } } }
Keep WEBEX_CLIENT_ID and WEBEX_CLIENT_SECRET exported when launching OpenCode. Run opencode mcp list to check the server.
References: OpenCode MCP documentation and configuration.
npx -y @yuryev89/webex-mcp@latest login. Run it under the same OS user and token-store configuration as the client. Client-native MCP OAuth login commands do not replace this step.WEBEX_ACCESS_TOKEN from the client configuration, inherited environment, and any loaded .env: a static token takes precedence over saved OAuth tokens.npx are available to the client, then restart it after configuration changes.webex_search_messages searches one space at a time.| Option / Command | Description | Default |
|---|---|---|
--token | Webex access token (Bot mode) | $WEBEX_ACCESS_TOKEN |
--fedramp | Use FedRAMP endpoint | false |
--debug | Log startup to stderr | false |
login | OAuth browser login, save tokens | — |
logout | Remove stored OAuth tokens | — |
auth-status | Show OAuth expiry metadata | — |
| Tool | Description |
|---|---|
webex_list_spaces | List spaces (rooms) for the authenticated user |
webex_search_spaces | Search spaces by title/name (case-insensitive) |
webex_get_space | Get space details by ID |
webex_create_space | Create a new space |
webex_update_space | Update a space |
webex_delete_space | Delete a space |
webex_get_space_meeting_info | Get meeting details for a space |
| Tool | Description |
|---|---|
webex_get_messages | List messages in a space or get one by ID (includeFileDetails adds attachment names/types/sizes) |
webex_search_messages | Keyword search within a single space |
webex_create_message | Send text and/or file attachments to a space or DM |
webex_update_message | Update an existing message |
webex_delete_message | Delete a message |
webex_list_direct_messages | List messages in a 1:1 direct room (includeFileDetails as above) |
webex_create_attachment_action | Submit an attachment card action |
webex_get_attachment_action | Get attachment action details |
Use webex_create_message with files for publicly accessible HTTP(S) URLs:
{
"roomId": "SPACE_ID", "text": "Here is the report", "files": ["https://example.com/report.pdf"] }
For a local file, use filePath instead. The server uploads its contents using multipart; the file must be on the machine running the MCP server, with an absolute path and a size of at most 100 MB:
{
"toPersonEmail": "colleague@example.com", "filePath": "/absolute/path/to/report.pdf" }
On Windows, use an absolute Windows path such as C:\\Reports\\report.pdf. Text and markdown are optional when attaching a file. files must be nonempty and cannot be combined with filePath. Recipient fields (roomId, toPersonId, toPersonEmail) and parentId for thread replies work as with text messages. URL downloads and attachment limits are enforced by Webex; private URLs requiring additional credentials cannot be used as public file URLs. See the Webex attachment guide.
| Tool | Description |
|---|---|
webex_get_file_details | Metadata (filename, type, size) for a message files[] URL |
webex_download_file | Read a file (max 10 MB): images inline, text paged with offset/maxChars, ZIP/JAR as an entry list |
webex_get_message_images | Download all image attachments on a message for LLM vision |
webex_save_file | Save one file to local disk (max 100 MB) and return its path |
webex_save_message_files | Save every file of a message to local disk |
What webex_download_file returns depends on the file:
| File | Result |
|---|---|
| PNG, JPEG, GIF, WebP | Inline ImageContent |
Text: text/*, JSON, XML, SQL, diff/patch, source code | JSON summary (totalChars, nextOffset, …) + the text, maxChars per call (default 50 000) |
| ZIP, JAR, WAR, EAR | List of entries (name, size, encrypted); nothing is extracted |
| Anything else (PDF, docx, xlsx, …) | Metadata and a hint to use webex_save_file |
For PDF and Office documents, save the file and open it with the client's own tools (many agents read PDFs and images directly; use a script for docx/xlsx). Saved files go to / / , where the download dir is WEBEX_DOWNLOAD_DIR or ~/.cache/webex-mcp/downloads. Names are taken from Webex, decoded and made safe for the file system; saving again replaces the file, and webex_save_message_files adds (1) to same-named files of one message. The body streams to .part and is renamed only when complete. Treat saved files as untrusted input: open or list them, never run them.
If Webex is still virus-scanning a file it answers 423 Locked; downloads wait for Retry-After (up to 10 s) and retry three times before failing.
| Tool | Description |
|---|---|
webex_list_memberships | List space memberships |
webex_get_membership | Get membership details |
webex_add_membership | Invite a person to a space |
webex_update_membership | Update membership (e.g. moderator) |
webex_remove_membership | Remove a person from a space |
| Tool | Description |
|---|---|
webex_get_people | Search people by email, name, or ID |
webex_get_person | Get a person by ID (use me for yourself) |
| Tool | Description |
|---|---|
webex_list_teams | List teams |
webex_create_team | Create a team |
| `webex
ตัดมาแค่ช่วงต้น อ่านต่อใน repo