๐ 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
- 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
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)
-
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
dotnet runYou'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>

- 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.
GetMCPClientForPlaywright()creates an MCP client using Playwright.MapToFunctionsAsync()integrates MCP capabilities into Semantic Kernel.- Prompts like "Summarize AI news..." trigger both browsing and summarization.
You can modify the prompt to:
var prompt = "Search GitHub for latest Semantic Kernel issues and summarize the top 3.";โโโ Program.cs
โโโ AzureAIAgentServiceDemo.csproj
โโโ README.md
โโโ ...
- Add UI using Blazor or Console enhancements
- Integrate multi-turn conversations using
AgentGroupChat - Extend MCP to handle screenshots or downloads
Feel free to fork, enhance, or suggest improvements via pull requests!
MIT License. See
Let me know if you'd like to include diagrams or badge-style highlights too!