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.
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.