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/ADMIN | Un CONTRIBUTOR amb write encara pot |
|---|---|
create_board, update_board, delete_board | create_post, update_post, change_post_status |
create_status, update_status, delete_status | add_tag_to_post, remove_tag_from_post |
create_tag, update_tag, delete_tag | post_comment (només públic) |
reorder_items | update_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
| Eina | Scope | Connector | Propòsit |
|---|---|---|---|
list_posts | read | Reader | Llistar/filtrar posts per tauler, estat o etiqueta, amb paginació |
search_posts | read | Reader | Cercar posts per paraula clau al títol |
get_post | read | Reader | Detall complet del post: cos, estat, etiquetes i fins a 200 comentaris |
create_post | write | Writer | Crear un post en un tauler, amb autoria d'aquesta clau |
update_post | write | Writer | Actualitzar el títol, cos o visibilitat interna d'un post |
change_post_status | write | Writer | Moure un post a un nou estat, amb nota interna opcional |
move_post | write | Writer | Moure un post a un altre tauler |
add_tag_to_post | write | Writer | Etiquetar un post (cal usar una etiqueta existent) |
remove_tag_from_post | write | Writer | Eliminar una etiqueta d'un post |
assign_post_owner | write | Writer | Assignar (o esborrar) l'admin responsable d'un post |
set_post_featured | write | Writer | Destacar o treure el destacat d'un post al portal |
merge_posts | write | Writer | Fusionar un duplicat en un post canònic |
unmerge_posts | write | Writer | Desfer una fusió, restaurant el post original |
delete_post | delete | Writer | Eliminar permanentment un post, els seus vots i els seus comentaris |
Taulers
| Eina | Scope | Connector | Propòsit |
|---|---|---|---|
list_boards | read | Tots dos | Llistar tots els taulers amb la seva visibilitat i nombre de posts |
create_board | write | Writer | Crear un tauler |
update_board | write | Writer | Actualitzar un tauler, incloent arxivar-lo |
delete_board | delete | Writer | Eliminar un tauler buit únicament - vegeu més avall |
Etiquetes
| Eina | Scope | Connector | Propòsit |
|---|---|---|---|
list_tags | read | Tots dos | Llistar totes les etiquetes amb el seu nombre de posts |
create_tag | write | Writer | Crear una etiqueta |
update_tag | write | Writer | Reanomenar o recolorir una etiqueta |
delete_tag | delete | Writer | Eliminar una etiqueta - els posts es mantenen, només perden l'etiqueta |
Estats
| Eina | Scope | Connector | Propòsit |
|---|---|---|---|
list_statuses | read | Tots dos | Llistar tots els estats del workspace |
create_status | write | Writer | Crear un estat |
update_status | write | Writer | Actualitzar el nom, color, visibilitat al roadmap o ordre d'un estat |
delete_status | delete | Writer | Eliminar un estat, reassignant els seus posts - vegeu més avall |
Comentaris
| Eina | Scope | Connector | Propòsit |
|---|---|---|---|
list_comments | read | Reader | Llistar comentaris d'un post, amb paginació |
post_comment | write | Writer | Afegir un comentari públic; is_internal requereix OWNER/ADMIN |
update_comment | write | Writer | Editar el teu propi comentari; fixar o canviar la visibilitat com a OWNER/ADMIN - vegeu més avall |
delete_comment | delete | Writer | Eliminar qualsevol comentari com a OWNER/ADMIN; si no, només els teus |
Changelog
| Eina | Scope | Connector | Propòsit |
|---|---|---|---|
get_changelog | read | Tots dos | Entrades recents publicades del changelog |
create_changelog_entry | write | Writer | Crear una entrada de changelog com a esborrany - vegeu més avall |
update_changelog_entry | write | Writer | Actualitzar el títol, cos o posts enllaçats d'una entrada |
publish_changelog_entry | write | Writer | Publicar un esborrany - vegeu més avall |
delete_changelog_entry | delete | Writer | Eliminar permanentment una entrada, publicada o en esborrany |
Roadmap
| Eina | Scope | Connector | Propòsit |
|---|---|---|---|
get_roadmap | read | Reader | Posts agrupats per tots els estats, inclosos els ocults del roadmap |
Ordre
| Eina | Scope | Connector | Propòsit |
|---|---|---|---|
reorder_items | write | Writer | Fixar 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_postcompta 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_postilist_commentsretornen comentaris interns a més dels públics - els agents MCP veuen tot el que veu un admin. No reenviïs un comentari ambis_internal: truea un client final.merge_postses pot desfer ambunmerge_posts, però la restauració és degradada: els vots, comentaris i etiquetes es queden al post destinació. El post restaurat torna amb 0 vots.move_postrebutja moure un post a un tauler arxivat, i rebutja un "moviment" al tauler on el post ja és.reorder_itemsdescarta silenciosament qualsevol ID que no pertanyi al workspace (error tipogràfic, workspace equivocat, ja eliminat) en lloc de donar error. Comparareorderedambsubmitteda 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.
Permisos de MCP
Els tres scopes de MCP - read, write, delete - què cobreix cadascun per a concessions OAuth i claus d'API, com s'hereten les claus creades abans que existissin els scopes, i com concedir o canviar els scopes.
Resolució de problemes MCP
Soluciona errors comuns del MCP de Feedjolt: 402 pla requerit, 401 no autoritzat, 403 scope o rol insuficient, 429 límit de taxa, etiqueta no trobada, i les proteccions en eliminar taulers i estats.
