feat(uniswap-integrations): migrate Slack MCP from addons generator to plugin#368
feat(uniswap-integrations): migrate Slack MCP from addons generator to plugin#368cursor[bot] wants to merge 1 commit intonextfrom
Conversation
|
Cursor Agent can help with this pull request. Just |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
… plugin - Add Slack MCP to uniswap-integrations plugin .mcp.json - Remove Slack MCP from addons generator (addon-registry.ts, schema.json, schema.d.ts) - Update claude-plus launcher to check multiple config locations for backward compatibility - Now checks $CLAUDE_CONFIG_DIR/claude.json, ~/.claude.json, and ~/.claude/claude.json - Bump uniswap-integrations plugin version from 1.0.0 to 1.1.0 - Update documentation in CLAUDE.md and README.md files Co-authored-by: nick.koutrelakos <nick.koutrelakos@uniswap.org>
c7f543c to
f40ba09
Compare
🤖 Claude Code Review
SummaryThis PR migrates the Slack MCP server from the standalone The changes are well-organized: the addon registry removal, plugin FindingsMinor Issue:
|
There was a problem hiding this comment.
📋 Review verdict: APPROVE
👆 The main review comment above is the source of truth for this PR review. It is automatically updated on each review cycle, so always refer to it for the most current feedback.
This formal review submission is for the verdict only. 1 inline comment(s) are attached below.
| "name": "uniswap-integrations", | ||
| "version": "2.0.1", | ||
| "version": "2.1.0", | ||
| "description": "External service integrations (Linear, Notion, Nx, Chrome DevTools, GitHub) and deployment orchestration", |
There was a problem hiding this comment.
The description field doesn't mention Slack, but both CLAUDE.md and README.md were updated to include it. Since this is the marketplace-facing description, consider updating it for consistency.
| "description": "External service integrations (Linear, Notion, Nx, Chrome DevTools, GitHub) and deployment orchestration", | |
| "description": "External service integrations (Linear, Notion, Nx, Chrome DevTools, GitHub, Slack) and deployment orchestration", |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f40ba09a38
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| // Priority 2: Legacy location (~/.claude.json) | ||
| paths.push(path.join(os.homedir(), '.claude.json')); | ||
|
|
||
| // Priority 3: New default user location (~/.claude/claude.json) | ||
| paths.push(path.join(os.homedir(), '.claude', 'claude.json')); |
There was a problem hiding this comment.
Avoid falling back outside active Claude config dir
When CLAUDE_CONFIG_DIR is set, getAllClaudeConfigPaths() still appends ~/.claude.json and ~/.claude/claude.json, so getCurrentToken() can return a token from a different profile. In that case, validateAndRefreshSlackToken() may treat Slack as healthy and exit early, leaving the active $CLAUDE_CONFIG_DIR/claude.json without SLACK_BOT_TOKEN, which breaks Slack MCP for users running Claude with the custom config dir. Restrict fallback reads to the active profile (or track and update the source path you read from).
Useful? React with 👍 / 👎.
Add Slack MCP to the
uniswap-integrationsplugin, remove it from theaddonsgenerator, and ensure backward compatibility for existing Slack MCP configurations.The
claude-pluslauncher now checks multiple config paths ($CLAUDE_CONFIG_DIR/claude.json,~/.claude.json,~/.claude/claude.json) to support users who previously installed Slack MCP via theaddonsgenerator (which used the legacy~/.claude.jsonpath) and those using the new plugin or default user config.Slack Thread
✨ Claude-Generated Content
Summary
Migrate Slack MCP from the
addonsgenerator to theuniswap-integrationsplugin, ensuring backward compatibility for users who previously installed Slack MCP via the legacy generator.Changes
New: Slack MCP in uniswap-integrations Plugin
.mcp.json@anthropic/slack-mcp@latestplugin.jsonCLAUDE.mdREADME.mdRemoved: Slack MCP from Addons Generator
addon-registry.tsslack-mcpentry from registrygenerator.tsschema.jsonslack-mcpfrom enum options, updated server count (2 → 1)schema.d.tsslack-mcpCLAUDE.mdBackward Compatibility: Multi-Path Config Support
config-paths.tsgetAllClaudeConfigPaths()function for searching multiple config locationsslack-token.tsgetCurrentToken()to search all config paths in priority orderclaude-pluslauncher now searches these locations in order:$CLAUDE_CONFIG_DIR/claude.json(if env var is set)~/.claude.json(legacy location from addons generator)~/.claude/claude.json(new default user location)Root
CLAUDE.mdNotes
aws-log-analyzer-mcpTest Plan
claude-plusfinds Slack token in~/.claude.json(legacy path)claude-plusfinds Slack token in~/.claude/claude.json(new path)claude-plusfinds Slack token whenCLAUDE_CONFIG_DIRis setslack-mcpoption