Repository navigation
Add marketplace listing assets and fix execute destructive hint - #815
Conversation
Prepare Official MCP Registry publishing (server.json + OIDC workflow), Cursor plugin manifests, and chatgpt-app-submission.json. Mark execute as destructive because sandboxed modules can delete data or trigger irreversible outbound actions.
📝 WalkthroughWalkthroughAdds Cursor and MCP client manifests, a ChatGPT app submission specification, destructive-action metadata for ChangesMCP distribution and registration
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
🔎 Preview deployed: https://kody-pr-815.kody-a99.workers.dev Worker: Mocks:
|
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
.github/workflows/publish-mcp-registry.yml (1)
32-34: 🩺 Stability & Availability | 🔵 Trivial | ⚡ Quick winPin
mcp-publishertov1.8.0
latestmakes the download non-deterministic and can break the workflow when the upstream release changes. Switch the URL to.../releases/download/v1.8.0/....🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/workflows/publish-mcp-registry.yml around lines 32 - 34, Update the mcp-publisher download URL in the workflow’s installation command to use the fixed GitHub release path for v1.8.0 instead of releases/latest, while preserving the existing platform and architecture filename handling.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/publish-mcp-registry.yml:
- Around line 26-27: Update the actions/checkout step in the Checkout workflow
action to set persist-credentials to false, preventing the GitHub token from
being stored in local git configuration while leaving the existing checkout
behavior unchanged.
---
Nitpick comments:
In @.github/workflows/publish-mcp-registry.yml:
- Around line 32-34: Update the mcp-publisher download URL in the workflow’s
installation command to use the fixed GitHub release path for v1.8.0 instead of
releases/latest, while preserving the existing platform and architecture
filename handling.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 160a24a4-eba2-4f34-ab5b-5571f560a2fc
📒 Files selected for processing (6)
.cursor-plugin/plugin.json.github/workflows/publish-mcp-registry.ymlchatgpt-app-submission.jsonmcp.jsonpackages/worker/src/mcp/tools/execute.tsserver.json
| - name: Checkout | ||
| uses: actions/checkout@v6.0.2 |
There was a problem hiding this comment.
🔒 Security & Privacy | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Description: Check the latest release version of actions/checkout
gh api repos/actions/checkout/releases/latest --jq .tag_nameRepository: kentcdodds/kody
Length of output: 160
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== workflow =="
git ls-files .github/workflows/publish-mcp-registry.yml
echo
cat -n .github/workflows/publish-mcp-registry.yml | sed -n '1,220p'
echo
echo "== checkout release tag existence =="
gh api repos/actions/checkout/releases/tags/v6.0.2 --jq '{tag_name, name, draft, prerelease, published_at}'
echo
echo "== checkout tag ref =="
gh api repos/actions/checkout/git/refs/tags/v6.0.2 --jq '{ref, object_type: .object.type, object_sha: .object.sha}'Repository: kentcdodds/kody
Length of output: 1742
Prevent credential persistence in the checkout step.
actions/checkout stores the GitHub token in local git config by default. Set persist-credentials: false here since this workflow doesn’t need git auth later.
🧰 Tools
🪛 zizmor (1.26.1)
[warning] 26-27: credential persistence through GitHub Actions artifacts (artipacked): does not set persist-credentials: false
(artipacked)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @.github/workflows/publish-mcp-registry.yml around lines 26 - 27, Update the
actions/checkout step in the Checkout workflow action to set persist-credentials
to false, preventing the GitHub token from being stored in local git
configuration while leaving the existing checkout behavior unchanged.
Source: Linters/SAST tools
Drop the ChatGPT submission JSON and Cursor plugin packaging files. Keep server.json, the registry publish workflow, and the execute annotation fix.
Keeps the durable pieces for Official MCP Registry publishing and corrects the public
executetool annotation. One-off ChatGPT/Cursor form packaging files are not committed.What’s included
server.jsonfor remote MCP publish (io.github.kentcdodds/kody→https://heykody.dev/mcp)Publish MCP Registry)executedestructiveHint: true(was incorrectlyfalse)Not in this PR
chatgpt-app-submission.jsonand Cursor plugin manifests — form-only; already emailed / usable outside the repoReviewer notes
mcp-publisher login github && publish)System recap — extends existing primitives (medium risk)
Change
Corrects the public MCP
executetool’s destructive annotation and adds Official MCP Registry publish manifests/workflow.Primitives
/mcp)executetool annotation contract changes (destructiveHint: true) for host/directory review accuracyRisk
Medium — annotation change affects how hosts/reviewers classify side effects of
execute; registry files are additive.Flow
Invariants
Summary by CodeRabbit