SG

samber/go-playground-mcp

Developer tools
6 stars 3 forks Quality 69 Trend 18MIT

🤹 A MCP server to execute Go code in Go Playground and generate shareable URLs

Overview

A Model Context Protocol (MCP) server that integrates with the Go Playground API to execute Go code and generate shareable URLs. - : Execute Go code in the Go Playground sandbox - : Generate shareable URLs for Go code snippets - : Execute code and get both results and share URL in one operation - : Read Go code from existing Go Playground URLs - : Execute Go code from existing Go Playground URLs - : Full Model Context Protocol compliance The server can be used with any MCP-compatible client. The server provides five tools: 1. - Execute Go code and return results 2. - Share Go code and get a URL 3. - Execute code and get both results and share URL 4. - Read Go code from an existing Go Playground URL 5. - Execute Go code from an existing Go Playground URL Add this to your MCP client configuration: The new URL-based tools support these Go Playground URL formats: - https://go.dev/play/ - https://go.dev/play/p/ - https://play.golang.

README

Go Playground MCP Server

A Model Context Protocol (MCP) server that integrates with the Go Playground API to execute Go code and generate shareable URLs.

🧙 Features

  • Run Go Code: Execute Go code in the Go Playground sandbox
  • Share Code: Generate shareable URLs for Go code snippets
  • Run and Share: Execute code and get both results and share URL in one operation
  • Read from URL: Read Go code from existing Go Playground URLs
  • Execute from URL: Execute Go code from existing Go Playground URLs
  • MCP Integration: Full Model Context Protocol compliance

🏃‍♂️ Usage

The server can be used with any MCP-compatible client. The server provides five tools:

  1. run_go_code - Execute Go code and return results
  2. share_go_code - Share Go code and get a URL
  3. run_and_share_go_code - Execute code and get both results and share URL
  4. read_go_playground_url - Read Go code from an existing Go Playground URL
  5. execute_go_playground_url - Execute Go code from an existing Go Playground URL

Add this to your MCP client configuration:

{
  "mcpServers": {
    "go-playground": {
      "command": "npx",
      "args": ["-y", "go-playground-mcp"]
    }
  }
}

Examples

Reading code from a Go Playground URL

// Read code from https://go.dev/play/xyz123
const result = await mcpClient.callTool("read_go_playground_url", {
  url: "https://go.dev/play/xyz123"
});

Executing code from a Go Playground URL

// Execute code from https://go.dev/play/xyz123
const result = await mcpClient.callTool("execute_go_playground_url", {
  url: "https://go.dev/play/xyz123",
  withVet: true
});

URL Formats Supported

The new URL-based tools support these Go Playground URL formats:

  • https://go.dev/play/
  • https://go.dev/play/p/
  • https://play.golang.org/p/

🤝 Contributing

Don’t hesitate ;)

Install

  1. Clone this repository:
git clone https://github.com/samber/go-playground-mcp.git
cd go-playground-mcp
  1. Install dependencies:
npm install
  1. Build the project:
npm run build

Running the Server

# Development mode
npm run dev

# Production mode
npm run build
npm start

Add this to your MCP client configuration:

{
  "mcpServers": {
    "go-playground": {
      "command": "node",
      "args": ["dist/index.js"]
    }
  }
}

👤 Contributors

💫 Show your support

Give a ⭐️ if this project helped you!

📝 License

Copyright © 2025 Samuel Berthe.

This project is MIT licensed.

View the full README on GitHub

Install

npx -y go-playground-mcp
New to MCP? Start with the mcpskill.org guide →

Configuration

{ "mcpServers": { "go-playground": { "command": "npx", "args": ["-y", "go-playground-mcp"] } } }