mark3labs/mcp-go
A Go implementation of the Model Context Protocol (MCP), enabling seamless integration between LLM applications and external data sources and tools.
Overview
mark3labs/mcp-go is a Go MCP server licensed under MIT. A Go implementation of the Model Context Protocol (MCP), enabling seamless integration between LLM applications and external data sources and tools.
Ranked #2 out of 25632 indexed tools.
In the top 1% of all indexed tools.
Has 8,353 GitHub stars.
Used by 2,938 other projects.
Has 170 contributors.
Actively maintained with commits in the last week.
Ecosystem
Go MIT 99 weekly downloads
Signal Breakdown
Stars 8,353
Freshness 5d ago
Issue Health 90%
Contributors 170
Dependents 2,938
Forks 789
Description Good
License MIT
Matched Queries
From the README
<div align="center">
<strong>A Go implementation of the Model Context Protocol (MCP), enabling seamless integration between LLM applications and external data sources and tools.</strong>
<br>
<br>
Discuss the SDK on [Discord](https://discord.gg/RqSS2NQVsY)
</div>
```go
package main
import (
"context"
"fmt"
"github.com/mark3labs/mcp-go/mcp"
"github.com/mark3labs/mcp-go/server"
)
func main() {
// Create a new MCP server
s := server.NewMCPServer(
"Demo 🚀",
"1.0.0",
server.WithToolCapabilities(false),
)
// Add tool
tool := mcp.NewTool("hello_world",
mcp.WithDescription("Say hello to someone"),
mcp.WithString("name",
mcp.Required(),
mcp.Description("Name of the person to greet"),
),
)
// Add tool handler
s.AddTool(tool, helloHandler)
// Start the stdio server
if err := server.ServeStdio(s); err != nil {
fmt.Printf("Server error: %v\n", err)
Read full README on GitHub →
Are you the maintainer? Claim this listing