この記事では、シンプルな MCP サーバーを作成し、Cursor でテストする方法を示します。
このチュートリアルでは、公式の csharp-sdk
を使用します。この SDK は現在も初期段階にあります:
1. シンプルなプロジェクトを作成する#
まず、空のコンソールプロジェクトを作成します:
dotnet new console -n Tutorial.McpTimeServer
2. パッケージをインストールする#
この 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>
/// 2つの数を加算します
/// </summary>
/// <param name="a">加算する最初の数</param>
/// <param name="b">加算する2番目の数</param>
/// <returns>2つの数の合計</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
に移動します。
「新しいグローバル MCP サーバーを追加」をクリックするか、.cursor/mcp.json
を開いて、次のように MCP サーバー情報を追加します:
{
"mcpServers": {
"timemcp": {
"command": "cmd",
"args": [
"/c",
"D:/コード仓库/演练场/mcp-dotnet/Tutorial.McpTimeServer/bin/Debug/net9.0/Tutorial.McpTimeServer.exe"
]
}
}
}