Référence technique MCP
Utilisez cette page lorsque vous avez besoin de détails de transport, d'informations d'identification statiques, de limites de fonctionnalités ou de dépannage de protocole. Pour la configuration personnelle la plus courte, commencez par Connectez Kanera à votre agent IA.
Méthodes de connexion
| Connexion | Authentification | Accès efficace |
|---|---|---|
| OAuth interactif | Connexion et consentement du navigateur | Agit en tant qu'utilisateur connecté avec la capacité d'outil de lecture et d'écriture. Le client contrôle la disponibilité et l'approbation des actions ; Kanera applique le rôle de l'utilisateur au tableau. Il ne reçoit jamais d’accès à l’administration de l’espace de travail. |
| Autorisation de l'appareil | Un code utilisateur court approuvé dans un navigateur sur n'importe quel appareil | Agit en tant qu’utilisateur approuvant, exactement comme OAuth interactif. Il ne reçoit jamais d’accès à l’administration de l’espace de travail. |
| Agent autonome | OAuth client_credentials | Utilise une identité de service d'espace de travail limitée au maximum de lecture, d'écriture ou d'administration choisi par un administrateur. L'administrateur n'ajoute actuellement aucun outil au serveur MCP par défaut ; utilisez un espace de travail ou une clé API de tableau distinct pour l'administration REST directe. |
| Clé API personnelle | Jeton de porteur statique | Agit en tant que propriétaire sur tous les tableaux accessibles. Le MCP par défaut reste axé sur le travail ; Les requêtes REST directes héritent séparément des autorisations prises en charge par le propriétaire. |
| Clé API de l'espace de travail ou du tableau | Jeton de porteur statique | Reste épinglé à son espace de travail standard ou à son tableau autonome et à sa portée de lecture, d'écriture ou d'administration. L'administrateur n'ajoute pas d'outils de configuration au MCP par défaut. |
Voir Connecter un agent IA pour OAuth interactif, le consentement, la révocation, les agents sans surveillance et le flux d'autorisation.
Points de terminaison hébergés
Le point de terminaison MCP hébergé de Kanera est :
https://mcp.kanera.app/mcp
Le bilan de santé du service est :
https://mcp.kanera.app/health
Les clients compatibles OAuth peuvent ajouter le point de terminaison MCP directement et effectuer l'authentification dans le navigateur. Un client utilisant une clé API l'envoie sous forme de jeton porteur :
Authorization: Bearer kanera_live_...
Si votre équipe gère Kanera à sa propre adresse, la même chose /mcp et /health les chemins s’y appliquent. Copiez l'adresse MCP exacte indiquée sous Paramètres du profil -> Clés API dans ce Kanera.
Versions du protocole
Le point de terminaison hébergé sert à la fois le protocole MCP actuel et les révisions antérieures que Claude, Codex, Cursor, Copilot, Gemini CLI et OpenCode utilisent aujourd'hui, à partir du même serveur. Les clients plus âgés voient les mêmes outils, ressources et invites qu'auparavant ; les clients sur le protocole actuel bénéficient également abonnements à des événements. Les schémas d'outils sont publiés dans le même dialecte de schéma JSON pour les deux, de sorte qu'aucun client ne voit un contrat différent. kanera mcp over stdio accepte également les deux.
Sécurité des jetons OAuth
Les clients compatibles OAuth gèrent automatiquement les détails de sécurité. Le jeton émis pour une connexion Kanera fonctionne uniquement avec l'adresse MCP indiquée par Kanera ; il ne peut pas être réutilisé comme identifiant API grand public.
Si vous créez un client OAuth personnalisé, envoyez cette adresse MCP exacte comme resource lors de l'autorisation et de chaque échange de jetons. Les exemples d’autorisation d’appareil ci-dessous montrent à quelle place il appartient. Utilisez une clé API personnelle, d'espace de travail ou de tableau pour une intégration qui appelle directement l'API REST.
Autorisation de périphérique pour les clients CLI et sans tête
Un client qui ne peut pas recevoir de redirection de navigateur, tel qu'un outil de terminal, une session SSH ou une machine sans navigateur utilisable, peut se connecter avec l'octroi d'autorisation de périphérique OAuth (RFC 8628). Le client affiche un code court, une personne l'approuve dans un navigateur sur n'importe quel appareil et le client interroge jusqu'à ce qu'il reçoive des jetons.
Le résultat est la même identité que OAuth interactif. La connexion agit en tant qu'utilisateur approbateur avec la capacité d'un outil de lecture et d'écriture, tandis que Kanera continue d'appliquer le rôle de cet utilisateur sur chaque tableau. Il ne reçoit jamais d’accès à l’administration de l’espace de travail. L’approbation d’une demande de périphérique nécessite un plan autorisant les connexions d’agent, la même exigence que toute autre connexion d’agent.
Kanera annonce le flux entrant /.well-known/oauth-authorization-server:
| Champ de métadonnées | Valeur |
|---|---|
device_authorization_endpoint | https://api.kanera.app/oauth/device/code |
grant_types_supported | Comprend urn:ietf:params:oauth:grant-type:device_code |
Enregistrer un client de périphérique
Enregistrez le client sur /oauth/register avec le type d'autorisation de l'appareil. Un client réservé aux appareils n’a pas besoin d’URI de redirection ; redirect_uris n'est requis que lorsque le client utilise également authorization_code.
curl -X POST https://api.kanera.app/oauth/register \
-H 'content-type: application/json' \
-d '{
"client_name": "Acme CLI",
"grant_types": ["urn:ietf:params:oauth:grant-type:device_code", "refresh_token"]
}'
Kanera rejette le flux de périphérique pour tout client qui n'a pas été enregistré avec le type d'attribution de périphérique.
Demander un code d'appareil
curl -X POST https://api.kanera.app/oauth/device/code \
-d client_id=kanera_client_... \
-d resource=https://mcp.kanera.app/mcp \
-d 'scope=kanera:read kanera:write offline_access'
resource est requis et doit correspondre à l’adresse MCP. Kanera normalise chaque demande d'appareil autorisée par l'utilisateur pour kanera:read kanera:write, y compris les clients qui omettent scope ou demandez uniquement Lire. Kanera émet un jeton d'actualisation lorsque le client a enregistré le refresh_token type de subvention ; offline_access est accepté mais pas obligatoire. Seulement kanera:read, kanera:write, et offline_access sont acceptés.
| Champ de réponse | Signification |
|---|---|
device_code | Le secret que le client renvoie lors de l'interrogation. |
user_code | Le code court saisi par la personne, formaté comme ABCD-2345. |
verification_uri | Le /oauth/device page sur votre adresse Web Kanera. |
verification_uri_complete | La même page avec le code pré-rempli dans la chaîne de requête. |
expires_in | 600. La demande expire dix minutes après son émission. |
interval | 5. Le nombre minimum de secondes entre les sondages. |
Approuver la demande
- Le client affiche le
user_codeet leverification_uri, ou ouvreverification_uri_completedirectement. - La personne ouvre cette adresse et se connecte à Kanera si ce n'est pas déjà fait.
- La page nomme le client, affiche le code afin qu'il puisse être vérifié par rapport au terminal et répertorie ce que le client pourra faire.
- Choisir Autoriser l'accès approuve la connexion. Choisir Refuser le rejette.
Sondage pour les jetons
curl -X POST https://api.kanera.app/oauth/token \
-d grant_type=urn:ietf:params:oauth:grant-type:device_code \
-d device_code=kanera_device_... \
-d client_id=kanera_client_... \
-d resource=https://mcp.kanera.app/mcp
Sondez pas plus vite que interval. Jusqu'à ce que la demande soit terminée, le point de terminaison du jeton renvoie 400 avec une erreur OAuth standard :
| Erreur | Signification | Ce que le client doit faire |
|---|---|---|
authorization_pending | Personne n'a encore approuvé ou refusé la demande. | Continuez à interroger à l'intervalle actuel. |
slow_down | Le client a interrogé plus rapidement que l'intervalle. | Kanera ajoute cinq secondes à l'intervalle. Utilisez désormais l’intervalle le plus long. |
access_denied | La personne a refusé la demande. | Arrêtez l'interrogation et démarrez une nouvelle demande. |
expired_token | Le code a expiré ou ses jetons ont déjà été émis. | Démarrez une nouvelle demande. |
invalid_grant | Le code de l'appareil est inconnu ou appartient à un autre client. | Démarrez une nouvelle demande. |
Après approbation, le point de terminaison renvoie la même charge utile que toutes les autres subventions : une kanera_mcp_... jeton d'accès valable quinze minutes, plus un jeton d'actualisation lorsque le client a enregistré le refresh_token type de subvention. Un code d'appareil est à usage unique, donc un échange répété renvoie expired_token. Les demandes d'actualisation doivent inclure les mêmes resource.
Gérer ou révoquer une connexion de périphérique où toutes les autres connexions d'agent sont gérées, sous Paramètres du profil -> Clés API.
Créer une clé API
Utilisez des clés API pour le stdio local, les clients qui n'acceptent que les jetons de support statiques ou les intégrations personnalisées côté serveur.
Clé API personnelle
- Ouvert Paramètres du profil.
- Aller à Clés API.
- Créez une clé API personnelle.
- Choisissez Lecture seule ou Lire et écrire. La lecture seule est la bonne valeur par défaut pour un agent sans surveillance : Kanera refuse toute mutation au niveau de l'API, de sorte que les autorisations d'outil du client ne sont pas la seule chose qui s'interpose entre un agent et votre travail. Un client connecté avec une clé en lecture seule se voit uniquement proposer les outils de lecture, il ne planifie donc jamais une modification qu'il ne peut pas effectuer.
- Ajoutez une étiquette privée facultative qui identifie le client.
- Copiez le secret lorsqu'il est affiché.
Une clé personnelle a un préfixe tel que kanera_u_live_.... Il est affiché une fois et agit en tant que propriétaire, plafonné par la portée que vous avez choisie. Stockez-le uniquement dans le magasin d'informations d'identification du client AI ou dans le gestionnaire de secrets de votre serveur.
Clé API de l'espace de travail ou du tableau
- Ouvrez l'espace de travail standard ou le tableau autonome.
- Aller à Paramètres -> API.
- Créez une clé API.
- Choisissez la plus petite portée qui correspond au flux de travail.
- Copiez le secret lorsqu'il est affiché.
| Portée | Subventions |
|---|---|
| Lire | Inspectez, recherchez, résumez et créez des rapports sans changer Kanera. |
| Écrire | Créez et mettez à jour le contenu du tableau, notamment les cartes, les listes de contrôle, les commentaires, les devoirs, les étiquettes, les valeurs de champs personnalisés et les notes. |
| Administrateur | Effectuez une administration d’API publique directe prise en charge. Le serveur MCP par défaut reste axé sur le travail et n'expose aucun outil d'administration d'espace de travail, de tableau, de liste, d'étiquette, de champ, d'option, de rétention ou de commande. |
Connectez un client stdio local
Le serveur stdio local le plus simple est le Kanera CLI. Installez-le, connectez-vous une fois et pointez le client vers kanera mcp; il sert la même couche d'outils sur stdio en utilisant les informations d'identification stockées, il n'y a donc pas de deuxième clé à configurer à un deuxième endroit.
npm install --global @kanera/cli
kanera auth login
{
"mcpServers": {
"kanera": {
"command": "kanera",
"args": ["mcp"]
}
}
}
Utiliser npx @kanera/cli mcp au lieu d'une installation globale alors que vous préférez ne rien installer, et ajoutez "args": ["mcp", "--profile", "agent"] pour choisir un profil nommé.
Pour fournir les informations d'identification via l'environnement plutôt qu'un profil stocké (le choix habituel dans CI ou un agent en bac à sable), la CLI et le package MCP autonome lisent :
| Variable d'environnement | Objectif |
|---|---|
KANERA_API_KEY | Une clé API personnelle, d'espace de travail ou de tableau. |
KANERA_PUBLIC_API_URL | L'origine de l'API publique Kanera, telle que https://api.kanera.app. |
{
"mcpServers": {
"kanera": {
"command": "npx",
"args": ["-y", "@kanera/cli", "mcp"],
"env": {
"KANERA_API_KEY": "kanera_u_live_...",
"KANERA_PUBLIC_API_URL": "https://api.kanera.app"
}
}
}
}
Utilisez le point de terminaison HTTP hébergé lorsque vous n'avez pas du tout besoin d'exécuter le processus MCP localement.
Ressources
Kanera fournit quatre modèles de ressources JSON structurés :
| Ressource | URI | Contient |
|---|---|---|
| Espace de travail standard | kanera://workspace/{workspaceId} | Configuration de l'espace de travail délimité et listes partagées, étiquettes, champs, modèles, automatisations et adhésion visibles par les informations d'identification |
| Tableau | kanera://board/{boardId} | Métadonnées limitées et configuration visible pour un espace de travail standard ou une carte autonome, sans cartes |
| Carte | kanera://card/{cardId} | Détails de la carte, y compris les étiquettes, les destinataires, les listes de contrôle, les pièces jointes et les notes liées |
| Remarque | kanera://note/{noteId} | Une note personnelle ou d'équipe visible |
Les notes personnelles sont privées pour l'utilisateur connecté. N’impliquez pas qu’un autre membre de l’espace de travail ou un identifiant de service de l’espace de travail peut les lire.
Références des cartes
Champs de la carte MCP nommés cardId ou cardIds accepter l'une de ces références :
- Une clé de carte humaine telle que
PROJ-123, y compris une clé exacte qui utilise un préfixe d'espace de travail précédent. - Une URL canonique de carte Kanera.
- L'UUID de la carte renvoyé par l'API publique.
Utilisez la clé humaine dans les invites et les réponses destinées aux utilisateurs. Kanera le résout en UUID avant d'appeler l'opération d'API publique existante, de sorte que l'autorisation, l'activité et le comportement d'audit restent les mêmes. Une clé résolue est mémorisée pour la connexion pendant quelques minutes, donc la répéter au cours d'une tâche en plusieurs étapes ne répète pas la recherche. Si l'utilisateur connecté peut voir la même clé dans plusieurs organisations, utilisez l'URL canonique de la carte pour identifier sans ambiguïté l'organisation souhaitée.
Les résultats de la carte incluent la clé actuelle lisible par l'homme. Le kanera://card/{cardId} L'URI de la ressource continue d'utiliser l'UUID ; les clés humaines et les liens s'appliquent aux entrées de l'outil MCP.
Groupes de capacités
Les schémas d'outils en direct font autorité en matière de noms, d'entrées, d'annotations de sécurité et de limites. Le serveur couvre actuellement :
| Zone | Opérations disponibles |
|---|---|
| Découverte | Inspecter la session d'intérim, les espaces de travail standard des pages et les tableaux accessibles, lire la configuration de l'espace de travail ou du tableau délimité, ainsi que les tableaux et les membres des pages. |
| Limite de configuration | Lisez les listes, les étiquettes, les champs, les options, les membres et les autorisations nécessaires pour cibler le travail. Les opérations de création, de modification, de réorganisation, de conservation et autres opérations d'administration de listes/espaces de travail restent dans l'interface Kanera et ne sont pas des outils MCP. |
| Rechercher | Recherchez des cartes en direct, des notes, des commentaires et des noms de fichiers de pièces jointes, ou recherchez dans la documentation officielle de Kanera |
| Cartes | Lisez des résumés ou du contenu complet, récupérez le contenu d'une liste de contrôle/commentaire pour jusqu'à 200 cartes sélectionnées, créez, mettez à jour, déplacez, réorganisez, copiez, déplacez-vous entre des tableaux compatibles, archivez, désarchivez, complétez, rouvrez et gérez les pièces jointes et les couvertures. |
| Relations avec les cartes | Lire les liens individuels avec cards.get, explorez les chaînes avec cards.dependency_graph, et ajoutez ou supprimez blocks, blocked_by, ou relates_to liens avec cards.set_relations |
| Pièces jointes | Lire le contenu d'une pièce jointe avec cards.get_attachment (images sous forme d'images, fichiers texte sous forme de texte paginé) ; joindre un fichier depuis le propre disque de l'agent avec cards.create_upload_link, qui renvoie une URL à usage unique vers laquelle l'agent télécharge avec curl -T |
| Séparateurs de tableaux | Créez des séparateurs titrés, éventuellement colorés ; mettre à jour leur apparence ; déplacez-les par rapport aux cartes, aux séparateurs ou aux bords de liste ; marque-places par rapport aux séparateurs ; et supprimer les séparateurs sans changer de carte |
| Travail de cartes en masse | Complétez, datez, étiquetez, attribuez, déplacez, archivez, copiez ou définissez des champs personnalisés sur les cartes sélectionnées, avec des limites de lots au niveau du tableau exposées dans chaque schéma. |
| Affectations et champs | Remplacez les destinataires ou les étiquettes et définissez ou effacez les valeurs de champs personnalisés prises en charge. |
| Commentaires | Page, ajouter avec des pièces jointes facultatives, modifier, supprimer un commentaire éligible et ajouter ou supprimer des réactions de manière idempotente |
| Listes de contrôle | Lire les listes de contrôle d'une carte sous forme d'arborescence imbriquée avec des identifiants ; créer une liste de contrôle avec ses éléments, ses destinataires, ses dates d'échéance et un niveau de sous-listes de contrôle en un seul appel atomique ; ajouter un ou plusieurs éléments à une position choisie ; mettre à jour un ou plusieurs éléments avec des modifications différentes par élément ; définir un responsable ou une date d'échéance pour chaque élément ; renommer, réorganiser, déplacer et supprimer. Les lots sont entièrement validés avant que quoi que ce soit ne soit écrit, et les erreurs nomment le champ exact |
| Prochaines priorités | Découvrez les files d'attente lisibles des personnels et des coéquipiers, lisez l'ordre de classement exact et ajoutez, déplacez ou supprimez les cartes actives attribuées lorsque les informations d'identification et l'autorité de l'espace de travail le permettent. |
| L'agent s'exécute | Annoncer le travail en vol sur une carte avec runs.start, signaler les progrès et le rythme cardiaque avec runs.update, fermez l'exécution avec un statut de terminal et vérifiez ce qui est déjà en cours d'exécution avec runs.list |
| Travail et reporting | Interrogez les cartes personnelles ou d'équipe visibles avec des filtres en retard, non attribués, d'inactivité et de dernier déplacement ; lire toute la journée de l'utilisateur connecté en un seul appel avec work.my_day; inspectez les calendriers de la chronologie et les cumuls inter-tableaux avec work.portfolio_summary; et générer des preuves personnelles sur des tableaux accessibles |
| Activité et travail réalisé | Pagez l'activité du tableau et l'historique des cartes, et lisez l'historique d'achèvement et les enregistrements du travail effectué. |
| Notes | Métadonnées des notes de page, lire le contenu complet, créer, mettre à jour, lier, joindre de petits fichiers, copier et réorganiser des notes personnelles ou d'équipe |
| Bloc-notes | Capturez les éléments « rappelle-moi de… » dans votre espace privé Bloc-notes Boîte de réception sans choisir de tableau, répertoriez et lisez les pages et cochez les éléments. Nécessite une connexion au navigateur ou une clé personnelle |
Voir le inventaire généré des outils MCP pour chaque nom d'outil enregistré.
Relations avec les cartes
cards.get comprend la carte relations et hiddenBlockerCount. cards.set_relations ajoute ou supprime des relations dans le même espace de travail :
{
"cardId": "WEB-18",
"direction": "blocked_by",
"otherCardIds": ["MKT-42", "MKT-43"],
"remove": false
}
direction est blocks, blocked_by, ou relates_to, lisez depuis cardIddu côté. otherCardIds accepte une référence de carte ou jusqu'à 50 ; remove la valeur par défaut est false. Les ajouts sont idempotents et s'engagent par cible. Un succès partiel revient failed entrées et tout notAttemptedCardIds à côté des relations qui en résultent. Si la lecture finale échoue, addedCardIds et relationsUnavailable signaler ce qui a été enregistré. L'appel génère des erreurs lorsque chaque tentative de modification est refusée. Validations de suppression par cible également : removedCardIds préserve les suppressions réussies à côté de tout failed, notAttemptedCardIds, ou relationsUnavailable détails. notFoundCardIds nomme des relations qu’il ne peut ni voir ni trouver ; ceux-là sont laissés seuls.
Un identifiant capable d'écrire nécessite un accès en modification pour cardId et toute carte bloquée, et accès en lecture aux autres cartes. Les cycles, les auto-liens, les liens entre espaces de travail et les cartes complétées en tant que nouveaux bloqueurs sont rejetés. Les lectures omettent les détails de la carte inaccessibles mais comptent les bloqueurs actifs cachés. Utiliser filters: { blockedOnly: true } avec work.query_cards pour les cartes ouvertes bloquées, ou atRiskOnly: true pour les cartes ouvertes dont le bloqueur visible est en retard ou dû après elles ; work.portfolio_summary rapporte les deux chefs d'accusation ; abonnez-vous à card.blocked et card.unblocked pour les transitions. Ces événements fonctionnent indépendamment des automatisations configurées.
L'achèvement via MCP n'affiche pas d'avertissement interactif de blocage de travail. Lisez d'abord les relations pour décider si le travail est prêt. Une exécution d'agent bloqué (runs.update avec status: "blocked") décrit cette exécution et ne crée pas de dépendance de carte. Voir Relations avec les cartes et blocage.
Graphiques de dépendance
cards.dependency_graph répond à ce qui bloque une carte, à ce qu'elle retient et à quel travail est connecté sur un tableau ou un espace de travail. Passez exactement un des cardId (clé, UUID ou URL canonique), boardId, ou workspaceId:
{ "cardId": "MKT-42" }
L'outil revient étendu cards, edges, et truncated. Les cartes incluent leur clé, leur titre, leur URL, les noms du tableau source/liste, inScope, ainsi que les dates, étiquettes et destinataires disponibles. openBlockerCount inclut des bloqueurs actifs que l'appelant ne peut pas voir ; offMapBlockerCount compte les bloqueurs actifs absents de cette carte. Seules les valeurs facultatives présentes et différentes de zéro sont incluses. Un blocks le bord part de sourceCardId à targetCardId.
Une portée de carte revient également focus: blockedBy et blocks sont des connexions directes ; upstream et downstream sont les identifiants de carte transitifs dans l'ordre le plus proche ; relatedTo répertorie les liens contextuels. onMap: false signifie que la carte demandée a été complétée, archivée, sans rapport ou autrement absente du graphique. L'absence ne prouve pas qu'une carte n'a aucune relation.
Le graphique suit les liens de blocage dans les deux sens via des cartes ouvertes lisibles. Les conditions préalables remplies peuvent apparaître, mais le parcours ne se poursuit pas à travers elles. Les cartes cachées sont comptées sans être nommées ni utilisées pour faire le lien vers d'autres travaux. Les voisins associés sont inclus à un saut des graines ouvertes de la portée. La réponse s'arrête à 400 cartes et sets truncated; restreindre la portée pour plus de détails. Ceci est un outil de lecture. Utiliser cards.set_relations pour modifier les liens et événements de dépendance pour suivre les changements.
Dates
Les entrées de date sont acceptées YYYY-MM-DD ou des phrases de tous les jours, résolues dans votre propre fuseau horaire à partir de votre profil Kanera : today, tomorrow 1pm, friday (le vendredi prochain, aujourd'hui inclus), next friday (une semaine après), in 2 weeks, next month, end of week, end of month, ou oct 12. session.get renvoie votre timeZone et today afin qu'un agent puisse vous montrer la date à laquelle cela a fonctionné. Les dates d'échéance de Kanera utilisent des créneaux horaires plutôt que des heures exactes, donc une heure sélectionne le créneau correspondant : jusqu'à 09h00 est Matin, jusqu'à 13h00 Après-midi, jusqu'à 17h00 Fin de journée de travail, et n'importe quoi plus tard, le créneau d'une journée entière. Une phrase que Kanera ne peut pas lire est refusée avec les formes acceptées plutôt que devinée.
Ordre des résultats
La description de chaque outil de liste indique l'ordre dans lequel ses résultats reviennent, par exemple « le plus récent en premier » pour les commentaires et les activités, l'ordre d'affichage pour les listes et les listes de contrôle, et le plus tôt dû en premier pour les commentaires et les activités. work.query_cards par défaut.
Calendriers et dates de début
Utiliser work.schedule avec exactement un boardId ou workspaceId. Il lit le même moteur de journée de travail que le Vue chronologique, suit les chaînes connectées accessibles dans tous les domaines et exclut les cartes complétées et inaccessibles. Les filtres d'affichage ne modifient pas le calcul.
| Résultat | Signification |
|---|---|
cards[].plannedStart, plannedEnd, durationDays | La plage de dates planifiée et sa durée incluse du lundi au vendredi. |
earliestStart, earliestFinish, latestStart, latestFinish | Dates contraintes par les dépendances et dernières dates qui préservent la fin de la chaîne. |
slackDays, critical | De la place pour glisser dans les journées de travail et si le travail connecté n'a pas de répit. Une marge nulle signifie que le calcul n’a pas d’ancrage de date. |
conflicts[] | Bloqueurs ouverts en conflit, avec blockerId, edgeId, kind, et jour ouvrable days. |
criticalEdgeIds | Relations sur le chemin critique de planification. |
summary | Nombres planifiés/non planifiés, conflits et critiques, plage de dates, projectedFinish, latestDue, et jour ouvrable slipDays par rapport à la dernière échéance. |
Passer startDateLocalDate à cards.create, cards.update à l'intérieur changes, ou chaque entrée de cards.bulk_create. Utiliser YYYY-MM-DD ou une expression de date relative prise en charge résolue dans la zone de l'utilisateur ; null efface un début existant. Un départ n'a pas de créneau horaire et ne peut être effectué après l'échéance. Ces écritures nécessitent un accès en modification et ne déplacent pas automatiquement les dates des successeurs.
Il n'y a pas de saisie d'horaire hypothétique : proposez une modification par rapport à l'horaire actuel, puis appliquez-la et relisez-la uniquement lorsqu'une modification enregistrée est souhaitée. Voir exemples de planification travaillée et planifier les charges utiles des événements. Retour des fonctionnalités de planification désactivées TIMELINE_DISABLED ou DEPENDENCIES_DISABLED pour les opérations qui les nécessitent.
Abonnements à des événements
Un client sur le protocole MCP actuel peut s'abonner à card.created, card.updated, card.moved, et comment.created dans un espace de travail, un tableau ou une carte, pour priorities.changed pour la propre file d'attente Up next de l'utilisateur connecté, et pour my_day.ready pour un ping de briefing le matin en semaine et recevez chaque occurrence lors d'un rappel HTTPS vérifié qu'il contrôle. Les abonnements appartiennent à la connexion, durent jusqu'à 24 heures par actualisation et sont revérifiés par rapport à l'accès actuel de l'identité avant chaque livraison. Voir Abonnez-vous aux événements pour le catalogue, la vérification, la signature, les tentatives et les codes d'erreur.
Invites intégrées
| Invite | Utiliser |
|---|---|
summarize_board_status | Inspectez un tableau et résumez les progrès, les bloqueurs, les travaux obsolètes et les actions suivantes. |
prepare_standup_update | Combinez votre travail personnel actuel et votre historique de travail paginé sur des tableaux accessibles pour rédiger un stand-up. |
draft_card_from_notes | Lisez une note et rédigez un titre de carte et une description Markdown sans créer la carte. |
Les invites de conversation normales fonctionnent même lorsqu'un client AI n'expose pas les modèles d'invite MCP.
Opérations de sécurité et de destruction
- OAuth interactif et de code d'appareil accorde toujours
kanera:readetkanera:write;offline_accessreste facultatif. Le client MCP contrôle la disponibilité et les approbations des outils, et Kanera applique les rôles au sein du tableau. Les outils d'administration fonctionnent uniquement lorsque l'utilisateur détient le rôle d'administrateur correspondant : les administrateurs de l'organisation peuvent créer des espaces de travail et des tableaux autonomes, et les administrateurs d'espace de travail peuvent ajouter des tableaux et gérer les automatisations. - Chaque flux OAuth lie son autorisation, son code, sa famille d'actualisation et son jeton d'accès au MCP canonique.
resource. - Brut
kanera_mcp_...les jetons d'accès sont acceptés uniquement par le point de terminaison MCP et sont rejetés par/api/v1; le service MCP utilise des informations d'identification de délégation interne distinctes d'une durée d'une minute pour les appels d'API publics. - L'autorisation des appareils utilise les mêmes étendues et les mêmes limites. Un code d'appareil expire après dix minutes, peut être échangé une fois et n'est approuvé que par un utilisateur connecté qui confirme le code affiché par le client.
- Les agents sans surveillance et les clés d'espace de travail sont limités à leur étendue configurée.
- Les clés personnelles héritent des autorisations actuelles de leur propriétaire et doivent être protégées comme le compte de l'utilisateur.
- Les clés API en lecture et les informations d’identification de service sans surveillance ne peuvent pas appeler de mutations protégées.
- L'activité de la clé API et du MCP est enregistrée avec son utilisateur actif ou son identité d'intégration. Un agent OAuth interactif est enregistré comme l'agent agissant pour son utilisateur : les lignes de commentaires et d'activité portent le nom de l'agent et s'affichent sous la forme
via <agent>, et l'utilisateur est informé de ce que son agent a fait plutôt que de le voir supprimé par sa propre action. Une clé API personnelle utilisée par un script agit toujours en tant que propriétaire. - La déconnexion d'OAuth ou la suppression d'un agent sans surveillance révoque ses informations d'identification actives.
- Utilisez un identifiant distinct par client afin qu'une connexion puisse être révoquée sans en affecter une autre.
Kanera MCP ne peut pas supprimer :
- Tableaux
- Listes
- Étiquettes ou champs personnalisés
- Notes
- Notes jointes
Supprimez-les manuellement dans Kanera. MCP peut archiver ou désarchiver des cartes et archiver les cartes actives dans une liste.
L'administration sur MCP se limite à la création d'espaces de travail et de tableaux autonomes (administrateurs de l'organisation, utilisant une subvention OAuth interactive ou une clé personnelle en écriture), à l'ajout de tableaux à un espace de travail et à la création, la modification, l'activation et la suppression d'automatisations (administrateurs de l'espace de travail). MCP ne peut pas modifier, réorganiser ou supprimer des espaces de travail, des tableaux, des listes, des étiquettes, des champs, des options, des membres ou des paramètres de rétention. Ces opérations restent dans l'interface Kanera ; Les points de terminaison REST pris en charge restent disponibles pour les intégrations délibérément construites.
MCP peut supprimer définitivement :
- Un commentaire rédigé par l'utilisateur actif
- Une liste de contrôle et ses éléments
- Un élément de la liste de contrôle
Ces schémas d'outils sont marqués comme destructeurs. Utilisez-les uniquement après une demande explicite et vérifiez la cible avant de les appeler.
Dépannage
| Problème | Que vérifier |
|---|---|
| Le client ne peut pas se connecter | Utilisez l'exact /mcp URL du Kanera auquel vous vous connectez, comme indiqué ci-dessous Paramètres du profil -> Clés API. |
| Le client demande un token au lieu d'ouvrir Kanera | Il ne prend pas en charge MCP OAuth distant. Utilisez une clé API ou un client pris en charge. |
| Le client n'a pas de navigateur vers lequel rediriger | Utiliser autorisation de l'appareil si le client le prend en charge, ou une clé API si ce n'est pas le cas. |
Les sondages reviennent sans cesse slow_down | Sondez pas plus vite que le interval renvoyé avec le code de l'appareil et adopter l'intervalle le plus long après chaque slow_down. |
| La page de l'appareil signale un code invalide ou expiré | Les codes durent dix minutes et fonctionnent une fois. Vérifiez le code, connectez-vous d'abord, puis demandez un nouveau code au client. |
Le point de terminaison du jeton renvoie invalid_target | Envoyez l'adresse MCP exacte de Paramètres du profil -> Clés API comme resource lors de l'autorisation et de chaque échange de jetons. |
| La clé API est signalée manquante | Ensemble KANERA_API_KEY pour stdio ou envoyer Authorization: Bearer ... via HTTP. |
Une demande revient 401 | L'identifiant est manquant, mal formé, expiré, révoqué ou copié de manière incorrecte. Redémarrez OAuth ou remplacez la clé API. |
Une demande revient 403 | Pour OAuth personnel, confirmez que l'utilisateur actif est un éditeur plutôt qu'un observateur sur le tableau cible. Pour une clé API ou un agent sans surveillance, vérifiez également que les informations d'identification sont capables d'écrire. |
| L'agent peut lire mais pas modifier | Autorisez l'action d'écriture dans le client MCP et confirmez que l'identité intérimaire dispose d'un accès en tant qu'éditeur de tableau. Pour les connexions de service et les clés API, utilisez également des informations d'identification capables d'écrire. Les connexions OAuth personnelles existantes n'ont pas besoin d'être reconnectées. |
| L'agent ne trouve pas de tableau | Utilisez la découverte complète du tableau. Un tableau peut être autonome ou disponible uniquement via une adhésion invité explicite. |
| L'agent ne peut pas administrer un espace de travail | MCP couvre uniquement la création d'espaces de travail et de tableaux et la gestion des automatisations, et uniquement lorsque l'identité agissant est un administrateur ; Les informations d'identification limitées à l'espace de travail et en lecture seule ne peuvent pas créer d'espaces de travail. Pour une autre administration, utilisez l'interface Kanera ou un point de terminaison REST public pris en charge. |
| Un agent de codage dispose d’outils mais les utilise mal | Installez le fonctionnaire Compétence d'agent Kanera. |
| Les outils nouveaux ou modifiés n'apparaissent pas | Actualisez ou analysez à nouveau le serveur MCP dans le client afin qu'il récupère les schémas actuels. Redémarrez le client s'il n'a aucune action d'actualisation ; La réautorisation OAuth n’est normalement pas requise. |
| Le client ne peut pas s'abonner aux événements | Les événements ont besoin de l'hébergement /mcp point de terminaison et un client sur le protocole MCP actuel ; un studio kanera mcp le serveur ne les propose jamais. Voir Abonnez-vous aux événements pour les erreurs de rappel et de portée. |
