MCP tool reference

Every tool and resource on Quackback's MCP server (40 tools, 6 resources): parameters, required scopes and examples for feedback, changelog, help center, conversations and tickets.

JM
James Morton
Written By James MortonLast updated about 2 hours ago

This reference lists every tool and resource on Quackback's MCP server: 40 tools and 6 resources. Tools perform actions (search, create, update, delete). Resources provide lookup data, such as board and status ids, that tools refer to. For setup and authentication, see MCP Server.

Each tool needs a scope (see Authentication and scopes). "Team" means the caller must be a teammate or a team API key, not a portal user.

Search and details

Search feedback posts, changelog entries or help center articles. Results are paginated with a cursor.

Parameter

Type

Description

entity

posts, changelogs or articles

What to search (default posts)

query

string

Text search across titles and content

boardId

string

Posts only: filter by board

categoryId

string

Articles only: filter by category

status

string

Posts: a status slug such as open. Changelogs: draft, published, scheduled or all. Articles: draft, published or all.

tagIds

string[]

Posts only: filter by tags

authorPrincipalId, authorEmail

string

Posts only: filter by author, or "me"

sort

newest, oldest or votes

Default newest; votes applies to posts

showDeleted

boolean

Show deleted posts from the last 30 days (team)

dateFrom, dateTo

ISO date

Posts created in this range

limit

1 to 100

Default 20

cursor

string

From a previous response

Scope: read:feedback, or read:article when entity is articles.

search({ query: "dark mode", sort: "votes", limit: 10 })
search({ entity: "articles", query: "getting started", status: "published" })

get_details

Get full details for any item by id. The type is detected from the id prefix (post_, changelog_, article_, kb_category_ and so on). Posts include comments, tags and the official response. Changelog entries include linked posts.

Scope: read:feedback, or read:article for help center ids.

get_details({ id: "post_01abc..." })

Post tools

Tool

What it does

Key parameters

Scope

create_post

Submit feedback on a board

boardId, title (max 200), content (max 10,000), statusId, tagIds

write:feedback

triage_post

Update status, tags or owner (only fields you pass change)

postId, statusId, tagIds (replaces all), ownerPrincipalId (null to unassign)

write:feedback, team

vote_post

Toggle your own vote

postId

write:feedback

proxy_vote

Add or remove a vote on behalf of a customer, with source attribution

action (add or remove), postId, voterPrincipalId, sourceType, sourceExternalUrl

write:feedback, team

merge_post

Merge a duplicate into a canonical post (votes combine)

duplicatePostId, canonicalPostId

write:feedback, team

unmerge_post

Undo a merge

postId

write:feedback, team

delete_post

Delete a post (restorable for 30 days)

postId

write:feedback, team

restore_post

Restore a deleted post

postId

write:feedback, team

get_post_activity

Activity log: status changes, merges, tags, owners, proxy votes (latest 200)

postId

read:feedback, team

Comment tools

Tool

What it does

Key parameters

Scope

add_comment

Comment on a post, or reply to a comment

postId, content (max 5,000), parentId, isPrivate (internal note for the team)

write:feedback

update_comment

Edit a comment (authors edit their own; teammates any)

commentId, content

write:feedback

delete_comment

Permanently delete a comment and its replies

commentId

write:feedback

react_to_comment

Add or remove an emoji reaction

action, commentId, emoji

write:feedback

Changelog tools

Tool

What it does

Key parameters

Scope

create_changelog

Create an entry (draft by default)

title (max 200), content (Markdown, max 50,000), publish, publishedAt (a future date schedules it)

write:changelog, team

update_changelog

Edit, publish, schedule or link posts

changelogId, title, content, publish, publishedAt, displayDate, linkedPostIds

write:changelog, team

delete_changelog

Delete an entry

changelogId

write:changelog, team

Suggestion tools

Tool

What it does

Key parameters

Scope

accept_suggestion

Accept a merge suggestion

id, swapDirection (keep the other post)

write:feedback, team

dismiss_suggestion

Dismiss a merge suggestion

id

write:feedback, team

restore_suggestion

Return a dismissed suggestion to pending

id

write:feedback, team

Help center tools

Available when the Help Center module is on.

Tool

What it does

Key parameters

Scope

create_article

Create an article as a draft

categoryId, title (max 200), content (Markdown, max 50,000), slug (generated from the title if left out), description (max 300), authorId

write:article, team

update_article

Update an article; only fields you pass change

articleId, title, content, slug, description, categoryId, authorId, publishedAt

write:article, team

delete_article

Delete an article

articleId

write:article, team

manage_category

Create, update or delete a category

action (create, update, delete), categoryId, name, slug, description, icon, parentId, isPublic

write:article, team

To publish an article, call update_article with publishedAt set to any ISO date and time (the article is published now). Set publishedAt to null to unpublish:

update_article({ articleId: "article_01abc...", publishedAt: "2026-01-01T00:00:00Z" })

Category icons are Heroicons names such as "RocketLaunchIcon" or "BookOpenIcon". Emoji aren't supported. parentId: null makes a category top-level.

Conversation tools

Available when the support inbox is on. All need a team caller.

Tool

What it does

Key parameters

Scope

list_conversations

List conversations, newest activity first

status (open, snoozed, closed), priority, assignedAgentPrincipalId, limit, cursor

read:chat

get_conversation

Get a conversation and its recent messages

conversationId, includeInternal, cursor (older messages)

read:chat

reply_to_conversation

Send a reply the customer sees; assigns an unassigned conversation to the caller

conversationId, content (max 4,000), fileIds (up to 10)

write:chat

set_conversation_status

Open, snooze or close a conversation

conversationId, status

write:chat

suggest_post

Suggest to the team (as an internal note) that a resolved conversation become a feedback post

conversationId, boardId, title, content

write:chat

share_post

Share a feedback post into the conversation as a card the customer can vote on

conversationId, postId

write:chat

Anonymous visitors' placeholder emails are never returned.

Ticket tools

All need a team caller. Reads use read:chat, writes use write:chat.

Tool

What it does

Key parameters

list_tickets

List tickets

type, ticketTypeId, statusCategory, stage, requesterPrincipalId, companyId, sort, limit

get_ticket

Get a ticket and its thread

ticketId, includeInternal, cursor

create_ticket

Open a ticket

type (customer, back_office, tracker), ticketTypeId, title (max 300), description (Markdown), priority, requesterPrincipalId, companyId

reply_to_ticket

Reply to the requester

ticketId, content, fileIds (up to 10)

add_ticket_note

Add an internal note

ticketId, content, fileIds (up to 10)

link_ticket

Link a customer ticket to a tracker ticket, so the tracker's stage changes apply to it

trackerTicketId, ticketId

unlink_ticket

Remove a customer ticket from a tracker

trackerTicketId, ticketId

create_ticket({ type: "customer", title: "Refund not received", description: "Customer reports a missing refund." })

File and widget tools

Tool

What it does

Key parameters

Scope

upload_file

Upload a file to attach to a conversation reply, ticket reply or ticket note. Returns a fileId.

name (with extension), contentBase64 (max 5 MB decoded)

write:chat, team

widget_install_status

Check whether the widget is connected on your site: snippet seen, enabled, last seen, origin and SDK version. Never returns the signing secret.

none

read:feedback, team

Resources

Read resources to look up ids before calling tools.

URI

Returns

Scope

quackback://boards

All boards (id, name, slug)

read:feedback

quackback://statuses

All statuses (id, name, slug, color)

read:feedback

quackback://tags

All tags (id, name, color)

read:feedback

quackback://roadmaps

All roadmaps (id, name, slug)

read:feedback

quackback://members

Team members (id, name, role)

read:feedback

quackback://help-center/categories

Help center categories with article counts

read:article, team

Tip: A typical flow: read quackback://statuses to find the id of your "Planned" status, then call triage_post with that statusId.

Was this helpful?

Your feedback shapes what we write next.