About 📦 mcp-client-go
mcp-client-go is a Go client library for the Model Context Protocol that lets developers register and call several MCP services through one API. It supports stdio and SSE client initialization and lookup by server or tool name. The README lists a range of example services it can work with.
Key features
- 01Unified registration and management of MCP clients
- 02stdio and SSE client initialization
- 03Lookup of clients by server or tool name
- 04Single interface for executing tools
- 05Claude-style config file for defining servers
Use cases
- 01Connecting several MCP services from a Go application
- 02Calling map or database tools through one interface
MCP support
This is an MCP client library that connects to, registers and manages multiple MCP servers and executes the tools they expose.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project README📦 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 Server | Description | doc | demo |
|---|---|---|---|
| redis | A Model Context Protocol server that provides access to Redis databases. | doc | redis |
| github | The GitHub MCP Server is a Model Context Protocol (MCP) server that provides seamless integration with GitHub APIs | doc | github |
| aws | An MCP server implementation for retrieving information from the AWS Knowledge Base using the Bedrock Agent Runtime. | doc | aws |
| sequential_thinking | An MCP server implementation that provides a tool for dynamic and reflective problem-solving through a structured thinking process. | doc | - |
| firecrawl | A Model Context Protocol (MCP) server implementation that integrates with Firecrawl for web scraping capabilities. | doc | firecrawl |
| postgresql | A Model Context Protocol server that provides read-only access to PostgreSQL databases. | doc | - |
| gitlab | MCP Server for the GitLab API, enabling project management, file operations, and more. | doc | - |
| slack | MCP Server for the Slack API, enabling Claude to interact with Slack workspaces. | doc | - |
| puppeteer | A Model Context Protocol server that provides browser automation capabilities using Puppeteer. | doc | - |
| everart | Image generation server for Claude Desktop using EverArt's API. | doc | - |
| sentry | A Model Context Protocol server for retrieving and analyzing issues from Sentry.io | doc | - |
| filesystem | Node.js server implementing Model Context Protocol (MCP) for filesystem operations. | doc | filesystem |
| fetch | A 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 | - |
| googlemap | MCP Server for the Google Maps API. | doc | googlemap |
| flomo | This is a TypeScript-based MCP server help you write notes to Flomo. | doc | - |
| chatsum | This MCP Server is used to summarize your chat messages. | doc | - |
| amap | This repository is a collection of reference implementations for the Model Context Protocol (MCP), as well as references to community built servers and additional resources. | doc | amap http-streamable |
| baidumap | This MCP Server is used to baidumap | doc | - |
| blender | BlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP) | doc | - |
| framelink | Give Cursor, Windsurf, Cline, and other AI-powered coding tools access to your Figma files with this Model Context Protocol server. | doc | - |
| playwright | A Model Context Protocol (MCP) server that provides browser automation capabilities using Playwright. | doc | playwright sse |
| tavily | The 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. | doc | tavily |
| time | A Model Context Protocol server that provides time and timezone conversion capabilities. | doc | time uvx |
| victoriametrics | A Model Context Protocol server that provide access to victoria metrics databases. | doc | victoriametrics |
| atlassian | Model Context Protocol (MCP) server for Atlassian products (Confluence and Jira) | doc | |
| notion | MCP server for the Notion API. | doc | |
| cloudflare | MCP Server for Cloudflare's API. | doc | |
| binance | MCP Server for Binance's API. | doc | |
| youtube | MCP Server for Youtube's API. | doc | |
| shopify | MCP Server for Shopify's API. | doc | |
| duckduckgo | MCP Server for Duckduckgo's API. | doc | |
| aliyun | MCP Server for Aliyun's API. | doc | aliyun |
| bilibili | MCP Server for Bilibili's API. | doc | bilibili |
| bitcoin | MCP Server for Bitcoin's API. | doc | bitcoin |
| airbnb | MCP Server for Airbnb's API. | doc | airbnb |
| jira | MCP Server for Jira's API. | doc | |
| MCP Server for Twitter's API. | doc | ||
| leetcode | MCP Server for Leetcode's API. | doc | |
| iterm | MCP Server for Iterm's API. | doc | iterm |
| telegram | MCP Server for Telegram's API. | doc | telegram |
| zoomeye | MCP Server for Zoomeye's API. | doc | |
| ipfs | MCP Server for IPFS's API. | doc | |
| k8s | MCP Server for K8s's API. | doc | |
| apple-shortcut | MCP Server for Apple Shortcut's API. | doc | |
| ms-365 | MCP Server for MS356's API. | doc | |
| tinybird | MCP Server for TinyBird's API. | doc | |
| mysql | MCP Server for Mysql's API. | doc | |
| google calendar | MCP Server for Google Calendar's API. | doc | |
| sqlite | MCP Server for Sqlite's API. | doc | |
| mongo | MCP Server for Mongo's API. | doc | |
| opgg | MCP Server for Opgg's API. | doc | opgg |
🚀 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.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.