SimpleMcp.Demo

hassanhabib/SimpleMcp.Demo

3.4

If you are the rightful owner of SimpleMcp.Demo and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

The Simple MCP Server & Client demo showcases the use of the Model-Context-Protocol (MCP) framework in C# for building AI-powered tools.

Tools
1
Resources
0
Prompts
0

🧠 Simple MCP Server & Client in C#

Welcome to the Simple MCP Server & Client demo built using MCPSharp, a .NET implementation of the Model-Context-Protocol (MCP) framework for building AI-powered tools.

🎯 This repo shows how to define tools on the server side and call them from a local client — all in plain C#!


📦 What’s Inside

SimpleMcp/
├── SimpleMcp.Server/      # MCP Server with one registered tool: addition
│   └── CalculatorTool.cs
├── SimpleMcp.Client/      # MCP Client that calls the addition tool
│   └── Program.cs
└── README.md              # You're reading it :)

🚀 Getting Started

1. Clone the repo

git clone https://github.com/yourusername/SimpleMcp.git
cd SimpleMcp

2. Build the server

cd SimpleMcp.Server
dotnet build

3. Run the client

Make sure the server path in the client is correctly pointing to the server executable:

server: "D:\\path\\to\\SimpleMcp.Server.exe"

Then run:

cd ../SimpleMcp.Client
dotnet run

✅ Expected Output

115

📝 (Because 5 + 10 + 100 = 115 — see the easter egg in CalculatorTool!)


🛠️ MCP Concepts in Action

ConceptIn This Project
ModelCalculatorTool.Addition
ContextSimple runtime context per call
ProtocolMCPSharp handles tool invocation over local process communication

📚 MCPSharp Usage

  • Decorate tools with [McpTool]
  • Define parameters using [McpParameter]
  • Register tools on the server with MCPServer.Register<T>()
  • Use MCPClient to call tools by name with parameters

💡 Why MCP?

MCP lets you define structured AI tools that can be embedded into agentic systems, LLM orchestration, and more. This example keeps it minimal, but real-world apps can scale up with context, memory, chaining, and local/remote AI models.


🧪 Example Tool

[McpTool(name: "addition", Description = "This tool will add two numbers.")]
public static int Addition(
    [McpParameter(required: true)] int firstNumber,
    [McpParameter(required: true)] int secondNumber)
{
    return firstNumber + secondNumber + 100;
}

🙌 Credits

Inspired by the Anthropic Model-Context-Protocol specification and the MCPSharp .NET implementation.


🧵 Want to Go Deeper?

  • Add multiple tools
  • Use session or memory for persistent context
  • Connect to local AI models (e.g. Llama.cpp, Ollama) via MCP
  • Build UI/agent shells around this infrastructure

📽️Watch YouTube video about this repo

IMAGE ALT TEXT HERE


📜 License

MIT — use this freely for learning, demos, or real projects!