Overview
What is MCP-Go?
MCP-Go is a Go implementation of the Model Context Protocol (MCP), a lightweight protocol for efficient communication between AI models and applications. It provides a robust framework with client-server architecture, concurrent design, and type-safe APIs, suitable for developers building AI-integrated systems in Go.
How to use MCP-Go?
Install via go get github.com/OkutaniDaichi0106/mcp-go. Use the mcp.NewServer() or mcp.NewClient() factory, register tools/resources/prompts with handler functions, then create a transport (Stdio, HTTP, or custom) and call Accept() (server) or Dial() (client) to obtain a session.
Key features of MCP-Go
- Client-Server Architecture with full implementation of both roles
- Transport Flexibility via Stdio, WebSockets, or HTTP
- Concurrent Design using Go’s goroutines and channels
- Type-Safe APIs to prevent runtime errors
- Modular Components with a handler-based design pattern
- Session Management with proper lifecycle handling
Use cases of MCP-Go
- Building MCP servers that expose tools, resources, and prompts to AI models
- Creating MCP clients to consume capabilities from MCP servers
- Enabling standardized message exchange between AI models and applications
FAQ from MCP-Go
What protocol version does MCP-Go implement?
It implements the Model Context Protocol specification v2025-03-26.
What transport methods are supported?
MCP-Go supports Standard I/O, WebSockets, and HTTP transports.
How do I install MCP-Go?
Install by running go get github.com/OkutaniDaichi0106/mcp-go in your Go project.
What is the license?
MCP-Go is licensed under the MIT License.
Where can I find API documentation?
Detailed API documentation is available at GoDoc (https://godoc.org/github.com/OkutaniDaichi0106/mcp-go).