Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
StreamOne ION reseller API plus a local licence book: renewals, margin, seat true-up
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
TD_SYNNEX_ACCOUNT_ID, TD_SYNNEX_ACCESS_TOKEN, TD_SYNNEX_REFRESH_TOKEN, TD_SYNNEX_BASE_URL, TD_SYNNEX_MCP_READ_ONLY, TD_SYNNEX_MCP_HTTP_TOKEN, TD_SYNNEX_USER_AGENT, TD_SYNNEX_TAIL_MAX_PAGES, PRINTING_PRESS_CLIENT_PROFILE标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
链接指向作者自己的文件;我们不托管也不重新打包它。打开文件后,Claude Desktop 会进行安装。
在终端中运行这条命令
运行前请先填写空着的值。
浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
TD_SYNNEX_BASE_URL envTD_SYNNEX_MCP_READ_ONLY envTD_SYNNEX_USER_AGENT envTD_SYNNEX_TAIL_MAX_PAGES env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 servosity 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:TD_SYNNEX_ACCOUNT_ID, TD_SYNNEX_ACCESS_TOKEN, TD_SYNNEX_REFRESH_TOKEN, TD_SYNNEX_MCP_HTTP_TOKEN, PRINTING_PRESS_CLIENT_PROFILE
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.1.2)于15天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 MCPB。
同一分类中有:Spec Driven Development, Remote Desktop Commander, SwarmMemo
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
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.
Talk with agent swarms: rooms, private messages and paid tasks for AI agents
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Unofficial. Community-built Claude Code Skill and MCP server for the TD SYNNEX
API. Not affiliated with, endorsed by, or sponsored by TD SYNNEX Corporation.
▶ Watch the 30-second demo - demo data is simulated; every command shown exists in the real CLI.
Every StreamOne ION reseller API, plus a local licence book for renewals, margin and cross-distributor true-up. Works with the AI you already use - ChatGPT (desktop app), Claude Desktop, Codex, Claude Code, Claude Cowork, and GitHub Copilot - plus Gemini CLI. Free, open source, runs on your laptop. Built for MSP owners. No code required.
Security note (until this connector is reprinted). Do not run HTTP mode
(
--transport http), not even on localhost. This build checks a token, but it
predates the fix release's request size and time limits. The MCP tools can
also make changes with your credentials. Use the default stdio transport. If
you set up a tunnel for a remote agent, shut it down. A fix is on the way.
The six agents MSP owners actually use (self-serve, works today):
| Your AI agent | How to install the TD SYNNEX skill |
|---|---|
| Claude Desktop | Run installer, then Settings > Extensions to register td-synnex-mcp (no JSON editing). |
| ChatGPT (desktop app) | Run installer, then add td-synnex-mcp in Settings > MCP servers as a local (STDIO) server. ChatGPT on the web is not supported yet. |
| Codex CLI | Paste the install prompt below. |
| Claude Code | Paste the install prompt below. |
| Claude Cowork | Paste the install prompt below. |
| GitHub Copilot (VS Code) | Run installer, add td-synnex-mcp to mcp.json under the servers key, then pick Agent mode. |
The ChatGPT desktop app runs td-synnex-mcp locally and shares MCP configuration with Codex (OpenAI). ChatGPT on the web needs a remote (HTTP) server, and this connector's HTTP mode is paused until it is reprinted (see the security note in mcp-install.md), so msp-skills does not support it yet. If your team works there, a hosted gateway is the better pick; check that your AI app is on the gateway's setup list.
Big install base, but an honest heads-up: Gemini CLI runs the local binary you just installed, while Microsoft 365 Copilot and the Gemini app need a remote server, which msp-skills does not support yet.
| Agent | What it takes |
|---|---|
| Microsoft 365 Copilot / Copilot Studio | Not supported by msp-skills yet: it needs a remote server. A hosted gateway is the better pick; check that your AI app is on the gateway's setup list. |
| Google Gemini | Gemini CLI is local - same as Claude Code. See mcp-install.md. The Gemini app needs a remote server and is not supported by msp-skills yet. |
Skill-native agents (also covered): Hermes and OpenClaw read this skill's
SKILL.mddirectly *and* speak MCP - see their install sections below. Also works with Cursor, Windsurf, Cline, Continue.dev, and Zed via MCP. Full per-tool wire-up: [docs/which-agent.md](../../docs/which-agent.md).
Run more than one agent? Install across all 51+ supported agents in one command:
npx skills add Servosity/msp-skills@latest(requires Node.js, then run the per-skill installer for the CLI/MCP binaries). See docs/which-agent.md.
.mcpbDownload TD SYNNEX MCP (.mcpb) - then open Claude Desktop > Settings > Extensions and select the file. One click, no JSON. ION needs one shell step first: install the CLI (Path B below) and run td-synnex-cli auth mint --refresh-token-stdin once (see Authenticate); the extension reads the token it saves. (Browse every TD SYNNEX release on the releases page.)
Prefer the Claude Code plugin? Add the marketplace once, then install - works immediately, no directory listing required:
/plugin marketplace add Servosity/msp-skills
/plugin install td-synnex@msp-skills
Copy this into Claude Code, Codex CLI, or Claude Cowork:
Install the TD SYNNEX Skill and MCP server from Servosity/msp-skills in this agent workspace. If this workspace uses a POSIX shell (macOS, Linux, WSL, or Bash), run
bash <(curl -fsSL https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/td-synnex/install.sh). If it uses Windows PowerShell, runiwr -useb https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/td-synnex/install.ps1 | iex. Then authenticate per the README and runtd-synnex-cli --helpto explore.
The same prompt works in any agent that can run shell.
Windows (PowerShell):
iwr -useb https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/td-synnex/install.ps1 | iex
macOS / Linux:
bash <(curl -fsSL https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/td-synnex/install.sh)
The installer drops both td-synnex-cli (the CLI) and td-synnex-mcp (the MCP server) into your user bin path. Claude Code, Codex, and Cowork discover the Skill via SKILL.md in this directory.
Verify:
td-synnex-cli --version
The installer always fetches the current release - re-run it to upgrade:
macOS / Linux:
bash <(curl -fsSL https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/td-synnex/install.sh)
Windows (PowerShell):
iwr -useb https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/td-synnex/install.ps1 | iex
Claude Desktop .mcpb users: download the latest .mcpb (top of this section) and re-select it in Settings > Extensions. Claude Code plugin users: /plugin update td-synnex@msp-skills.
After the installer runs, see [mcp-install.md](./mcp-install.md) and [docs/which-agent.md](../../docs/which-agent.md) for the per-agent wire-up - one section per agent, including the GitHub Copilot servers key and the ChatGPT desktop app. Claude Desktop's Settings > Extensions panel is the simplest path; the MCP config block (for users who prefer editing JSON) is documented in mcp-install.md.
From the Hermes CLI:
hermes skills install servosity/msp-skills/skills/td-synnex --force
Inside a Hermes chat session:
/skills install servosity/msp-skills/skills/td-synnex --force
Hermes speaks MCP natively, so it can also use the td-synnex-mcp server directly - same install path, same env vars.
Tell your OpenClaw agent (copy this):
Install the td-synnex skill from https://github.com/servosity/msp-skills/tree/main/skills/td-synnex. The skill defines how its required CLI (
td-synnex-cli) can be installed via theopenclaw:frontmatter block.
OpenClaw isn't generally available yet; the frontmatter wiring is pre-shipped and will activate the moment OpenClaw launches.
StreamOne ION signs you in with an OAuth refresh token. In the ION portal open Settings > Users > Edit > OAuth credentials > Request New Credentials and copy the refresh token. Then set your ION account ID and hand the token to auth mint on stdin, so it never lands in shell history:
macOS / Linux:
export TD_SYNNEX_ACCOUNT_ID=<your ION account ID> # also add this line to your shell profile (~/.zshrc or ~/.bashrc)
pbpaste | td-synnex-cli auth mint --refresh-token-stdin # Linux: xclip -o -selection clipboard | td-synnex-cli auth mint --refresh-token-stdin td-synnex-cli auth check
Windows (PowerShell):
setx TD_SYNNEX_ACCOUNT_ID "<your ION account ID>" # persists for new windows
$env:TD_SYNNEX_ACCOUNT_ID = " " # this window Get-Clipboard | td-synnex-cli auth mint --refresh-token-stdin td-synnex-cli auth check
Keep TD_SYNNEX_ACCOUNT_ID set permanently: the local store is keyed on it, and without it every new 2-hour access token starts an empty store.
ION refresh tokens are single-use and last 32 days; access tokens last 2 hours. auth mint exchanges the token, saves the new access token and the new refresh token to a private credentials file before it prints anything, and never prints a token unless you pass --print-access-token. Keep it fresh from cron or Task Scheduler with td-synnex-cli auth mint --if-expiring 15m. auth check asks ION how long both tokens stay valid. Do not give the refresh token to auth set-token, which stores an access token.
Then pull your book into the local store and confirm the numbers against the portal:
td-synnex-cli sync --resources customers,subscriptions,orders
td-synnex-cli doctor
| Question your MSP keeps asking | Command |
|---|---|
| Which subscriptions renew in the next 30 days with auto-renew switched off? | td-synnex-cli subscriptions renewals --within 30d --auto-renew off |
| Which customers am I selling at a loss or below list price? | td-synnex-cli margin --by customer |
| Which SKUs carry the thinnest margin across every customer? | td-synnex-cli margin --by sku |
| Do my TD SYNNEX and Pax8 seats agree for each customer and SKU? | td-synnex-cli position trueup --with pax8-positions.csv --map company=customer_name --map sku=sku_key --map quantity=seats |
| Am I billing every seat I pay TD SYNNEX for? | td-synnex-cli position trueup --billed psa-agreements.csv --map billed_qty=seats |
| Which orders are stuck on hold or failed this week? | td-synnex-cli orders stuck --older-than 24h --since 7d |
| What seat, renewal and status changes went through ION in the last week? | td-synnex-cli subscriptions changes --since 7d |
| What does one customer hold, what does it cost, and what is still open? | td-synnex-cli customers show "Contoso" |
| What would changing this subscription to 12 seats send to ION? | td-synnex-cli subscriptions set "10505" "108536" "1608355" --seats 12 |
subscriptions set only previews the order; add --confirm to place it. The licence-book commands (renewals, changes, margin, position, orders stuck, customers show) read the local store, so run sync first. position trueup --with and --billed read export files from your disk, so they run where your agent has a shell (Claude Code, Codex, Cowork) or in your terminal; over MCP (Claude Desktop, ChatGPT, Copilot) the tool refuses file paths and only lists SKUs a customer holds in more than one TD SYNNEX subscription.
Full command reference: guide.md. For the AI-agent o
只显示了开头部分;其余内容请在仓库中阅读