Skip to content

feat: add edit_domain and edit_community tools - #161

Closed
agliznetsov wants to merge 2 commits into
mainfrom
DEV-217538
Closed

agliznetsov wants to merge 2 commits into
mainfrom
DEV-217538

Conversation

@agliznetsov

@agliznetsov agliznetsov commented Nov 3, 2026 •

Copy link
Copy Markdown

Description of your changes

Adds two MCP tools, edit_domain and edit_community, following the edit_asset pattern: a single tool per resource type taking a typed list of operations. Each operation is validated and applied independently, and the result is success, partial_success or error.

  • edit_domain: set_name, set_description, set_community, set_responsibility, remove_responsibility.
  • edit_community: set_name, set_description, set_parent, set_responsibility, remove_responsibility. set_parent requires exactly one of parent or makeTopLevel: true.
  • set_parent and set_community check the PATCH response rather than the HTTP status, so a silent no-op is reported as an error (see DEV-217539, where clearing a community's parent returns 200 without changing anything).
  • Responsibilities use the existing /rest/2.0/responsibilities endpoints with resource type Domain / Community. The shared logic is in a new pkg/tools/responsibility package.
  • Domains and communities can be given as a UUID or an exact name. Ambiguous names return the candidates.

Jira: DEV-217538

The tools are registered ungated next to edit_asset, which differs from §3.1 of docs/TOOL_CONTRIBUTION_STANDARDS.md (new write tools behind an experimental flag). Reviewers should decide whether to gate them together with the create tools from DEV-217560.


Impact Analysis

  • Adds new tools only; existing tools are unchanged apart from two registration lines in pkg/tools/register.go and a README update.
  • Unit tests cover partial success, validation, ambiguous names, responsibility resource types and silent no-op detection. All tests and golangci-lint pass.
  • Tested manually against a local instance: every operation was applied and checked. As expected, clearing a community's parent is reported as an error because the platform ignores the request (DEV-217539).

Checklist

  • I have performed a self-review of my code
  • My code follows the contribution guidelines of this project
  • My changes generate no new warnings

🤖 Generated with Claude Code

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@agliznetsov
agliznetsov requested a review from a team as a code owner November 3, 2026 09:22
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@agliznetsov agliznetsov changed the title DEV-217538 feat: add edit_domain and edit_community tools feat: add edit_domain and edit_community tools Nov 3, 2026
@agliznetsov agliznetsov closed this Nov 3, 2026
@agliznetsov
agliznetsov deleted the DEV-217538 branch November 3, 2026 12:50
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