前提
- OS: Windows 11 Pro 24H2
- Claude Desktop インストール済み
- Go 言語の開発環境構築済み
MCP サーバーの実装
mark3labs/mcp-go
を使用して、 Hello, World! を返却するツールを実装した。
プロジェクト初期化とライブラリのインストール
以下コマンドで環境構築完了。
go mod init mikoto2000.dev/study/mcp
go get github.com/mark3labs/mcp-go
go get github.com/mark3labs/mcp-go/server
go get github.com/mark3labs/mcp-go/mcpソースコード
main.go:
package main
import (
"context"
"fmt"
"github.com/mark3labs/mcp-go/mcp"
"github.com/mark3labs/mcp-go/server"
)
func main() {
// サーバーの生成
s := server.NewMCPServer("hello-mcp", "1.0.0")
// ツールの仕様生成
tool := mcp.NewTool("hello_world",
mcp.WithDescription("Say `Hello, World!`"),
)
// サーバーにツールを追加
s.AddTool(tool, helloHandler)
// サーバーの開始
if err := server.ServeStdio(s); err != nil {
fmt.Printf("Server error: %v\n", err)
}
}
// `Hello, World!` を返却するツールのリクエスト受信ハンドラ
func helloHandler(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error) {
return mcp.NewToolResultText("Hello, World!"), nil
}ビルド
go buildClaude Desktop の設定
サーバーの配置
先ほどビルドした mcp.exe を、任意の場所に配置する。
今回は C:\Users\mikoto\tmp\mcp.exe に配置した。
MCP サーバーの設定
Claude Desktop を開く
左上のハンバーガーアイコンをクリック ->
ファイル->設定->開発者->構成を編集エクスプローラーが開くので、その中にある
claude_desktop_config.jsonを編集{ "mcpServers": { "hello-mcp": { "command": "C:\\Users\\mikoto\\tmp\\mcp.exe", "args": [] } } }Claude Desktop を再起動する
呼び出してみる
新しいチャットを開始し、
「hello-mcp を呼び出して結果を教えて」と入力する。
hello-world(ローカル)からのツールを許可しますか?と聞かれるので
このチャットで許可する を選択。
そうすると、しばらくぐるぐるした後以下のような返答が返ってきた。 OK.
関数の実行結果は「Hello, World!」でした。ご要望通りに関数を実行し、その結果をお知らせしました。何か他にお手伝いできることがありましたら、お気軽にお尋ねください。
0 件のコメント:
コメントを投稿