Feedjoltdocs
DesenvolupadorsMCP

Eines MCP

Les 37 eines del servidor MCP de Feedjolt, agrupades per recurs, cadascuna amb el seu scope i el seu rol requerits - a més dels comportaments que sorprenen: les proteccions en eliminar taulers i estats, esborrany vs. publicació del changelog, i les regles d'edició de comentaris.

Cada eina requereix un scope al principal que la crida - read, write o delete. Aquesta concessió surt de la pantalla de consentiment OAuth o d'una clau d'API. Consulta Permisos per veure què significa cada scope i com concedir-lo.

Connector és la URL, no la clau. Les eines només-Reader no apareixen mai a /mcp/writer/. Les només-Writer no apareixen mai a /mcp/reader/. El combinat /mcp/ les llista totes. El combinat és llegat.

L'scope no és l'única barrera

Algunes eines afegeixen un segon pany: també requereixen ser OWNER o ADMIN de l'espai, la mateixa barrera de rol que fa servir el panell. L'scope ha de seguir present - la barrera de rol se li afegeix, mai el substitueix.

Només OWNER/ADMINUn CONTRIBUTOR amb write encara pot
create_board, update_board, delete_boardcreate_post, update_post, change_post_status
create_status, update_status, delete_statusadd_tag_to_post, remove_tag_from_post
create_tag, update_tag, delete_tagpost_comment (només públic)
reorder_itemsupdate_comment (cos propi)
create_changelog_entry, update_changelog_entry, publish_changelog_entry, delete_changelog_entry
merge_posts, unmerge_posts, move_post, assign_post_owner, set_post_featured, delete_post

delete_comment requereix l'scope delete, no write. Els CONTRIBUTOR en OAuth no poden concedir delete, així que no poden cridar aquesta eina. Qui té delete i no és OWNER/ADMIN només pot eliminar els seus propis comentaris.

Dos camps de comentari també són privilegiats: post_comment amb is_internal: true, i update_comment amb is_pinned o is_internal, requereixen OWNER/ADMIN. Els comentaris interns a més necessiten un pla que inclogui la funció internal_comments (Startup i superiors).

Les claus d'API actuen com a ADMIN per a aquesta barrera de rol. Una clau fjk_ és una credencial d'automatització de l'espai, no una persona, així que sempre passa la comprovació de rol, subjecte als scopes que tingui. El rol només varia en les concessions OAuth, on es resol a partir de la pertinença de l'usuari que autoritza.

Una crida denegada retorna un error de permisos que anomena OWNER i ADMIN (-32004). Consulta Resolució de problemes.

Enllaços a les fonts i ordenació

list_posts, search_posts, get_post i els posts de get_roadmap retornen una url al dashboard autenticat. Fes servir aquesta URL per citar el feedback. Inicia sessió i selecciona l'espai connectat a MCP abans d'obrir un enllaç; les rutes del dashboard fan servir el teu espai seleccionat. El feedback privat o intern manté els requisits d'accés.

list_posts fa servir sort: "new" per defecte. Amb sort: "top", els posts s'ordenen per puntuació ponderada, després pel nombre de vots i, finalment, per la data de creació més recent. No és una classificació només per vots. Els posts del roadmap també s'ordenen per puntuació ponderada i després per vots. Les respostes inclouen weighted_score i vote_count perquè els agents puguin explicar la classificació.

get_roadmap inclou els estats ocults del roadmap públic, després dels visibles. search_posts cerca fragments del títol; no és una cerca semàntica.

Posts

EinaScopeConnectorPropòsit
list_postsreadReaderLlistar/filtrar posts per tauler, estat o etiqueta, amb paginació
search_postsreadReaderCercar posts per paraula clau al títol
get_postreadReaderDetall complet del post: cos, estat, etiquetes i fins a 200 comentaris
create_postwriteWriterCrear un post en un tauler, amb autoria d'aquesta clau
update_postwriteWriterActualitzar el títol, cos o visibilitat interna d'un post
change_post_statuswriteWriterMoure un post a un nou estat, amb nota interna opcional
move_postwriteWriterMoure un post a un altre tauler
add_tag_to_postwriteWriterEtiquetar un post (cal usar una etiqueta existent)
remove_tag_from_postwriteWriterEliminar una etiqueta d'un post
assign_post_ownerwriteWriterAssignar (o esborrar) l'admin responsable d'un post
set_post_featuredwriteWriterDestacar o treure el destacat d'un post al portal
merge_postswriteWriterFusionar un duplicat en un post canònic
unmerge_postswriteWriterDesfer una fusió, restaurant el post original
delete_postdeleteWriterEliminar permanentment un post, els seus vots i els seus comentaris

Taulers

EinaScopeConnectorPropòsit
list_boardsreadTots dosLlistar tots els taulers amb la seva visibilitat i nombre de posts
create_boardwriteWriterCrear un tauler
update_boardwriteWriterActualitzar un tauler, incloent arxivar-lo
delete_boarddeleteWriterEliminar un tauler buit únicament - vegeu més avall

Etiquetes

EinaScopeConnectorPropòsit
list_tagsreadTots dosLlistar totes les etiquetes amb el seu nombre de posts
create_tagwriteWriterCrear una etiqueta
update_tagwriteWriterReanomenar o recolorir una etiqueta
delete_tagdeleteWriterEliminar una etiqueta - els posts es mantenen, només perden l'etiqueta

Estats

EinaScopeConnectorPropòsit
list_statusesreadTots dosLlistar tots els estats del workspace
create_statuswriteWriterCrear un estat
update_statuswriteWriterActualitzar el nom, color, visibilitat al roadmap o ordre d'un estat
delete_statusdeleteWriterEliminar un estat, reassignant els seus posts - vegeu més avall

Comentaris

EinaScopeConnectorPropòsit
list_commentsreadReaderLlistar comentaris d'un post, amb paginació
post_commentwriteWriterAfegir un comentari públic; is_internal requereix OWNER/ADMIN
update_commentwriteWriterEditar el teu propi comentari; fixar o canviar la visibilitat com a OWNER/ADMIN - vegeu més avall
delete_commentdeleteWriterEliminar qualsevol comentari com a OWNER/ADMIN; si no, només els teus

Changelog

EinaScopeConnectorPropòsit
get_changelogreadTots dosEntrades recents publicades del changelog
create_changelog_entrywriteWriterCrear una entrada de changelog com a esborrany - vegeu més avall
update_changelog_entrywriteWriterActualitzar el títol, cos o posts enllaçats d'una entrada
publish_changelog_entrywriteWriterPublicar un esborrany - vegeu més avall
delete_changelog_entrydeleteWriterEliminar permanentment una entrada, publicada o en esborrany

Roadmap

EinaScopeConnectorPropòsit
get_roadmapreadReaderPosts agrupats per tots els estats, inclosos els ocults del roadmap

Ordre

EinaScopeConnectorPropòsit
reorder_itemswriteWriterFixar l'ordre de visualització de taulers, etiquetes o estats en una sola crida

Comportaments que val la pena conèixer

delete_board rebutja taulers amb posts

delete_board només funciona en un tauler amb zero posts, i no existeix cap argument per forçar-ho. Eliminar un tauler arrossega en cascada tots els seus posts, vots i comentaris - de manera permanent, sense desfer - així que MCP no ho farà sota cap circumstància, sigui com sigui que es formuli la petició.

Per retirar un tauler sense perdre el seu contingut, crida update_board amb archived: true. El tauler desapareix dels llistats actius; tots els posts queden intactes.

delete_status requereix una destinació de reassignació

Els posts referencien el seu estat amb una restricció de base de dades que impedeix eliminar un estat en ús, així que delete_status exigeix un reassign_to_status_id obligatori. Cada post en l'estat condemnat es mou primer a aquesta destinació, i cada moviment genera la seva pròpia entrada d'historial d'estat - igual que un canvi d'estat manual.

Hi ha dos estats que mai es poden eliminar així: l'estat per defecte del workspace, i l'últim estat restant. Converteix un altre estat en el predeterminat, o crea un segon estat, abans d'eliminar cap dels dos.

create_changelog_entry sempre crea un esborrany

create_changelog_entry només crea un esborrany - mai és visible per als clients. Publicar és una crida separada i deliberada: publish_changelog_entry. Publicar envia un correu a cada subscriptor i dispara els webhooks del changelog, així que arriba a clients reals en el moment en què s'executa. Revisa el contingut de l'entrada amb update_changelog_entry abans de publicar-la, no després.

update_comment barreja regles de contributor i admin

update_comment edita tres coses independents - body, is_pinned, is_internal - però no segueixen la mateixa regla. Editar body només funciona en un comentari que el propi principal ha publicat; el servei rebutja l'intent de reescriure el text d'un altre autor. Fixar (is_pinned) i canviar la visibilitat (is_internal) són accions OWNER/ADMIN, fins i tot en un comentari propi, i is_internal a més necessita la funció de pla internal_comments. delete_comment segueix la mateixa divisió: un OWNER/ADMIN pot eliminar qualsevol comentari - cosa que la fa útil per netejar spam - mentre que la resta només pot eliminar els seus.

Altres coses que val la pena saber

  • create_post compta contra la quota mensual de posts del workspace - la mateixa quota que respecta el botó "Nou post" del dashboard. Falla en el moment que s'assoleix la quota.
  • get_post i list_comments retornen comentaris interns a més dels públics - els agents MCP veuen tot el que veu un admin. No reenviïs un comentari amb is_internal: true a un client final.
  • merge_posts es pot desfer amb unmerge_posts, però la restauració és degradada: els vots, comentaris i etiquetes es queden al post destinació. El post restaurat torna amb 0 vots.
  • move_post rebutja moure un post a un tauler arxivat, i rebutja un "moviment" al tauler on el post ja és.
  • reorder_items descarta silenciosament qualsevol ID que no pertanyi al workspace (error tipogràfic, workspace equivocat, ja eliminat) en lloc de donar error. Compara reordered amb submitted a la resposta per veure si s'ha descartat alguna cosa.

El que MCP encara no pot fer

Les eines MCP operen sobre les dades de feedback d'un workspace - posts, taulers, etiquetes, estats, comentaris, changelog, roadmap. No toquen la configuració del workspace, la facturació, els membres de l'equip i els seus rols, ni la configuració de webhooks, widget o branding. Això es queda al dashboard.

On this page