This repository is a starter shell for a workshop built around a word-search MCP server. The intended purpose of that server is to show how a basic MCP server works with a tool that searches for a keyword and returns hits and file paths—a small but concrete example of wiring real logic into the protocol.
It demonstrates how to use the official C# MCP SDK and how the pieces fit together:
modelcontextprotocol/csharp-sdk
The sample C# project in WordSearchMcp/ is intentionally minimal right now (Program.cs prints a single line). You implement the MCP server and tools during the workshop.
- Implement the tool using the C# framework: add the search logic that returns matches and paths for a keyword.
- Roots and shared state: how MCP roots relate to your server, and patterns for holding shared state your tools can use.
- Ping: implement handling for ping so you can verify connectivity and lifecycle behavior.
- Inspector: connect the server to the MCP Inspector and run it end-to-end.
- Prompts: add a simple prompt that accepts a dynamic keyword as input so clients can drive the same concept through prompts as well as tools.
- Connect the server to an IDE (Cursor) so the model can use your MCP server in a real workflow.
- Configure the server so you can trigger the tool (and prompt) from Cursor and see results in context.
dotnet run --project WordSearchMcp/WordSearchMcp.csprojExpected output:
I love MCP Server!
After you implement the MCP server, publishing and self-contained packaging scripts (build-and-package.sh / build-and-package.ps1) can target your built executable as usual; ignore rules include WordSearchMcp/publish/ and WordSearchMcp/deploy/ alongside generic publish/ and deploy/ entries.