Skip to content

feat(tools): expand Canny API surface with 6 new tools and fix jira field mapping#5

Merged
Ompragash merged 1 commit intomainfrom
fix-post-tool-add-new-tool
Feb 20, 2026
Merged

feat(tools): expand Canny API surface with 6 new tools and fix jira field mapping#5
Ompragash merged 1 commit intomainfrom
fix-post-tool-add-new-tool

Conversation

@Ompragash
Copy link
Contributor

Introduce tag lifecycle management (create, add-to-post, remove-from-post), status change auditing, and changelog entry support as first-class MCP tools. This brings total coverage from 24 to 30 tools across 7 toolsets.

New tools:

  • canny_create_tag: tag creation on boards (discovery toolset)
  • canny_add_post_tag / canny_remove_post_tag: post-tag association (posts toolset)
  • canny_list_status_changes: status change audit trail (discovery toolset)
  • canny_create_changelog_entry / canny_list_changelog_entries: changelog CRUD (new changelog toolset)

Infrastructure changes:

  • Add CannyStatusChange, CannyChangelogEntry types and corresponding client methods
  • Extend ToolsetName union with 'changelog' for granular toolset filtering
  • Add 6 client methods with retry logic via existing request() pipeline

Bug fix:

  • Correct CannyPost.jira type from CannyJiraIssue[] to { linkedIssues: CannyJiraIssue[] } to match actual Canny API response shape, resolving "post.jira.map is not a function" crash in ResponseTransformer.compactPost and jiraLinkStatus resource

Test and documentation updates reflect new tool counts (30 total, 12 read-only, 18 write).

…ield mapping

Introduce tag lifecycle management (create, add-to-post, remove-from-post),
status change auditing, and changelog entry support as first-class MCP tools.
This brings total coverage from 24 to 30 tools across 7 toolsets.

New tools:
- canny_create_tag: tag creation on boards (discovery toolset)
- canny_add_post_tag / canny_remove_post_tag: post-tag association (posts toolset)
- canny_list_status_changes: status change audit trail (discovery toolset)
- canny_create_changelog_entry / canny_list_changelog_entries: changelog CRUD (new changelog toolset)

Infrastructure changes:
- Add CannyStatusChange, CannyChangelogEntry types and corresponding client methods
- Extend ToolsetName union with 'changelog' for granular toolset filtering
- Add 6 client methods with retry logic via existing request() pipeline

Bug fix:
- Correct CannyPost.jira type from CannyJiraIssue[] to { linkedIssues: CannyJiraIssue[] }
  to match actual Canny API response shape, resolving "post.jira.map is not a function"
  crash in ResponseTransformer.compactPost and jiraLinkStatus resource

Test and documentation updates reflect new tool counts (30 total, 12 read-only, 18 write).
@Ompragash Ompragash merged commit b5d1646 into main Feb 20, 2026
3 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.

1 participant