πŸ“¦ mcp-client-go

by yincongcyincong

150 stars
482 downloads
Not rated
GitHub

About

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

Details

Author
yincongcyincong
GitHub stars
150
Downloads
482
Categories
Other, AI

- 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 for Claude-like config files to set up MCP servers
- Prompt interface to trigger MCP requests

Integrate the library into a Go project, register the desired MCP services, and use the unified execution interface to invoke tools. Support for Claude-like configuration files is provided, and a prompt mechanism can trigger MCP requests. Refer to the demos and documentation in the repository for examples.

πŸ“¦ 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 | |
| twitter | 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.

No reviews yet β€” be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.