MCP.so
ログイン

MCP Go SDK

@SetiabudiResearch

基本情報

カテゴリ

開発者ツール

トランスポート

stdio

作者

SetiabudiResearch

MCP Go SDK について

This SDK provides a Go implementation of the Machine Control Protocol (MCP), enabling bidirectional communication between clients and servers for tool execution, resource access, and prompt handling. Based on

#mcp#go-sdk#machine-control-protocol

MCP Go SDK の設定

標準の設定はありません

このサーバーの README には解析可能な MCP 設定ブロックが含まれていません。インストール手順はリポジトリをご確認ください。

リポジトリ

MCP Go SDK のツール

ツール一覧はまだありません

この掲載には表示できるツール一覧がまだありません。サーバーにツールがないという意味ではありません。対応機能はプロジェクトのドキュメントをご確認ください。

ツールは README から自動的に抽出されます。メンテナーは ## Tools という見出しの下に記載することで、このタブに反映できます。

概要

What is MCP Go SDK?

The MCP Go SDK provides a Go implementation of the Model Context Protocol (MCP), enabling bidirectional communication between clients and servers for tool execution, resource access, and prompt handling. It is designed for Go developers building MCP-compatible applications.

How to use MCP Go SDK?

Install the SDK with go get github.com/SetiabudiResearch/mcp-go-sdk. Then create a server instance using server.NewServer(), add tools, resources, or prompts using the provided methods, and start a transport (stdio, WebSocket, or SSE). See the Quick Start section for a minimal example.

Key features of MCP Go SDK

  • Multiple transport options: stdio, SSE, WebSocket
  • Tool registration with both sync and async execution
  • Resource pattern matching (e.g., files/{path})
  • Prompt template rendering and multi-message prompts
  • JSON-RPC message handling with core MCP types
  • Reflection-based handler invocation

Use cases of MCP Go SDK

  • Build custom MCP servers exposing tools and resources
  • Create a file server that serves files via MCP (see examples/fileserver)
  • Implement a calculator service as an MCP tool (see examples/calculator)
  • Develop an interactive chatbot using MCP prompts (see examples/chatbot)

よくある質問

1

What transports does the MCP Go SDK support?

It supports stdio, WebSocket, and Server-Sent Events (SSE) transports, each configurable with endpoints and settings.

2

How do I add a tool to the server?

Use `srv.AddTool()` for synchronous tools or `srv.AddAsyncTool()` for long-running operations, providing a name, handler function, and description.

3

What are the runtime dependencies?

The SDK depends only on the Go standard library and the module itself; it is a pure Go implementation.

4

Can I access resources with dynamic paths?

Yes, resources support pattern matching like `files/{path}` or `api/{version}/{endpoint}` with multiple parameters.

5

Are there complete example applications?

Yes, the repository contains an `examples` directory with a file server, calculator, and chatbot examples.

コメント

「開発者ツール」の他のコンテンツ