MCP Go SDK
This SDK provides a Go implementation of the Machine Control Protocol (MCP), enabling bidirectional communication between clients and servers for tool execution, resource access, and prompt handling. Based on
Overview
MCP Go SDK is a software development kit that provides a Go implementation of the Machine Control Protocol (MCP), enabling bidirectional communication between clients and servers for tool execution, resource access, and prompt handling.
To use MCP Go SDK, install it via Go package manager with go get github.com/SetiabudiResearch/mcp-go-sdk, and follow the usage guide to create servers, add tools, resources, and configure transports.
- Multiple transport options (stdio, SSE, WebSocket) - Bidirectional communication capabilities - Tool registration and execution - Resource pattern matching and access - Prompt template rendering and session management
- Building a file server that handles file access requests.
- Creating a calculator service that processes mathematical operations.
- Developing a chat bot that interacts with users through prompts.
Add to your AI client
Use these steps to connect MCP Go SDK in Cursor, Claude, VS Code, and other MCP-compatible apps. The same JSON appears in the Use with menu above for one-click copy.
Cursor
Add this to your .cursor/mcp.json file in your project root, then restart Cursor.
.cursor/mcp.json
{
"mcpServers": {
"mcp-go-sdk-setiabudiresearch": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-go-sdk-setiabudiresearch"
]
}
}
}Claude Desktop
Add this server entry to the mcpServers object in your Claude Desktop config, then restart the app.
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
{
"mcpServers": {
"mcp-go-sdk-setiabudiresearch": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-go-sdk-setiabudiresearch"
]
}
}
}Claude Code
Add this to your project's .mcp.json file. Claude Code will detect it automatically.
.mcp.json (project root)
{
"mcpServers": {
"mcp-go-sdk-setiabudiresearch": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-go-sdk-setiabudiresearch"
]
}
}
}VS Code (Copilot)
Add this to your .vscode/mcp.json file. Requires the GitHub Copilot extension with MCP support enabled.
.vscode/mcp.json
{
"servers": {
"mcp-go-sdk-setiabudiresearch": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-go-sdk-setiabudiresearch"
]
}
}
}Windsurf
Add this to your Windsurf MCP config file, then restart Windsurf.
~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"mcp-go-sdk-setiabudiresearch": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-go-sdk-setiabudiresearch"
]
}
}
}Cline
Open Cline settings, navigate to MCP Servers, and add this server configuration.
Cline MCP Settings (via UI)
{
"mcpServers": {
"mcp-go-sdk-setiabudiresearch": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-go-sdk-setiabudiresearch"
]
}
}
}FAQ
Is MCP Go SDK easy to integrate into existing Go applications?
Yes! MCP Go SDK is designed to be easily integrated into any Go application with minimal setup.
What transport options are available?
MCP Go SDK supports stdio, WebSocket, and Server-Sent Events for flexible communication.
Can I contribute to the MCP Go SDK?
Absolutely! Contributions are welcome, and you can submit a Pull Request on the GitHub repository.7:["$","div",null,{"className":"container mx-auto flex flex-col gap-4","children":["$L26","$L27",["$","$L28",null,{"currentProject":{"id":1405,"uuid":"b64157b3-0d31-4d3e-bc36-efe296028f4f","name":"mcp-go-sdk","title":"MCP Go SDK","description":"This SDK provides a Go implementation of the Machine Control Protocol (MCP), enabling bidirectional communication between clients and servers for tool execution, resource access, and prompt handling. Based on","avatar_url":"https://avatars.githubusercontent.com/u/197109526?v=4","created_at":"$D2025-02-20T15:37:23.767Z","updated_at":"$D2025-02-23T07:21:39.214Z","status":"created","author_name":"SetiabudiResearch","author_avatar_url":"https://avatars.githubusercontent.com/u/197109526?v=4","tags":"mcp,go-sdk,machine-control-protocol","category":"developer-tools","is_featured":false,"sort":1,"url":"https://github.com/SetiabudiResearch/mcp-go-sdk","target":"_self","content":"$29","summary":"$2a","img_url":null,"type":null,"metadata":null,"user_uuid":null,"tools":null,"sse_url":null,"sse_provider":null,"sse_params":null,"is_official":false,"server_command":null,"server_params":null,"server_config":null,"allow_call":false,"is_innovation":false,"is_dxt":false,"dxt_manifest":null,"dxt_file_url":null,"is_audit":false},"randomProjects":[],"currentServerKey":"$undefined"}]]}]