mcp-golang-http-server
@davidferlay
A simple MCP server exposed via SSE with examples tools, resources and prompts
Overview
What is mcp-golang-http-server?
A simple MCP server exposed via SSE (Server-Sent Events) with example tools, resources, and prompts. It is based on the example from the mark3labs/mcp-go GitHub repository. The server is built with Go and is intended for developers experimenting with or testing the Model Context Protocol.
How to use mcp-golang-http-server?
Build the binary with go build . and run it with ./mcp-golang-http-server --transport sse --baseurl http://localhost. For a public deployment, use --baseurl https://mcp.example.com and optionally add the --omitPort flag to exclude the port from the URL.
Key features of mcp-golang-http-server
- Exposes MCP via SSE transport
- Includes example tools, resources, and prompts
- Built using the mark3labs/mcp-go library
- Configurable base URL via the
--baseurlflag - Supports the
--omitPortflag for cleaner URLs
Use cases of mcp-golang-http-server
- Testing MCP clients against a live SSE endpoint
- Demonstrating how to implement a Go-based MCP server
- Prototyping and experimenting with tools, resources, and prompts
- Serving as a reference implementation for MCP over HTTP
FAQ from mcp-golang-http-server
What runtime or dependencies are required?
The server requires Go to build and run. It depends on the mark3labs/mcp-go library internally.
What transport does this server use?
It uses SSE (Server-Sent Events) transport, specified via the --transport flag.
How do I configure the server’s base URL?
Use the --baseurl flag when running the server, for example --baseurl http://localhost or --baseurl https://mcp.example.com.
Is there a way to omit the port from the URL?
Yes, add the --omitPort flag to exclude the port from the server’s URL.
Where does the source code come from?
The server is a modified version of the everything example from the mark3labs/mcp-go repository.