@pidgeon-ai/mcp

MCPattestéen ligne
v0.5.1UnknownMITMis à jour il y a 1 jnpmGitHub

Model Context Protocol server for Pidgeon. A protocol adapter over the API, and nothing more.

État de l’endpointen ligne
vérifié il y a 17 h · 378 ms · authentification requise
100 % des 1 vérification a atteint cet endpoint
Fonctionne dans
ClaudeCursorCopilotChatGPTGemini

Déduit des transports déclarés par cette annonce (stdio, streamable-http). Un client absent de cette liste n’est pas écarté pour autant — c’est simplement quelque chose que Forge ne peut pas confirmer.

Build attesté
Une attestation de provenance vérifiée lie cet artefact au dépôt indiqué. Personne n’a encore revendiqué l’annonce — cela prouve où le code a été construit, pas qui le soutient.
15Téléch./sem.
il y a 1 jDernière mise à jour
Nécessite 1 identifiant avant de pouvoir fonctionner
  • PIDGEON_API_KEYClé d’APIobligatoire

    Your Pidgeon API key (pgn_live_…). Make one under Developers → API keys, or let an agent sign itself up: https://pidgeon.ai/skill.md

Déclaré par l’auteur dans le registre MCP officiel. Forge does not store, broker, or ever see these values — the config below is scaffolded with placeholders you fill in locally.

Paquet
AuteurUnknown
LicenceMIT
Version0.5.1
Sourcenpm+mcp-registry
Statut de confiance
B
65/100Bon
✓Listé dans l’index Forge+10/10
✓Identité vérifiée · build attesté+20/20
—Signature de publication Ed25519+0/5
→ Incluse automatiquement quand l’éditeur exécute `forge publish`
—Vérification de domaine+0/5
→ Éditeur : hébergez /.well-known/forge.json sur la page d’accueil du paquet avec { "publisher": "<github-login>" }
✓npm Trusted Publishing (Sigstore)+5/5
—Correspondance de mainteneur npm+0/5
→ Éditeur : ajoutez le login GitHub vérifié aux mainteneurs du paquet npm (npm owner add <login>)
✓Analyse CVE · propre+30/30
—Analyse statique · propre+0/20
→ Scripts d’installation suspects ou code obfusqué détectés
Collez-le dans Claude Code, Cursor ou tout assistant d’IA pour combler toutes les lacunes
StatutIdentité vérifiée
ÉditeurNon vérifié
SignatureNon signé
Domaine—
Provenance✓ Vérifié par Sigstore · 8aafd88
Dépendances✓ 60 résolues+ · aucune vulnérable
Surface d’outils26 outils · 1 privilégiés
Analyse de sécurité⚠ Avertissements (1)v0.8.0 · aujourd’huiQuelle est l’efficacité de cette analyse ?
PROMPTtool:send_messageExfiltration-shaped instruction
ÉvaluationsAucune
Indexé17 oct. 2026

La vérification confirme l’identité de l’éditeur (la propriété du dépôt), pas la sûreté du code. L’analyse de sécurité couvre les CVE connues et les scripts d’installation suspects.

Outils

26 outils · 1 privilégiés · 1 signalés pour injection
Extrait statiquement du paquet publiév0.8.0 · 10h ago

Lu dans le code que npm livre réellement, au moment de l’analyse. Le paquet n’a jamais été exécuté. Les outils enregistrés dynamiquement à l’exécution, ou cachés dans du code empaqueté ou minifié, peuvent passer inaperçus — c’est donc un plancher de la surface d’outils, pas un recensement complet.

list_addressesThe addresses this credential can reach. Use `pod_id` to list one pod’s — one of your own customers — or `tenant_id` for your own opaque grouping.

The addresses this credential can reach. Use `pod_id` to list one pod’s — one of your own customers — or `tenant_id` for your own opaque grouping.

Aucun schéma d’entrée n’a été publié pour cet outil.

create_addressAucune description publiée

Cet outil n’a publié aucune description. Forge n’en invente pas.

get_addressOne address, by id. Answers its type, its capabilities, its send policy and its end date, which is how to check what an address is allowed to do before using it.

One address, by id. Answers its type, its capabilities, its send policy and its end date, which is how to check what an address is allowed to do before using it.

Aucun schéma d’entrée n’a été publié pour cet outil.

list_threadsConversations in one address, newest first. Filter by `status` for the queue an agent should be working, by `owner_type` for what kind of thing is answering, or by `assignee_id` for what one person has taken — `unassigned` is the queue nobody has.

Conversations in one address, newest first. Filter by `status` for the queue an agent should be working, by `owner_type` for what kind of thing is answering, or by `assignee_id` for what one person has taken — `unassigned` is the queue nobody has.

Aucun schéma d’entrée n’a été publié pour cet outil.

get_threadOne conversation, by id. Every webhook payload carries a `thread_id`, so this is how a handler turns an event into the conversation it is about.

One conversation, by id. Every webhook payload carries a `thread_id`, so this is how a handler turns an event into the conversation it is about.

Aucun schéma d’entrée n’a été publié pour cet outil.

list_messagesThe messages of one conversation, oldest first — the text to read before replying. Bodies are here; attachments are metadata only.

The messages of one conversation, oldest first — the text to read before replying. Bodies are here; attachments are metadata only.

Aucun schéma d’entrée n’a été publié pour cet outil.

search_messagesFull-text search across every address this credential can reach, ranked by relevance. Name an `identity_id` to search exactly one. Every result carries the `identity_id` it was found in, because a hit you cannot attribute to an address is a hit you cannot open.

Full-text search across every address this credential can reach, ranked by relevance. Name an `identity_id` to search exactly one. Every result carries the `identity_id` it was found in, because a hit you cannot attribute to an address is a hit you cannot open.

Aucun schéma d’entrée n’a été publié pour cet outil.

send_messagerisque d’injectionSend from an address this credential may send as. Refused if the address’s send policy does not permit the recipient, or if the recipient previously bounced or reported mail as spam.

Send from an address this credential may send as. Refused if the address’s send policy does not permit the recipient, or if the recipient previously bounced or reported mail as spam.

INJECTIONExfiltration-shaped instructionSend from an address this credential may send as. Refused if the address’s send policy does not …

Aucun schéma d’entrée n’a été publié pour cet outil.

get_messageAucune description publiée

Cet outil n’a publié aucune description. Forge n’en invente pas.

await_messageAucune description publiée

Cet outil n’a publié aucune description. Forge n’en invente pas.

reply_to_messageThe recipients, the subject and the thread are read off the message being answered, so you bring the words and nothing else. Use `to` only to change who it goes to.

The recipients, the subject and the thread are read off the message being answered, so you bring the words and nothing else. Use `to` only to change who it goes to.

Aucun schéma d’entrée n’a été publié pour cet outil.

update_threadWho owns a conversation and where it has got to. `owner_type: "human"` hands it to a person — it appears in the web inbox and `thread.updated` tells whatever was driving it that it no longer is; `"agent"` takes it back. `status` is the queue it sits in, and `assignee_id` names which person has it.

Who owns a conversation and where it has got to. `owner_type: "human"` hands it to a person — it appears in the web inbox and `thread.updated` tells whatever was driving it that it no longer is; `"agent"` takes it back. `status` is the queue it sits in, and `assignee_id` names which person has it.

Aucun schéma d’entrée n’a été publié pour cet outil.

update_messageAucune description publiée

Cet outil n’a publié aucune description. Forge n’en invente pas.

list_send_rulesThe allow and block list of one address, and the send policy it hangs off. Read this when a send was refused.

The allow and block list of one address, and the send policy it hangs off. Read this when a send was refused.

Aucun schéma d’entrée n’a été publié pour cet outil.

list_receive_rulesThe rules that decide what reaches one address — reject, spam, trash, archive or inbox, per sender or per domain. Read this when mail you expected did not arrive.

The rules that decide what reaches one address — reject, spam, trash, archive or inbox, per sender or per domain. Read this when mail you expected did not arrive.

Aucun schéma d’entrée n’a été publié pour cet outil.

list_foldersEvery folder of one address with its counts. `total` and `unread` are null where we do not count that folder — null is "we do not say", not zero.

Every folder of one address with its counts. `total` and `unread` are null where we do not count that folder — null is "we do not say", not zero.

Aucun schéma d’entrée n’a été publié pour cet outil.

list_folderOne folder of one address, newest first, a conversation per row — where `list_threads` says which conversations exist, this says where they are filed and what they look like in a list. The response carries a `sync_cursor`: hand it to `list_changes` to be told what moved instead of reading the folde…

One folder of one address, newest first, a conversation per row — where `list_threads` says which conversations exist, this says where they are filed and what they look like in a list. The response carries a `sync_cursor`: hand it to `list_changes` to be told what moved instead of reading the folde…

Aucun schéma d’entrée n’a été publié pour cet outil.

list_changesEverything that moved in one mailbox since a `sync_cursor`, arrivals included, so a long-running agent does not re-read a folder to find one new message. `since` is the `sync_cursor` from `list_folder`, never a page cursor. A cursor older than thirty days is refused with `resync`: list the folders…

Everything that moved in one mailbox since a `sync_cursor`, arrivals included, so a long-running agent does not re-read a folder to find one new message. `since` is the `sync_cursor` from `list_folder`, never a page cursor. A cursor older than thirty days is refused with `resync`: list the folders…

Aucun schéma d’entrée n’a été publié pour cet outil.

list_eventsEvery event across every mailbox this credential reaches — mail received, sent, delivered, bounced, filed. Workspace-wide unless you name an `identity_id`. Pass `after` with a timestamp to read forward from a moment; with neither `after` nor `cursor` it returns the newest first.

Every event across every mailbox this credential reaches — mail received, sent, delivered, bounced, filed. Workspace-wide unless you name an `identity_id`. Pass `after` with a timestamp to read forward from a moment; with neither `after` nor `cursor` it returns the newest first.

Aucun schéma d’entrée n’a été publié pour cet outil.

list_labelsLabels belong to an address, not to the workspace, so the same name on three addresses is three labels with three ids. Read this before applying one.

Labels belong to an address, not to the workspace, so the same name on three addresses is three labels with three ids. Read this before applying one.

Aucun schéma d’entrée n’a été publié pour cet outil.

create_labelA label on one address. `colour` is one of eight names — slate, red, amber, green, teal, blue, violet, pink — and defaults to slate; it is not a hex value.

A label on one address. `colour` is one of eight names — slate, red, amber, green, teal, blue, violet, pink — and defaults to slate; it is not a hex value.

Aucun schéma d’entrée n’a été publié pour cet outil.

apply_labelThe label has to belong to the same address the conversation is in — `list_labels` for that address gives you the right id. Applying is how an automation records what it decided, since it cannot mark anything read.

The label has to belong to the same address the conversation is in — `list_labels` for that address gives you the right id. Applying is how an automation records what it decided, since it cannot mark anything read.

Aucun schéma d’entrée n’a été publié pour cet outil.

remove_labelprivilégiéRemoves one label from one conversation. The label itself is untouched.

Removes one label from one conversation. The label itself is untouched.

Aucun schéma d’entrée n’a été publié pour cet outil.

list_podsA pod is a container for one of your own customers: it holds addresses and domains, and **mail sent from it lands on its own sending reputation**, so one customer cannot damage another’s delivery. Every account has one to start with, marked `is_default` — that is where an address goes when you name…

A pod is a container for one of your own customers: it holds addresses and domains, and **mail sent from it lands on its own sending reputation**, so one customer cannot damage another’s delivery. Every account has one to start with, marked `is_default` — that is where an address goes when you name…

Aucun schéma d’entrée n’a été publié pour cet outil.

create_podA container for one of your customers, with its own sending reputation. Give it a `name` a person would recognise and, if your own system has an id for this customer, `client_id` — carried and returned, never parsed. Then pass the new pod’s id as `pod_id` to `create_address`. There is no delete: a…

A container for one of your customers, with its own sending reputation. Give it a `name` a person would recognise and, if your own system has an id for this customer, `client_id` — carried and returned, never parsed. Then pass the new pod’s id as `pod_id` to `create_address`. There is no delete: a…

Aucun schéma d’entrée n’a été publié pour cet outil.

get_metricsAucune description publiée

Cet outil n’a publié aucune description. Forge n’en invente pas.

21 outils sur 26 ont publié une description.

Les noms et descriptions d’outils sont écrits par l’éditeur et affichés tels quels, comme du texte inerte. Ce sont les chaînes qu’un client MCP transmet à un modèle, alors Forge y recherche des motifs d’injection de prompt — tout constat apparaît avec l’analyse de sécurité ci-dessus. « Privilégié » est une correspondance de mot-clé sur le nom de l’outil, pas un audit de ce qu’il fait : un nom anodin peut tout de même tout faire.

À propos

Model Context Protocol server for Pidgeon. A protocol adapter over the API, and nothing more.

Mots-clés
pidgeonemailmcpmodel-context-protocol
Alternatives
Comparaison des surfaces d’outils…

Arbre de dépendances

Ce qu'une analyse Forge a résolu à partir des métadonnées npm le 2026-10-17 — résolution observée, et non une déclaration de l'éditeur.

60 paquets résolus · 3 directs · aucun porteur d'avis de sécurité La résolution s'arrête à la profondeur 4 et à 60 paquets.

L'exploration s'est arrêtée à la limite de profondeur 4. Tout ce qui se trouve en dessous n'a jamais été résolu.

L'exploration s'est arrêtée à la limite de 60 paquets. Le reste de l'arbre n'a jamais été résolu.

36 autres paquets résolus ne sont pas dessinés ici (limite d'affichage : 24). Toute dépendance porteuse d'un avis de sécurité est dessinée quelle que soit la limite. Inventaire complet (SBOM CycloneDX)

Déclarées mais non résolues

55 dépendances déclarées ne sont jamais arrivées dans l'arbre. Elles manquent à la résolution de Forge, pas au paquet.

+43 de plus non listées. Les comptes par motif ci-dessus les couvrent toutes.

Non suivies : peerDependencies. Cet arbre ne couvre que les dépendances d'exécution ; ce qu'elles entraînent n'a jamais été résolu.

Thèmes

Apparentés dans email