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
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
Clone the Repository
git clone https://github.com/yourusername/semantic-kernel-playwright-mcp.git cd semantic-kernel-playwright-mcp
Install Dependencies Make sure to restore NuGet packages.
Configure Azure OpenAI Replace the following placeholders in
Program.cs
:builder.AddAzureOpenAIChatCompletion( "GPT4ov1", "https://<replace>.openai.azure.com", "<replacewithkey>");
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
๐ง How It Works
- Initializes the Semantic Kernel with Azure OpenAI.
- Starts a Playwright MCP Server in stdio mode.
- Maps MCP actions (like open page, extract content) to SK functions.
- Invokes a natural language prompt to fetch and summarize news content.
- 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!
15
Followers
53
Repositories
0
Gists
6
Total Contributions