go-mcp  by ThinkInAIXYZ

Go SDK for Model Context Protocol (MCP)

Created 7 months ago
642 stars

Top 51.9% on SourcePulse

GitHubView on GitHub
Project Summary

Go-MCP is a Go implementation of the Model Context Protocol (MCP) designed to simplify communication between external systems and AI applications. It offers a type-safe, high-performance, and easily deployable SDK for developers building AI-integrated services, leveraging Go's concurrency and static compilation benefits.

How It Works

Go-MCP utilizes a three-layer architecture: Transport, Protocol, and User. The Transport Layer abstracts communication protocols (HTTP SSE/POST, Streamable HTTP, Stdio), allowing for easy extension with new methods like WebSockets or gRPC. The Protocol Layer handles MCP message encoding/decoding and data structures. The User Layer provides idiomatic Go APIs for client and server interactions, ensuring type safety and modularity.

Quick Start & Requirements

Highlighted Details

  • Full implementation of the MCP specification.
  • Supports bidirectional communication via HTTP SSE/POST, Streamable HTTP, and Stdio.
  • Integrates with web frameworks like Gin via http.Handler.
  • Leverages Go's static compilation for simple deployment.

Maintenance & Community

Licensing & Compatibility

  • License: MIT License. Permissive for commercial use and closed-source linking.

Limitations & Caveats

The project is actively seeking contributions, and while it implements the MCP specification, the breadth of supported transport protocols beyond HTTP SSE/POST and Stdio might be limited in practice.

Health Check
Last Commit

5 days ago

Responsiveness

1 day

Pull Requests (30d)
2
Issues (30d)
1
Star History
15 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.