在本文中,我將向您展示如何創建一個簡單的 MCP Server 並在 Cursor 中測試它。
本教程使用官方的 csharp-sdk
,該 SDK 目前仍處於早期階段:
1. 創建一個簡單的項目#
首先,創建一個空的控制台項目:
dotnet new console -n Tutorial.McpTimeServer
2. 安裝包#
安裝這兩個包:
dotnet add package MCPSharp
3. 編寫代碼#
將 Program.cs
的內容替換為:
using MCPSharp;
using System.ComponentModel;
//https://github.com/afrise/MCPSharp
Console.WriteLine("Hello MCP World!");
MCPServer.Register<TimeTool>();
await MCPServer.StartAsync("CalculatorServer", "1.0.0");
public class TimeTool
{
[McpTool("GetCurrentTime"), Description("獲取當前時間。")]
public static string GetCurrentTime() => DateTimeOffset.Now.ToString();
/// <summary>
/// 將兩個數字相加
/// </summary>
/// <param name="a">要相加的第一個數字</param>
/// <param name="b">要相加的第二個數字</param>
/// <returns>兩個數字的和</returns>
[McpTool]
public static int Add(
[McpParameter(true)] int a,
[McpParameter(true)] int b)
{
return a + b;
}
}
4. 運行項目#
如果您使用 dotnet run
運行項目,您將看到 Hello MCP World!
,並且程序將保持打開狀態,因為它正在監聽 stdin
。
5. 在 Cursor 中測試#
現在是時候在 Cursor 中配置它了。轉到 File -> Preferences -> Cursor Settings
。
點擊 "Add new global MCP Server" 或打開 .cursor/mcp.json
並添加您的 MCP Server 信息,如下所示:
{
"mcpServers": {
"timemcp": {
"command": "cmd",
"args": [
"/c",
"D:/代碼倉庫/演練場/mcp-dotnet/Tutorial.McpTimeServer/bin/Debug/net9.0/Tutorial.McpTimeServer.exe"
]
}
}
}