go-docs
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-docsExplain the strings.Builder type in Go"
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-docs
A Mastra-based MCP server that provides expert Go programming assistance with real-time documentation from pkg.go.dev. Use it in your AI-powered code editor to get instant access to Go documentation, best practices, and code examples.
Production Deployment
Host | Base URL | Highlights |
Mastra Cloud | Primary choice - Zero cold start, maximum responsiveness, reliable performance. |
Append
/api/mcp/goDocsMcpServer/ssefor the SSE transport (best for editors that keep long-lived connections).Append
/api/mcp/goDocsMcpServer/mcpfor the HTTP transport (handy for CLIs and quick one-off calls).
Mastra Cloud SSE: https://go-docs.mastra.cloud/api/mcp/goDocsMcpServer/sse
Mastra Cloud HTTP: https://go-docs.mastra.cloud/api/mcp/goDocsMcpServer/mcp
Development SSE: http://localhost:4111/api/mcp/goDocsMcpServer/sse
Development HTTP: http://localhost:4111/api/mcp/goDocsMcpServer/mcp
Related MCP server: Library Docs MCP Server
🎉 What's New
✅ Production deployment on Mastra Cloud
✅ Real-time Go documentation from pkg.go.dev
✅ Expert Go programming assistance with AI agent
✅ Support for all major AI code editors (Cursor, Windsurf, VS Code, Claude Desktop)
✅ HTTP and SSE transport protocols
✅ Automated versioning with semantic-release
🚀 Features
Go Documentation Access: Fetches real-time documentation from pkg.go.dev
MCP Protocol Support: HTTP SSE transport for seamless integration with MCP clients
Intelligent Responses: Provides well-formatted answers with code examples
Mastra Framework: Built on Mastra for scalable tool development
TypeScript Support: Fully typed with TypeScript
Multi-Client Support: Works with Cursor, VSCode, Claude Desktop, Windsurf, and other MCP-compatible tools
Editor Setup
Mastra Cloud is the recommended deployment for all editors. It offers zero cold start and maximum responsiveness. SSE works best for editors that keep a persistent connection, while HTTP is handy for one-off requests and scripts.
Open Cursor Settings (
Cmd/Ctrl+,).Navigate to "MCP" / "Model Context Protocol" and add a new server configuration.
Mastra Cloud — SSE example:
{
"go-docs": {
"type": "sse",
"url": "https://go-docs.mastra.cloud/api/mcp/goDocsMcpServer/sse"
}
}Mastra Cloud — HTTP example:
{
"go-docs": {
"type": "http",
"url": "https://go-docs.mastra.cloud/api/mcp/goDocsMcpServer/mcp"
}
}Development (localhost):
{
"go-docs-dev": {
"type": "sse",
"url": "http://localhost:4111/api/mcp/goDocsMcpServer/sse"
}
}Add to your .vscode/settings.json or use the Command Palette (Cmd/Ctrl+Shift+P) and run MCP: Add server:
For Production (SSE transport):
{
"mcpServers": {
"go-docs": {
"url": "https://go-docs.mastra.cloud/api/mcp/goDocsMcpServer/sse",
"type": "sse"
}
}
}For Production (HTTP transport):
{
"mcpServers": {
"go-docs": {
"url": "https://go-docs.mastra.cloud/api/mcp/goDocsMcpServer/mcp",
"type": "http"
}
}
}For Development (localhost):
{
"mcpServers": {
"go-docs-dev": {
"url": "http://localhost:4111/api/mcp/goDocsMcpServer/sse",
"type": "sse"
}
}
}Edit
~/.codeium/windsurf/mcp_config.json.Add the SSE transport:
{
"mcpServers": {
"go-docs": {
"url": "https://go-docs.mastra.cloud/api/mcp/goDocsMcpServer/sse",
"transport": "sse"
}
}
}Save, restart Windsurf, then open
mcp.jsonin Agent mode and click "start".
Add to your claude_desktop_config.json:
For Production:
{
"mcpServers": {
"go-docs": {
"url": "https://go-docs.mastra.cloud/api/mcp/goDocsMcpServer/sse"
}
}
}For Development:
{
"mcpServers": {
"go-docs-dev": {
"url": "http://localhost:4111/api/mcp/goDocsMcpServer/sse"
}
}
}Open Zed settings (
Cmd/Ctrl+,).Edit
~/.config/zed/settings.json:
{
"context_servers": {
"go-docs": {
"source": "custom",
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://go-docs.mastra.cloud/api/mcp/goDocsMcpServer/sse"
],
"env": {}
}
}
}Save, restart Zed, and confirm the server shows a green indicator in the Agent panel.
CLI & Agent Configuration
Global settings (
~/.claude/settings.json):{ "mcpServers": { "go-docs": { "command": "npx", "args": [ "-y", "mcp-remote", "https://go-docs.mastra.cloud/api/mcp/goDocsMcpServer/mcp" ] } } }Command palette alternative:
claude mcp add go-docs --url https://go-docs.mastra.cloud/api/mcp/goDocsMcpServer/mcp
codex mcp add go-docs --url https://go-docs.mastra.cloud/api/mcp/goDocsMcpServer/sse
codex mcp listCreate or edit
~/.gemini/settings.json:mkdir -p ~/.gemini nano ~/.gemini/settings.jsonAdd the configuration:
{ "mcpServers": { "go-docs": { "httpUrl": "https://go-docs.mastra.cloud/api/mcp/goDocsMcpServer/mcp" } } }Or use the npx command variant:
{ "mcpServers": { "go-docs": { "command": "npx", "args": [ "mcp-remote", "https://go-docs.mastra.cloud/api/mcp/goDocsMcpServer/mcp" ] } } }
Verification & Quick Tests
# Test MCP connection
npx mcp-remote https://go-docs.mastra.cloud/api/mcp/goDocsMcpServer/mcp
# Check HTTP endpoint
curl -I https://go-docs.mastra.cloud/api/mcp/goDocsMcpServer/mcp
# Test SSE endpoint
curl -N https://go-docs.mastra.cloud/api/mcp/goDocsMcpServer/sseAvailable Tools
Once installed, your AI assistant will have access to these tools:
fetchGoDoc - Fetches real-time official Go documentation from pkg.go.dev. Use this to get package docs, function signatures, type definitions, and examples. Supports standard library packages like 'fmt', 'net/http', 'context', 'encoding/json', and third-party packages.
Example Usage
After installing the MCP server in your editor, you can ask your AI assistant:
"How do I use the fmt package in Go?"
"Show me examples of Go slices and arrays"
"What are Go best practices for error handling?"
"Explain Go interfaces with code examples"
"How do I handle concurrency with goroutines?"
"What's the difference between make and new in Go?"
📖 Programmatic Usage
import { MCPClient } from "@mastra/mcp";
// Use environment variable for URL (supports both dev and prod)
const mcpUrl =
process.env.MCP_SERVER_URL ||
"http://localhost:4111/api/mcp/goDocsMcpServer/sse";
const mcp = new MCPClient({
servers: {
goDocs: {
url: mcpUrl,
},
},
});
// Get available tools
const tools = await mcp.getTools();
// Call a tool directly
const result = await mcp.callTool("go-docs", "fetchGoDocs", {
query: "How do I use Go slices?",
});🚀 Quick Start (Local Development)
These instructions assume you have Bun (or Node 20+) installed and an API key for your chosen model provider.
Install dependencies:
bun installCopy the example environment and add your API key(s):
cp .env.example .env
# Edit .env and add your API key(s)Run in development mode:
bun run devBuild and run production:
bun run build
bun run startNote: Studio (Mastra local UI) is available during dev at http://localhost:4111.
📦 Scripts
Script | Description |
| Start Mastra in development mode |
| Build the Mastra project for production |
| Start the built Mastra server |
| Verify package.json and MCP server match |
| Sync version from package.json to MCP server |
⚙️ Environment Variables
Copy .env.example to .env and configure:
cp .env.example .envVariable | Description |
| API key for OpenAI |
| API key for Google Gemini (optional) |
| MCP server URL for programmatic access |
🗂️ Project Structure
src/
├─ mastra/
│ ├─ agents/
│ │ └─ go-docs-agent.ts # AI agent for Go documentation
│ ├─ mcp/
│ │ └─ go-docs-server.ts # MCP server configuration
│ ├─ tools/
│ │ └─ go-docs-tool.ts # Documentation fetching tool
│ └─ index.ts # Mastra configuration
scripts/
├─ check-versions.js # Version verification script
└─ sync-versions.js # Version synchronization script🔧 How it Works
MCP Protocol: Communicates via HTTP SSE or HTTP transport
Documentation Fetching: The
go-docs-toolfetches documentation from pkg.go.devAI Agent: Expert Go agent provides contextual answers with code examples
Tool Exposure: Makes Go documentation tools available to connected MCP clients
🛠️ Development
Extending the MCP Server
To add new capabilities:
Add Tools: Create new tools in
src/mastra/tools/Modify MCP Server: Update
src/mastra/mcp/go-docs-server.tsTest: Use the MCP client testing configuration
Building Custom Tools
import { createTool } from "@mastra/core/tools";
import { z } from "zod";
export const customTool = createTool({
id: "custom-tool",
description: "Description of what the tool does",
inputSchema: z.object({
param: z.string(),
}),
execute: async ({ context }) => {
return { result: "output" };
},
});Version Management
Versions are synchronized between package.json and the MCP server:
# Check if versions match
bun run check-versions
# Sync versions (package.json is source of truth)
bun run sync-versionsContributing
Contributions are welcome! Please follow these guidelines:
Fork the repo and create a feature branch
Follow Conventional Commits for commit messages
Add tests or a demo if you change behavior
Submit a PR describing your change
License
This project is licensed under the MIT License - see the LICENSE file for details.
References
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Michael-Obele/go-docs'
If you have feedback or need assistance with the MCP directory API, please join our Discord server