Un aperçu du serveur MCP hébergé par Notion
LorsquâAnthropic a annoncĂ© le Model Context Protocol (MCP) en novembre 2024, sa vision Ă©tait simple, mais puissante : offrir aux entreprises technologiques et Ă©quipes de dĂ©veloppement un langage universel pour dĂ©couvrir des outils et interagir avec eux.
Le MCP dĂ©passe les conventions telles que REST, qui alimentent les API Web depuis des dĂ©cennies. Il fournit un contexte aux grands modĂšles de langage (LLM) pour leur dire quand et comment utiliser chacun des outils diffusĂ©s par un fournisseur tel que Notion, Figma ou Stripe. Le processus traditionnel consiste Ă assembler des documents techniques pour crĂ©er une intĂ©gration API classique. En Ă©vitant cette Ă©tape, la clientĂšle interagit avec les systĂšmes grĂące Ă un langage naturel utilisĂ© lors dâune conversation ou pour un flux de travail.
Cursor et Claude Code sont des clients MCP, ou des applications front-end pour LLM, qui agissent en tant quâagents en contact avec lâutilisatrice ou lâutilisateur final. Ils convertissent les demandes exprimĂ©es en langage naturel en appels Ă actions (« outils ») proposĂ©s par diffĂ©rents prestataires de services, appelĂ©s serveurs MCP, comme Notion, Stripe ou Figma.
Au dĂ©but de lâannĂ©e, Notion a commencĂ© Ă recevoir des demandes pour intĂ©grer un serveur MCP Ă ses espaces de travail. Nous avions entendu parler de grandes entreprises qui avaient adoptĂ© des flux de travail axĂ©s sur lâIA, les intĂ©grant Ă leurs processus de travail sur les connaissances et de dĂ©veloppement de produits. Nous avions Ă©galement entendu parler de crĂ©atrices et crĂ©ateurs dâoutils, de dĂ©veloppeuses et dĂ©veloppeurs, ainsi que dâambassadrices et ambassadeurs Notion qui souhaitaient une solution simple pour migrer leurs donnĂ©es vers Notion, mais aussi pour interagir avec leurs espaces de travail Ă partir dâoutils LLM connus tels que Cursor et Claude Desktop.
Dans un premier temps, nous voulions fournir les capacitĂ©s dâAPI existantes de Notion sous forme dâactions pouvant ĂȘtre appelĂ©es par lâIA, afin de dĂ©montrer comment le modĂšle « outils » dĂ©bride la productivitĂ© dans les flux de travail agentiques.

Vous verrez peut-ĂȘtre des publications vanter les mĂ©rites du MCP comme Ă©tant le « grand gagnant » face aux outils de documentation et de spĂ©cification API REST comme OpenAPI. Bien que la popularitĂ© des serveurs MCP fasse notre bonheur, nous pensons que ces technologies peuvent fonctionner ensemble. MĂȘme avec un serveur MCP, il est nĂ©cessaire dâĂ©tablir des conventions structurĂ©es. Le TypeScript SDK pour MCP prend en charge la bibliothĂšque Zod pour dĂ©finir les spĂ©cifications de chaque outil.
Aujourdâhui, nous avons mis en place un pipeline de gĂ©nĂ©ration de code pour le serveur MCP hĂ©bergĂ© par Notion, qui convertit nos schĂ©mas OpenAPI gĂ©nĂ©rĂ©s en Zod et les intĂšgre aux outils du serveur MCP hĂ©bergĂ©.
PremiÚre version : serveur MCP open source
Nous avons commencĂ© par publier une version tĂ©lĂ©chargeable du serveur-mcp-notion dĂ©but avril. Il pouvait ĂȘtre installĂ© dans Cursor ou Claude Desktop, mais avec les connaissances techniques requises. La configuration a nĂ©cessitĂ© la crĂ©ation dâune nouvelle intĂ©gration de lâAPI Notion, ainsi que la copie de la clĂ© API dans les en-tĂȘtes MCP ou la crĂ©ation dâune image Docker. Une fois le serveur configurĂ©, des flux ont pu ĂȘtre mis en place, tels que la crĂ©ation de pages dans Notion Ă partir des discussions avec lâagent dâIA.

En coulisses, la bibliothĂšque a analysĂ© les spĂ©cifications OpenAPI publiques de Notion, une description formelle des points dâaccĂšs API disponibles et de leurs interfaces. Le serveur traitait ce fichier, convertissant les appels de lâoutil MCP en appels API HTTP vers lâAPI publique de Notion Ă lâaide de la clĂ© API que vous aviez configurĂ©e. Chaque point dâaccĂšs API Ă©tait cartographiĂ©, puis associĂ© Ă un outil MCP sur le serveur. Le serveur MCP recevait les demandes du client MCP et les traduisait en appels API, adaptĂ©s Ă votre tĂ©lĂ©chargement.
MĂȘme si lâadoption a Ă©tĂ© difficile et les fonctionnalitĂ©s limitĂ©es, nous voulions agir rapidement afin de proposer quelque chose Ă notre communautĂ©. Les commentaires des premiers utilisateurs et utilisatrices ont rĂ©vĂ©lĂ© deux points essentiels : la barriĂšre technique Ă©tait trop haute pour permettre une adoption Ă grande Ă©chelle et la cartographie API de chaque point dâaccĂšs API crĂ©ait des expĂ©riences sous-optimales pour les agents dâIA, comme une consommation Ă©levĂ©e de jetons contextuels due au travail avec des donnĂ©es hiĂ©rarchiques en blocs JSON.
Aujourdâhui : une solution MCP Ă distance tout-en-un
Ces enseignements ont façonnĂ© notre itĂ©ration suivante : nous avons travaillĂ© dur pour mettre au point une combinaison puissante dâoutils existants et nouveaux utilisables par tout le monde, renforçant ainsi la valeur de Notion en tant quâespace de travail connectĂ©. Imaginez passer dâun document de spĂ©cifications dans Notion Ă un prototype fonctionnel dans Cursor, mettre Ă jour le statut des tĂąches Ă la volĂ©e et informer les parties prenantes du projet, le tout sans quitter votre Ă©diteur de code.
LâidĂ©e principale est de faciliter la connexion Ă votre espace de travail Notion pour les outils dâagent dâIA, offrant ainsi une expĂ©rience plus intuitive pour les agents avec les avantages suivants :
Hébergement de notre serveur MCP avec un cycle de développement rapide utilisant notre base de code existante et nos outils internes : Notion peut rapidement mettre à jour ses fonctionnalités sans que vous ayez besoin de télécharger de nouveaux packages.
CrĂ©ation dâune intĂ©gration centrale unique qui expose une suite dâoutils sur mesure optimisĂ©s pour les agents dâIA, et non des appels HTTP vers lâAPI : nous pouvons ignorer les pratiques RESTful API Web et livrer des fonctionnalitĂ©s « privĂ©es » accompagnĂ©es de descriptions adaptĂ©es aux LLM, accessibles uniquement via le serveur MCP, pour une expĂ©rience agentique optimale.

DĂ©sormais, vous passez par un processus dâautorisation OAuth en un clic pour vous connecter en toute sĂ©curitĂ© Ă la mĂȘme intĂ©gration publique. Vous lâinstallez sur votre espace de travail et choisissez les pages ou bases de donnĂ©es Ă partager.
Une fois la connexion Ă©tablie, le flux vous redirige vers lâoutil utilisĂ© (comme Cursor). Notre serveur MCP gĂšre les sessions et stocke en toute sĂ©curitĂ© le jeton API provenant de lâĂ©change OAuth, afin dâauthentifier lâAPI publique de Notion lorsque des appels dâoutils sont effectuĂ©s.
Nous avons travaillĂ© Ă©troitement avec lâĂ©quipe dâingĂ©nierie de Cursor afin de privilĂ©gier une expĂ©rience de connexion OAuth agrĂ©able grĂące Ă lâutilisation du protocole HTTP diffusable. Nous prenons Ă©galement en charge les SSE (Ă©vĂ©nements envoyĂ©s par le serveur) pour assurer la compatibilitĂ© avec davantage de clients, car il sâagit de lâautre protocole de transport majeur recommandĂ© pour les MCP.
Outre la suite technologique et lâhĂ©bergement, nous devions Ă©galement sĂ©lectionner les outils dâIA Ă proposer. Notre approche consistait Ă travailler avec lâĂ©quipe chargĂ©e de dĂ©velopper lâagent Notion, intĂ©grĂ© Ă lâapplication, afin dâexposer les outils axĂ©s sur lâIA de prĂ©fĂ©rence via les points dâaccĂšs API /v1/ existants.
Pour crĂ©er lâensemble dâoutils du MCP, nous avons combinĂ© deux types dâopĂ©rations en arriĂšre-plan :
Outils Notion orientés agents. par exemple,
crĂ©er-pagesetmettre Ă jour-pagesont des réécritures complĂštes des API « CrĂ©er et Mettre Ă jour des page existantes », fournissant des interfaces plus adaptĂ©es Ă une conversation avec un agent dâIA quâune API Web traditionnelle rigide.Conçus avec Markdown façon Notion, avec des descriptions dâoutils et des rĂ©ponses adaptĂ©es aux flux de travail agentiques, plutĂŽt quâĂ un fichier JSON dĂ©terministe et structurĂ© pour les intĂ©grations backend.
Markdown offre une densitĂ© de contenu efficace par jeton LLM, ce qui nĂ©cessite moins dâinteractions avec les outils et rĂ©duit les coĂ»ts par rapport au serveur MCP open source pour les cas dâutilisation courants.
Lâoutil de
rechercheest Ă©galement adaptĂ© Ă cette rĂ©alitĂ©. Nous avons exposĂ© lâAPI de recherche v1 existante pour couvrir les cas dâutilisation simples ou les comptes oĂč lâIA de Notion nâest pas activĂ©e, mais lâoutil derechercheprincipal prend en charge la recherche sĂ©mantique via des questions, faisant apparaĂźtre des pages dans votre espace de travail Notion ainsi que plus de dix applications tierces connectĂ©es !
Outils API existants : en nous inspirant du succÚs du serveur MCP open source, nous avons comblé les lacunes fonctionnelles en ajoutant des outils MCP qui intÚgrent les API v1 existantes.
Par exemple, la fonctionnalitĂ© API v1 de lâoutil
crĂ©er-commentairea Ă©tĂ© enrichie de descriptions dâoutils adaptĂ©es Ă lâIA afin dâĂ©viter les imperfections du package open source.Ces instructions fournissent Ă votre client MCP des informations contextuelles sur quand et comment utiliser chaque outil.
Cette stratĂ©gie combinĂ©e offre des fonctionnalitĂ©s Ă©tendues tout en garantissant que les dĂ©tails, tels que les URL et les identifiants de Notion, fonctionnent parfaitement pour les appels dâoutils dans votre fenĂȘtre de discussion.
Point fort : Markdown façon Notion
La version bĂȘta du serveur MCP de Notion nous a permis de tester une nouvelle façon de reprĂ©senter le contenu des pages, beaucoup plus facile Ă crĂ©er, modifier et consulter pour les agents dâIA. Nous avons Ă©tĂ© la premiĂšre entreprise Ă proposer des spĂ©cifications Markdown amĂ©liorĂ©es « façon Notion », crĂ©ant ainsi un langage de balisage puissant adaptĂ© Ă la vaste gamme de blocs de Notion.
Si vous nous suivez depuis un certain temps, vous vous souvenez peut-ĂȘtre de notre article de blog de 2022 sur la crĂ©ation de lâAPI Notion. Ă lâĂ©poque, nous avions prĂ©fĂ©rĂ© JSON Ă Markdown afin dâoffrir une plus grande expressivitĂ©, comme les couleurs de texte enrichi, les bases de donnĂ©es et dâautres fonctionnalitĂ©s dâĂ©dition spĂ©cifiques Ă Notion que CommonMark Markdown ne peut pas modĂ©liser.
Trois ans plus tard, nous avons entendu vos difficultĂ©s pour effectuer plusieurs requĂȘtes API afin de travailler avec des sousâblocs dans un format JSON hiĂ©rarchique. Nous sommes revenus Ă Markdown pour introduire la paritĂ© des fonctionnalitĂ©s avec les blocs Notion, en testant cette approche exclusivement sur notre serveur MCP distant.
Voici un aperçu des spécifications Markdown façon Notion :
Encadrés

Colonnes

Pages

Bases de données

Vous trouverez plus de dĂ©tails dans les descriptions des outils disponibles via le serveur MCP. En fait, vous pouvez discuter avec votre agent dâIA et lui demander de vous rĂ©sumer les spĂ©cifications Markdown façon Notion ! Sinon, laissez-nous nous occuper des dĂ©tails techniques et dĂ©crivez en langage naturel ce que vous souhaitez ajouter ou modifier dans une page. Laissez le LLM faire le reste.
Une impatience non dissimulée
Ce lancement nâest que le dĂ©but de notre aventure pour faire de Notion la plateforme ultime du travail intellectuel basĂ© sur lâIA. Alors que nous poursuivons le dĂ©veloppement de nos capacitĂ©s MCP, nous nous concentrons toujours sur ce qui compte le plus : rendre des outils puissants accessibles Ă tout le monde, sans expertise technique.
Nous continuons Ă©galement Ă collaborer avec Cursor et dâautres Ă©quipes afin dâouvrir la voie vers de nouvelles conventions qui rendront le MCP plus facile Ă dĂ©couvrir, plus sĂ»r et plus fiable, comme des marketplaces de serveurs et de clients MCP de confiance et des protocoles de dĂ©couverte de serveurs.
Nous avons hùte de découvrir ce que vous allez créer avec le serveur MCP de Notion ! Partagez vos créations avec nous sur les réseaux sociaux en mentionnant @NotionHQ.
