Skip to content

Repository files navigation

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.

tag Build Status Coverage npm License

🧙 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/<snippet-id>
  • https://go.dev/play/p/<snippet-id>
  • https://play.golang.org/p/<snippet-id>

🤝 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

Contributors

💫 Show your support

Give a ⭐️ if this project helped you!

GitHub Sponsors

📝 License

Copyright © 2025 Samuel Berthe.

This project is MIT licensed.

About

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

Topics

Resources

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

Sponsor this project

Used by

Contributors

Languages