Skip to main content
Glama
Go Playground MCP Server

Go Playground MCP Server

by samber

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

Related MCP server: Netmind Code Interpreter

šŸƒā€ā™‚ļø 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.

Available Tools

5 tools
execute_go_playground_urlC

Execute Go code from an existing Go Playground URL

Inputs: url (required), withVet.

read_go_playground_urlA

Read Go code from an existing Go Playground URL

Inputs: url (required).

run_and_share_go_codeB

Run Go code and get both execution results and a shareable URL

Inputs: code (required), withVet.

run_go_codeB

Run Go code in the Go Playground and return execution results

Inputs: code (required), withVet.

share_go_codeB

Share Go code and get a shareable URL

Inputs: code (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 5 tools

    Disambiguation4/5

    Most tools have clear distinct purposes: run_go_code executes provided code, share_go_code returns a URL, read_go_playground_url fetches code from a URL, and execute_go_playground_url runs code from a URL. The only potential confusion is between run_go_code and run_and_share_go_code, since the latter is a superset that also shares, but this is explicitly described.

    Naming Consistency4/5

    Tool names follow a consistent verb_noun pattern (run, share, read, execute) and clearly reference the object (go_code or go_playground_url). Minor inconsistency exists between 'go_code' and 'go_playground_url' but it is not confusing, and the compound 'run_and_share_go_code' remains readable.

    Tool Count5/5

    Five tools is well-scoped for a Go Playground server. Each tool covers a distinct interaction mode (run, share, read from URL, execute from URL, and combined run+share) without redundancy or bloat.

    Completeness5/5

    The tool set covers the essential Go Playground workflows: running code, sharing code, retrieving code from a URL, executing code from a URL, and a combined convenience tool. No obvious gaps exist for the stated purpose.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers