semantic-kernel-playwright-mcp

This project demonstrates how to combine Microsoft Semantic Kernel with the Model Context Protocol (MCP) server using Playwright to enable AI-driven browsing and summarization capabilities.

GitHub Stars

14

User Rating

Not Rated

Forks

3

Issues

1

Views

1

Favorites

0

README
Semantic Kernel + Playwright MCP Server Demo

๐Ÿš€ Welcome to the MCP + Semantic Kernel Demo App!

This project demonstrates how to combine Microsoft Semantic Kernel with the Model Context Protocol (MCP) server using Playwright to enable AI-driven browsing and summarization capabilities.

It uses:

  • Azure OpenAI (GPT-4)
  • Semantic Kernel Function Calling
  • Playwright MCP Server
  • Automatic browser interaction
  • Bing News summarization using AI

๐Ÿ”ง Features
  • Uses Semantic Kernel to interact with AI functions
  • Leverages Playwright MCP server to simulate browser-like capabilities
  • Demonstrates automatic function calling
  • Summarizes AI-related news from Bing by navigating and extracting content

๐Ÿง  Prerequisites

Ensure you have the following:

  • .NET 8.0 SDK or newer
  • Azure OpenAI resource (with deployed model like gpt-4-1106-preview)
  • Access to Bing News (public)
  • Playwright installed via npx
  • MCP Server libraries (ModelContextProtocol)

๐Ÿ“ฆ Setup
  1. Clone the Repository

    git clone https://github.com/yourusername/semantic-kernel-playwright-mcp.git
    cd semantic-kernel-playwright-mcp
    
  2. Install Dependencies Make sure to restore NuGet packages.

  3. Configure Azure OpenAI Replace the following placeholders in Program.cs:

    builder.AddAzureOpenAIChatCompletion(
        "GPT4ov1", 
        "https://<replace>.openai.azure.com", 
        "<replacewithkey>");
    
  4. Ensure Playwright MCP is Installed

    npx -y @playwright/mcp@latest
    

โ–ถ๏ธ Run the App
dotnet run

You'll see output like:

Welcome to My MCP + Semantic Kernel Demo App!
Running application logic...

Summarize AI news for me related to MCP on bing news. Open first link and summarize content
> <summarized result here>
โ–ถ๏ธ Output

Demo of the app in action


๐Ÿง  How It Works
  1. Initializes the Semantic Kernel with Azure OpenAI.
  2. Starts a Playwright MCP Server in stdio mode.
  3. Maps MCP actions (like open page, extract content) to SK functions.
  4. Invokes a natural language prompt to fetch and summarize news content.
  5. Uses automatic function calling to delegate the task to the browser.

๐Ÿ›  Code Highlights
  • GetMCPClientForPlaywright() creates an MCP client using Playwright.
  • MapToFunctionsAsync() integrates MCP capabilities into Semantic Kernel.
  • Prompts like "Summarize AI news..." trigger both browsing and summarization.

๐Ÿงช Example Use Case

You can modify the prompt to:

var prompt = "Search GitHub for latest Semantic Kernel issues and summarize the top 3.";

๐Ÿ“ Project Structure
โ”œโ”€โ”€ Program.cs
โ”œโ”€โ”€ AzureAIAgentServiceDemo.csproj
โ”œโ”€โ”€ README.md
โ””โ”€โ”€ ...

๐Ÿ“Œ Future Ideas
  • Add UI using Blazor or Console enhancements
  • Integrate multi-turn conversations using AgentGroupChat
  • Extend MCP to handle screenshots or downloads

๐Ÿค Contributing

Feel free to fork, enhance, or suggest improvements via pull requests!


๐Ÿ“œ License

MIT License. See LICENSE file for details.


Let me know if you'd like to include diagrams or badge-style highlights too!

Author Information
Akshay Kokane

Software Engineer at Microsoft

Microsoft

15

Followers

53

Repositories

0

Gists

6

Total Contributions

Top Contributors

Threads