The reputation layer for AI skills, tools & agents

mark3labs/mcp-go

Score: 88.4 Rank #2

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

Badge

AgentRank score for mark3labs/mcp-go
[![AgentRank](https://agentrank-ai.com/api/badge/tool/mark3labs--mcp-go)](https://agentrank-ai.com/tool/mark3labs--mcp-go)
<a href="https://agentrank-ai.com/tool/mark3labs--mcp-go"><img src="https://agentrank-ai.com/api/badge/tool/mark3labs--mcp-go" alt="AgentRank"></a>

Matched Queries

"model context protocol""model-context-protocol"

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