go-mcp logo

go-mcp

by wagnerjt

This project tests the LiteLLM MCP implementation with other MCP servers and clients, specifically focusing on a go-based MCP server and client. It provides examples and instructions for setting up and running these components.

View on GitHub

Last updated: N/A

Getting Started

This project tests the initial LiteLLM MCP implementation with a few other MCP servers and clients. In particular the go-based mcp server and client from mark3labs

Requirements

You need to have the following installed

  • go 1.24.1
  • uv

Setup deps

uv venv --python 3.13
source .venv/bin/activate # windows -- source .venv/Scripts/active
uv pip install -r requirements.txt

# cd into each and install dependencies
cd client;go mod download; cd ..
cd server; go mod download; cd ..

Setup litellm proxy

Or via docker

docker compose up

Running MCP Go server

cd server
go mod download
go run main.go -t sse -p 8080 # transport over http network with port 8080

Running MCP Go client

# run go mcp server first on sse transport
cd client
go run main.go -mcpUri 'http://localhost:8080/sse' # connect to mcp server on uri

Testing Litellm sdk MCP client

# run go mcp server first on sse transport

# run client
cd bridge
python litellm_client.py

Testing python sdk on LiteLLM Proxy MCP

# run go litellm proxy
docker compose up

# run client
cd bridge
python mcp_client.py
# Initializing session...
# Session initialized
# Loading tools...
# Loaded 1 tools
# meta=None content=[TextContent(type='text', text='13:04', annotations=None)] isError=Fals

Testing Go client on LiteLLM proxy MCP

# run go litellm proxy
docker compose up

cd bridge
go run main.go -mcpUri http://localhost:4000/mcp
# 2025/03/29 06:02:11 Connected to server with name litellm-mcp-server
# 2025/03/29 06:02:11 Ping successful
# 2025/03/29 06:02:11 Found 1 tools
# 2025/03/29 06:02:11 Tool: get_current_time
# 2025/03/29 06:02:11 Calling get_current_time tool
# 2025/03/29 06:02:11 Result: 13:02