Skip to content

feat: add upstash box support#17

Merged
ytkimirti merged 8 commits intomainfrom
DX-2532-box
Apr 16, 2026
Merged

feat: add upstash box support#17
ytkimirti merged 8 commits intomainfrom
DX-2532-box

Conversation

@ytkimirti
Copy link
Copy Markdown
Contributor

No description provided.

@linear
Copy link
Copy Markdown

linear bot commented Apr 3, 2026

Detect readonly API keys during initialization and hide write tools.
When a readonly key is detected, only tools marked as readonly are
registered. Redis commands use read_only_rest_token in readonly mode.
QStash tools are hidden since readonly tokens don't expose QStash
credentials yet.
Comment thread src/config.ts
Add --box-api-key CLI flag and UPSTASH_BOX_API_KEY env var so users
don't have to pass the Box key on every tool call. When configured at
startup, box_api_key becomes optional in each Box tool's input schema
(with an override-only description); otherwise it stays required with
a description telling the agent to check .env or ask the user.
Add a "Box support (optional)" section to the README with both CLI-flag
and env-var install examples in mcpServers JSON format, and declare
boxApiKey as a non-required property in smithery.yaml so Smithery's
install UI renders it as optional.
Comment thread src/tools/box/types.ts Outdated
Inline minimal shapes at each tool's usage site and delete types.ts. The
central interfaces had drifted from the upstream Box SDK (missing
attachHeaders, mismatched git fields) while declaring 20+ fields that
nothing ever read.
Restructure the README around per-client install instructions (Claude
Code, Cursor, Windsurf, OpenCode, Codex, VS Code, Antigravity, Claude
Desktop, Gemini CLI), document the optional Upstash Box API key wiring,
and expand the debugging/telemetry sections.

Fix the Cursor one-click install deeplink — the previous payload used a
single `command` string, but Cursor expects `command` + `args` split.
Also drop the Smithery badge, drop the redundant `--transport stdio`
flag from the Claude Code install command, and add `--scope user` so
the install lands in the user-level config by default.
Route prerelease tags (e.g. v0.2.3-rc.1) to the canary publish step via
github.event.release.prerelease, since inputs.* is unset for release
events. Also strip the leading v from VERSION so package.json gets a
valid semver, and drop ./ from the bin path to silence npm's warning.
@ytkimirti ytkimirti merged commit 1c3beba into main Apr 16, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants