Skip to content

Add remove_saved_keywords MCP tool - #339

Open
snayyar00 wants to merge 2 commits into
every-app:mainfrom
snayyar00:pr/remove-saved-keywords
Open

snayyar00 wants to merge 2 commits into
every-app:mainfrom
snayyar00:pr/remove-saved-keywords

Conversation

@snayyar00

@snayyar00 snayyar00 commented Sep 16, 2026 •

Copy link
Copy Markdown

Summary

  • Exposes the existing KeywordResearchService.removeSavedKeywords service as an MCP tool, remove_saved_keywords.
  • Mirrors the shape of remove_rank_tracking_keywords. Does not call DataForSEO (no credit cost). Does not affect Rank Tracking.
  • Fixes a review finding: list_saved_keywords now includes each row's id in its text output, not just structuredContent, so text-only MCP clients can use the new removal flow.

Test plan

  • pnpm run types:check passes
  • Exercised against a real project's saved-keyword list — deleted 9 stale entries successfully

Exposes the existing KeywordResearchService.removeSavedKeywords service as an MCP tool, mirroring remove_rank_tracking_keywords.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b4a08f309a

ℹ️ 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".

.min(1)
.max(2000)
.describe(
"Saved-keyword row IDs to delete. Use the `id` values returned by list_saved_keywords.",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Expose the required saved-keyword IDs in text output

When an MCP client surfaces only text content, it cannot supply this parameter: list_saved_keywords renders keyword, metrics, and tags at src/server/mcp/tools/list-saved-keywords.ts:65-73, but leaves each row's id only in structuredContent. The repository explicitly supports text-only MCP clients, so following this instruction still leaves those clients unable to use the new removal flow; include the row ID in list_saved_keywords's text output or accept an identifier already shown there.

Useful? React with 👍 / 👎.

Text-only MCP clients had no way to get the id needed by remove_saved_keywords, since it only appeared in structuredContent.
RatomatoR pushed a commit to RatomatoR/open-seo that referenced this pull request Sep 18, 2026
RatomatoR pushed a commit to RatomatoR/open-seo that referenced this pull request Sep 18, 2026
…every-app#340)

Production OOM triage: every 'Worker exceeded memory limit' burst hits
unrelated cheap routes right after a deploy — the 128MB limit is per
isolate, and the main worker's eagerly-evaluated module graph is what
crowds it, not any single request.

- Alias just-bash to a throwing stub (worker never uses it): removes
  just-bash + turndown + @mixmark-io/domino from the bundle. The chain
  was pulled in eagerly by @cloudflare/think via the SamChatAgent
  re-export in src/server.ts; SAM only uses its own MCP tools.
- Disable Think's workspace bash tool on SamChatAgent so the stub is
  unreachable at runtime.
- Dynamic-import page-analyzer (cheerio) in the site-audit crawl step
  so it evaluates only when an audit runs, not in every isolate.
- Drop the turndown CJS alias workaround (every-app#339): turndown is no longer
  in the graph at all.

Main eager server chunk: 14,434 kB -> 11,712 kB (-19%); cheerio's
503 kB now a lazy chunk.
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.

1 participant