Affichage des articles dont le libellé est Anthropic. Afficher tous les articles
Affichage des articles dont le libellé est Anthropic. Afficher tous les articles

Comment ajouter le protocole de contexte de modèle MCP à Copilot Studio

 




MCP démystifié : Nous analyserons le protocole MCP (Model Context Protocol), en expliquant son objectif et comment il permet un échange de données fluide entre votre bot et les systèmes externes. Microsoft Learn MCP en action : Nous explorerons le MCP Microsoft Learn (https://github.com/microsoftdocs/mcp) et vous montrerons comment l'exploiter pour améliorer les capacités de votre bot. Démo 1 : La magie du connecteur personnalisé : Suivez-nous pour créer un connecteur personnalisé à l'aide du MCP Microsoft Learn et accéder à des sources de données et services externes. Dataverse MCP en profondeur : Nous explorerons ensuite le MCP Dataverse (https://learn.microsoft.com/en-us/pow...) et vous montrerons sa puissance d'interaction avec votre environnement Dataverse. Démo 2 : Opérations CRUD Dataverse : Découvrez le MCP Dataverse en action : nous créons un bot capable de lire, créer et mettre à jour des enregistrements directement dans Dataverse, le tout dans Copilot Studio ! À la fin de cette vidéo, vous maîtriserez parfaitement le MCP et disposerez des compétences pratiques nécessaires pour créer des bots puissants, pilotés par les données, capables de comprendre et de répondre aux besoins de vos utilisateurs. #CopilotStudio #PowerVirtualAgents #MicrosoftCopilotStudio #MCP #ModelContextProtocol #Dataverse #PowerPlatform #Bots #NoCode #LowCode #CustomConnector #Tutorial #MicrosoftLearn 👍 Aimez, abonnez-vous et activez la cloche de notification pour rester informé des derniers conseils et astuces Copilot Studio ! 🔗 Ressources : Microsoft Learn MCP : https://github.com/microsoftdocs/mcp Dataverse MCP : https://learn.microsoft.com/en-us/pow... 💬 Dites-moi dans les commentaires quels autres sujets Copilot Studio vous aimeriez que j'aborde ! 🫠 À propos de moi : 👋 Bonjour, je suis Damien Bird, architecte de solutions cloud Power Platform chez Microsoft ☁️ 🧠 Ancien superutilisateur du forum (2021/22) et MVP des applications métier (2022) 🎤 Intervenant lors de conférences en Europe, aux États-Unis et auprès de groupes d'utilisateurs locaux au Royaume-Uni 💡 Passionné par le partage des connaissances, la résolution de problèmes et l'autonomisation de la communauté grâce à Power Platform ! 📚 En savoir plus : 🔗 Blog : https://DamoBird365.com 🎥 Formation continue vidéo et quiz : https://DamoBird365.com/YouTube 🎓 Rejoignez la communauté : https://DamoBird365.Teachable.com/p/D... 💖 Soutenez la chaîne : https://youtube.com/@DamoBird365/memb... ☕ Offrez-moi un café : https://BuyMeACoffee.com/DamoBird365 💼 LinkedIn :   / damobird365   🐦 Twitter : https://x.com/DamoBird365 🌐 Bluesky : https://bsky.app/profile/DamoBird365.... 📜 Commentaires ou demandes : https://forms.office.com/e/WAV1iF2Wis


💖Le serveur MCP Microsoft Learn Docs

C'est un service hébergé dans le cloud qui permet à des clients tels que GitHub, Copilot et d’autres agents d’IA d’apporter des informations fiables et à jour directement à partir de la documentation officielle de Microsoft. Il s’agit d’un serveur MCP distant utilisant http en streaming, qui est léger à utiliser pour les clients.


👍Claude Desktop

Voir les instructions
1. Ouvrez Claude Desktop
2. Allez dans Paramètres → Intégrations
3. Cliquez sur Ajouter une intégration
4. Entrez l’URL :
5. Cliquez sur Connecterhttps://learn.microsoft.com/api/mcp
Guide du MCP à distance de bureau Claude

👌Se connecter à Dataverse avec le protocole de contexte de modèle (MCP) - Power Apps | Microsoft Learn:


Le protocole MCP (Model Context Protocol) est un protocole ouvert qui permet une intégration transparente entre les applications LLM et les sources de données et outils externes. Microsoft Dataverse peut agir comme un serveur MCP, en fournissant un accès intelligent aux tables et enregistrements à divers clients MCP tels que les agents Copilot Studio, VS Code GitHub Copilot, Claude pour le bureau, et bien d’autres. Cette intégration normalise et rationalise l’interaction entre les modèles d’IA et les données Dataverse, ce qui permet aux développeurs d’appliquer plus efficacement les riches fonctionnalités de données de Dataverse dans leurs applications pilotées par l’IA.

💾Activez l’accès aux outils dynamiques pour vos agents Azure AI. Découvrez comment connecter des outils hébergés par MCP et les intégrer de manière transparente dans les flux de travail des agents.

Objectifs d’apprentissage
Après avoir terminé ce module, vous êtes en mesure de :
Expliquer les rôles du serveur et du client MCP dans la découverte et l’appel d’outils.
Encapsulez les outils MCP en tant que fonctions asynchrones et inscrivez-les auprès des agents Azure AI.
Créez un agent Azure AI qui accède et appelle dynamiquement les outils MCP pendant l’exécution.









Présentation du protocole de contexte de modèle

 Présentation du protocole de contexte de modèle

Pourquoi MCP ?

MCP vous aide à créer des agents et des flux de travail complexes au-dessus des LLM. Les LLM ont souvent besoin de s’intégrer aux données et aux outils, et MCP fournit les avantages suivants :

  • Une liste croissante d’intégrations prédéfinies auxquelles votre LLM peut se connecter directement
  • La flexibilité de passer d’un fournisseur à un autre fournisseur de LLM
  • Les bonnes pratiques pour sécuriser vos données au sein de votre infrastructure

Introducing the Model Context Protocol \ Anthropic



Protocole de contexte de modèle

Le Model Context Protocol est une norme ouverte qui permet aux développeurs d’établir des connexions bidirectionnelles sécurisées entre leurs sources de données et les outils alimentés par l’IA. L’architecture est simple : les développeurs peuvent soit exposer leurs données via des serveurs MCP, soit créer des applications d’IA (clients MCP) qui se connectent à ces serveurs.

Aujourd’hui, nous présentons trois composants principaux du protocole Model Context Protocol pour les développeurs :

Claude 3.5 Sonnet est capable de créer rapidement des implémentations de serveurs MCP, ce qui permet aux organisations et aux particuliers de connecter rapidement leurs ensembles de données les plus importants à une gamme d’outils alimentés par l’IA. Pour aider les développeurs à commencer à explorer, nous partageons des serveurs MCP prédéfinis pour les systèmes d’entreprise populaires tels que Google Drive, Slack, GitHub, Git, Postgres et Puppeteer.

Les premiers utilisateurs comme Block et Apollo ont intégré MCP dans leurs systèmes, tandis que des entreprises d’outils de développement telles que Zed, Replit, Codeium et Sourcegraph travaillent avec MCP pour améliorer leurs plateformes, ce qui permet aux agents d’IA de mieux récupérer des informations pertinentes pour mieux comprendre le contexte d’une tâche de codage et de produire un code plus nuancé et fonctionnel avec moins de tentatives.

« Chez Block, l’open source est plus qu’un modèle de développement : c’est le fondement de notre travail et un engagement à créer une technologie qui entraîne des changements significatifs et sert de bien public pour tous », a déclaré Dhanji R. Prasanna, directeur de la technologie chez Block. « Les technologies ouvertes comme le Model Context Protocol sont les ponts qui relient l’IA aux applications du monde réel, garantissant que l’innovation est accessible, transparente et ancrée dans la collaboration. Nous sommes ravis de nous associer à un protocole et de l’utiliser pour construire des systèmes agentiques, qui éliminent le fardeau de la mécanique afin que les gens puissent se concentrer sur la création.

Au lieu de conserver des connecteurs distincts pour chaque source de données, les développeurs peuvent désormais construire sur la base d’un protocole standard. Au fur et à mesure que l’écosystème mûrit, les systèmes d’IA conserveront leur contexte lorsqu’ils passeront d’un outil et d’un ensemble de données à l’autre, remplaçant ainsi les intégrations fragmentées d’aujourd’hui par une architecture plus durable.

Commencer

Les développeurs peuvent commencer à créer et à tester des connecteurs MCP dès aujourd’hui. Tous les plans Claude.ai prennent en charge la connexion de serveurs MCP à l’application Claude Desktop.

Les clients de Claude for Work peuvent commencer à tester les serveurs MCP localement, en connectant Claude aux systèmes internes et aux ensembles de données. Nous fournirons bientôt des kits d’outils de développement pour le déploiement de serveurs MCP de production à distance qui peuvent servir l’ensemble de votre organisation Claude for Work.

Pour commencer à construire :

Une communauté ouverte

Nous nous engageons à faire de MCP un projet et un écosystème collaboratifs et open source, et nous sommes impatients d’entendre vos commentaires. Que vous soyez un développeur d’outils d’IA, une entreprise cherchant à exploiter les données existantes ou un adopteur précoce explorant les frontières, nous vous invitons à construire ensemble l’avenir de l’IA contextuelle.

-----------------------------

Pierre Erol GIRAUDY

https://www.erolgiraudy.eu/

https://uga-ia.blogspot.com/

https://www.erolgiraudy.eu/2024/10/mes-15-livres.html

https://and500.blogspot.com/

https://www.ugaia.eu/

Pour Info : Mon livre https://amzn.eu/d/eTuHn56 sur AMAZON



Outil de recherche sur le Web de Claude

Outil de recherche sur le Web de Claude

L’outil de recherche Web donne à Claude un accès direct au contenu Web en temps réel, ce qui lui permet de répondre aux questions avec des informations à jour au-delà de son seuil de connaissances. Claude cite automatiquement les sources des résultats de recherche dans le cadre de sa réponse.

Modèles pris en charge

La recherche sur le Web est disponible à l’adresse suivante :

  • Claude 3.7 Sonnet (claude-3-7-sonnet-20250219)
  • Claude 3.5 Sonnet (nouveau) (claude-3-5-sonnet-latest)
  • Claude 3.5 Haïku (claude-3-5-haiku-latest)

Comment fonctionne la recherche sur le Web

Lorsque vous ajoutez l’outil de recherche Web à votre demande d’API :

  1. Claude décide quand effectuer la recherche en fonction de l’invite.
  2. L’API exécute les recherches et fournit les résultats à Claude. Ce processus peut se répéter plusieurs fois au cours d’une même demande.
  3. À la fin de son tour, Claude fournit une réponse finale avec des sources citées.

L’administrateur de votre organisation doit activer la recherche Web dans la console.

Fournissez l’outil de recherche Web dans votre demande d’API :

import anthropic

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-3-7-sonnet-latest",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": "How do I update a web app to TypeScript 5.5?"
        }
    ],
    tools=[{
        "type": "web_search_20250305",
        "name": "web_search",
        "max_uses": 5
    }]
)
print(response)

Définition de l’outil

L’outil de recherche Web prend en charge les paramètres suivants :

JSON
{
  "type": "web_search_20250305",
  "name": "web_search",
 
  // Optional: Limit the number of searches per request
  "max_uses": 5,
 
  // Optional: Only include results from these domains
  "allowed_domains": ["example.com", "trusteddomain.org"],

  // Optional: Never include results from these domains
  "blocked_domains": ["untrustedsource.com"],

  // Optional: Localize search results
  "user_location": {
    "type": "approximate",
    "city": "San Francisco",
    "region": "California",
    "country": "US",
    "timezone": "America/Los_Angeles"
  }
}

Utilisations maximales

Le paramètre limite le nombre de recherches effectuées. Si Claude tente plus de recherches que ce qui est autorisé, il y aura une erreur avec le code d’erreur.max_usesweb_search_tool_resultmax_uses_exceeded

Filtrage de domaine

Lors de l’utilisation de filtres de domaine :

  • Les domaines ne doivent pas inclure le schéma HTTP/HTTPS (utilisez au lieu de example.comhttps://example.com)
  • Les sous-domaines sont automatiquement inclus ( couvertures example.comdocs.example.com)
  • Les sous-chemins sont pris en charge (example.com/blog)
  • Vous pouvez utiliser l’un ou l’autre ou , mais pas les deux dans la même demande.allowed_domainsblocked_domains

Localisation

Ce paramètre vous permet de localiser les résultats de recherche en fonction de l’emplacement d’un utilisateur.user_location

Réponse

Voici un exemple de structure de réponse :

{
  "role": "assistant",
  "content": [
    // 1. Claude's decision to search
    {
      "type": "text",
      "text": "I'll search for when Claude Shannon was born."
    },
    // 2. The search query used
    {
      "type": "server_tool_use",
      "id": "srvtoolu_01WYG3ziw53XMcoyKL4XcZmE",
      "name": "web_search",
      "input": {
        "query": "claude shannon birth date"
      }
    },
    // 3. Search results
    {
      "type": "web_search_tool_result",
      "tool_use_id": "srvtoolu_01WYG3ziw53XMcoyKL4XcZmE",
      "content": [
        {
          "type": "web_search_result",
          "url": "https://en.wikipedia.org/wiki/Claude_Shannon",
          "title": "Claude Shannon - Wikipedia",
          "encrypted_content": "EqgfCioIARgBIiQ3YTAwMjY1Mi1mZjM5LTQ1NGUtODgxNC1kNjNjNTk1ZWI3Y...",
          "page_age": "April 30, 2025"
        }
      ]
    },
    {
      "text": "Based on the search results, ",
      "type": "text"
    },
    // 4. Claude's response with citations
    {
      "text": "Claude Shannon was born on April 30, 1916, in Petoskey, Michigan",
      "type": "text",
      "citations": [
        {
          "type": "web_search_result_location",
          "url": "https://en.wikipedia.org/wiki/Claude_Shannon",
          "title": "Claude Shannon - Wikipedia",
          "encrypted_index": "Eo8BCioIAhgBIiQyYjQ0OWJmZi1lNm..",
          "cited_text": "Claude Elwood Shannon (April 30, 1916 – February 24, 2001) was an American mathematician, electrical engineer, computer scientist, cryptographer and i..."
        }
      ]
    }
  ],
  "id": "msg_a930390d3a",
  "usage": {
    "input_tokens": 6039,
    "output_tokens": 931,
    "server_tool_use": {
      "web_search_requests": 1
    }
  },
  "stop_reason": "end_turn"
}

Résultats de la recherche

Les résultats de la recherche sont les suivants :

  • url: L’URL de la page source
  • title: Le titre de la page source
  • page_age: Date de la dernière mise à jour du site
  • encrypted_content: Contenu crypté qui doit être renvoyé dans des conversations à plusieurs tours pour les citations

Références

Les citations sont toujours activées pour la recherche sur le Web, et chacune comprend :web_search_result_location

  • url: L’URL de la source citée
  • title: Le titre de la source citée
  • encrypted_index: Une référence qui doit être repassée pour les conversations à plusieurs tours.
  • cited_text: Jusqu’à 150 caractères du contenu cité

Les champs de citation de recherche Web , , et ne sont pas pris en compte dans l’utilisation du jeton d’entrée ou de sortie.cited_texttitleurl

Erreurs

Si une erreur se produit lors d’une recherche sur le Web, vous recevrez une réponse qui se présente sous la forme suivante :

{
  "type": "web_search_tool_result",
  "tool_use_id": "servertoolu_a93jad",
  "content": {
    "type": "web_search_tool_result_error",
    "error_code": "max_uses_exceeded"
  }
}

Voici les codes d’erreur possibles :

  • too_many_requests: Dépassement de la limite de débit
  • invalid_input: Paramètre de requête de recherche non valide
  • max_uses_exceeded: Dépassement du nombre maximal d’utilisations de l’outil de recherche web
  • query_too_long: La requête dépasse la longueur maximale
  • unavailable: Une erreur interne s’est produite

pause_turn Raison de l’arrêt

La réponse peut inclure une raison d’arrêt, qui indique que l’API a interrompu un tour de longue durée. Vous pouvez fournir la réponse telle quelle dans une demande ultérieure pour permettre à Claude de continuer son tour, ou modifier le contenu si vous souhaitez interrompre la conversation.pause_turn

Mise en cache des invites

La recherche sur le Web fonctionne avec la mise en cache des invites. Pour activer la mise en cache des invites, ajoutez au moins un point d’arrêt cache_control dans votre demande. Le système mettra automatiquement en cache jusqu’au dernier bloc web_search_tool_result lors de l’exécution de l’outil.

Pour les conversations à plusieurs tours, définissez un point d’arrêt au moment ou après le dernier bloc pour réutiliser le contenu mis en cache.cache_controlweb_search_tool_result

Par exemple, pour utiliser la mise en cache d’invite avec la recherche Web pour une conversation à plusieurs tours :

import anthropic

client = anthropic.Anthropic()

# First request with web search and cache breakpoint
messages = [
    {
        "role": "user",
        "content": "What's the current weather in San Francisco today?"
    }
]

response1 = client.messages.create(
    model="claude-3-7-sonnet-latest",
    max_tokens=1024,
    messages=messages,
    tools=[{
        "type": "web_search_20250305",
        "name": "web_search",
        "user_location": {
            "type": "approximate",
            "city": "San Francisco",
            "region": "California",
            "country": "US",
            "timezone": "America/Los_Angeles"
        }
    }]
)

# Add Claude's response to the conversation
messages.append({
    "role": "assistant",
    "content": response1.content
})

# Second request with cache breakpoint after the search results
messages.append({
    "role": "user",
    "content": "Should I expect rain later this week?",
    "cache_control": {"type": "ephemeral"}  # Cache up to this point
})

response2 = client.messages.create(
    model="claude-3-7-sonnet-latest",
    max_tokens=1024,
    messages=messages,
    tools=[{
        "type": "web_search_20250305",
        "name": "web_search",
        "user_location": {
            "type": "approximate",
            "city": "San Francisco",
            "region": "California",
            "country": "US",
            "timezone": "America/Los_Angeles"
        }
    }]
)
# The second response will benefit from cached search results
# while still being able to perform new searches if needed
print(f"Cache read tokens: {response2.usage.get('cache_read_input_tokens', 0)}")

Streaming

Lorsque la diffusion en continu est activée, vous recevrez des événements de recherche dans le cadre du flux. Il y aura une pause pendant l’exécution de la recherche :

event: message_start
data: {"type": "message_start", "message": {"id": "msg_abc123", "type": "message"}}

event: content_block_start
data: {"type": "content_block_start", "index": 0, "content_block": {"type": "text", "text": ""}}

// Claude's decision to search

event: content_block_start
data: {"type": "content_block_start", "index": 1, "content_block": {"type": "server_tool_use", "id": "srvtoolu_xyz789", "name": "web_search"}}

// Search query streamed
event: content_block_delta
data: {"type": "content_block_delta", "index": 1, "delta": {"type": "input_json_delta", "value": "{\"query\":\"latest quantum computing breakthroughs 2025\"}"}}

// Pause while search executes

// Search results streamed
event: content_block_start
data: {"type": "content_block_start", "index": 2, "content_block": {"type": "web_search_tool_result", "tool_use_id": "srvtoolu_xyz789", "content": [{"type": "web_search_result", "title": "Quantum Computing Breakthroughs in 2025", "url": "https://example.com"}]}}

// Claude's response with citations (omitted in this example)

Demandes par lots

Vous pouvez inclure l’outil de recherche Web dans l’API Messages Batches. Les appels de l’outil de recherche Web via l’API Messages Batches sont au même prix que ceux des requêtes API Messages standard.

Utilisation et tarification

L’utilisation de la recherche Web est facturée en plus de l’utilisation du jeton :

"usage": {
  "input_tokens": 105,
  "output_tokens": 6039,
  "cache_read_input_tokens": 7123,
  "cache_creation_input_tokens": 7345,
  "server_tool_use": {
    "web_search_requests": 1
  }
}

La recherche sur le Web est disponible sur l’API Anthropic pour 10 $ par 1 000 recherches, plus les coûts de jeton standard pour le contenu généré par la recherche. Les résultats de recherche Web dans la conversation sont comptés comme des jetons d’entrée sur les demandes d’achèvement ultérieures pendant le tour en cours ou sur les tours de conversation suivants.

Chaque recherche sur le Web compte pour une utilisation, quel que soit le nombre de résultats renvoyés. Si une erreur se produit lors d’une recherche sur le Web, la recherche sur le Web ne sera pas facturée.


Tutoriels - Anthropic

https://docs.anthropic.com/fr/docs/claude-code/tutorials#configurer-le-model-context-protocol-mcp

Table des matières

Web search tool - Anthropic

https://docs.anthropic.com/en/docs/build-with-claude/tool-use/web-search-tool

Premiers pas avec Claude Code - Anthropic

https://docs.anthropic.com/fr/docs/claude-code/getting-started

-----------------------------

Pierre Erol GIRAUDY

https://www.erolgiraudy.eu/

https://uga-ia.blogspot.com/

https://www.erolgiraudy.eu/2024/10/mes-15-livres.html

https://and500.blogspot.com/

https://www.ugaia.eu/

Pour Info : Mon livre https://amzn.eu/d/eTuHn56 sur AMAZON




FastMCP, Ollama, et un modèle comme Mistral.

En combinant FastMCP , Ollama , et un modèle comme Mistral , il est possible de bâtir une solution de gestion de projets intel...