mcp-client-go

mcp client for Go (Golang). Integrate multiple Model Context Protocol (MCP) servers

128
15

📦 mcp-client-go

mcp-client-go is a Golang client library for the Model Context Protocol (MCP). It allows developers to register
and interact with various MCP-based services such as Amap (Gaode Maps) using a unified API.


✨ Features

  • Easy integration with MCP-compatible services
  • Modular support for service types (e.g., Amap, Github, GoogleMap)
  • Unified registration and client management
  • Simple and intuitive tool execution interface
  • Support claude like config file to set mcp server demo
  • Provide prompt to trigger mcp
    request doc

📋 Supported Services

MCP ServerDescriptiondocdemo
redisA Model Context Protocol server that provides access to Redis databases.docredis
githubThe GitHub MCP Server is a Model Context Protocol (MCP) server that provides seamless integration with GitHub APIsdocgithub
awsAn MCP server implementation for retrieving information from the AWS Knowledge Base using the Bedrock Agent Runtime.docaws
sequential_thinkingAn MCP server implementation that provides a tool for dynamic and reflective problem-solving through a structured thinking process.doc-
firecrawlA Model Context Protocol (MCP) server implementation that integrates with Firecrawl for web scraping capabilities.docfirecrawl
postgresqlA Model Context Protocol server that provides read-only access to PostgreSQL databases.doc-
gitlabMCP Server for the GitLab API, enabling project management, file operations, and more.doc-
slackMCP Server for the Slack API, enabling Claude to interact with Slack workspaces.doc-
puppeteerA Model Context Protocol server that provides browser automation capabilities using Puppeteer.doc-
everartImage generation server for Claude Desktop using EverArt's API.doc-
sentryA Model Context Protocol server for retrieving and analyzing issues from Sentry.iodoc-
filesystemNode.js server implementing Model Context Protocol (MCP) for filesystem operations.docfilesystem
fetchA Model Context Protocol server that provides web content fetching capabilities. This server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.doc-
googlemapMCP Server for the Google Maps API.docgooglemap
flomoThis is a TypeScript-based MCP server help you write notes to Flomo.doc-
chatsumThis MCP Server is used to summarize your chat messages.doc-
amapThis repository is a collection of reference implementations for the Model Context Protocol (MCP), as well as references to community built servers and additional resources.docamap http-streamable
baidumapThis MCP Server is used to baidumapdoc-
blenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP)doc-
framelinkGive Cursor, Windsurf, Cline, and other AI-powered coding tools access to your Figma files with this Model Context Protocol server.doc-
playwrightA Model Context Protocol (MCP) server that provides browser automation capabilities using Playwright.docplaywright sse
tavilyThe Model Context Protocol (MCP) is an open standard that enables AI systems to interact seamlessly with various data sources and tools, facilitating secure, two-way connections.doctavily
timeA Model Context Protocol server that provides time and timezone conversion capabilities.doctime uvx
victoriametricsA Model Context Protocol server that provide access to victoria metrics databases.docvictoriametrics
atlassianModel Context Protocol (MCP) server for Atlassian products (Confluence and Jira)doc
notionMCP server for the Notion API.doc
cloudflareMCP Server for Cloudflare's API.doc
binanceMCP Server for Binance's API.doc
youtubeMCP Server for Youtube's API.doc
shopifyMCP Server for Shopify's API.doc
duckduckgoMCP Server for Duckduckgo's API.doc
aliyunMCP Server for Aliyun's API.docaliyun
bilibiliMCP Server for Bilibili's API.docbilibili
bitcoinMCP Server for Bitcoin's API.docbitcoin
airbnbMCP Server for Airbnb's API.docairbnb
jiraMCP Server for Jira's API.doc
twitterMCP Server for Twitter's API.doc
leetcodeMCP Server for Leetcode's API.doc
itermMCP Server for Iterm's API.dociterm
telegramMCP Server for Telegram's API.doctelegram
zoomeyeMCP Server for Zoomeye's API.doc
ipfsMCP Server for IPFS's API.doc
k8sMCP Server for K8s's API.doc
apple-shortcutMCP Server for Apple Shortcut's API.doc
ms-365MCP Server for MS356's API.doc
tinybirdMCP Server for TinyBird's API.doc
mysqlMCP Server for Mysql's API.doc
google calendarMCP Server for Google Calendar's API.doc
sqliteMCP Server for Sqlite's API.doc
mongoMCP Server for Mongo's API.doc
opggMCP Server for Opgg's API.docopgg

🚀 Getting Started

Install

install npx, uvx, docker, and put them to env!

go get github.com/yincongcyincong/mcp-client-go

🧪 Example

client demo
app demo
deepseek demo
openai demo
project


🧱 API Overview

Initialize Clients

conf := clients.InitStdioMCPClient("npx-amap-maps-mcp-server", "npx", []string{
"AMAP_MAPS_API_KEY=" + AmapApiKey,
}, []string{
"-y",
"@amap/amap-maps-mcp-server",
})
/
conf := clients.InitSSEMCPClient("npx-amap-maps-mcp-server", "http://127.0.0.1")
/
conf := clients.InitHttpMCPClient("npx-amap-maps-mcp-server", "http://127.0.0.1")

Register MCP Clients

clients.RegisterMCPClient(context.Background(), []*param.MCPClientConf{conf})

Get MCP Client

client, err := clients.GetMCPClient("npx-amap-maps-mcp-server")
/
client, err := clients.GetMCPClientByToolName("geo_location")

Execute Tools

client.ExecTools(ctx, "tool_name", map[string]interface{}{...})

📄 License

This project is licensed under the MIT License.

Repository

YI
yincongcyincong

yincongcyincong/mcp-client-go

Created

April 1, 2025

Updated

July 4, 2025

Language

Go

Category

AI