This MCP server integrates with the Go Playground API to execute, share, and manage Go code snippets.
Core Capabilities:
Execute Go code - Run Go code in the Go Playground sandbox with optional
go vetstatic analysis (enabled by default)Share code snippets - Generate persistent, shareable Go Playground URLs
Execute and share simultaneously - Run code and get both execution results and a shareable URL in one operation
Read from URLs - Extract Go code from existing Go Playground URLs
Execute from URLs - Run Go code directly from existing Go Playground URLs
Multiple URL format support - Works with go.dev/play/, go.dev/play/p/, and play.golang.org/p/ URLs
MCP protocol compliance - Seamless integration with Model Context Protocol clients
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Go Playground MCP Serverrun this Go code and share the results"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Related MCP server: Sandbox MCP Server
🏃♂️ Usage
The server can be used with any MCP-compatible client. The server provides five tools:
run_go_code- Execute Go code and return resultsshare_go_code- Share Go code and get a URLrun_and_share_go_code- Execute code and get both results and share URLread_go_playground_url- Read Go code from an existing Go Playground URLexecute_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
Ping me on Twitter @samuelberthe (DMs, mentions, whatever :))
Fork the project
Fix open issues or request new features
Don't hesitate ;)
Install
Clone this repository:
git clone https://github.com/samber/go-playground-mcp.git
cd go-playground-mcpInstall dependencies:
npm installBuild the project:
npm run buildRunning the Server
# Development mode
npm run dev
# Production mode
npm run build
npm startAdd 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.