go-sdk/examples/http/README.md
Adriel Velazquez 7a89c31c7a
Correct go run commands to run the logging file (#566)
Readme update and clarification

Targeting only the main.go doesn't add the logging file and causes
errors when finding additional functions.

```
mcp-server-testing main*​ ☸ prod-3-d 33s 
❯ go run main.go server
# command-line-arguments
./main.go:127:24: undefined: LoggingHandler

mcp-server-testing main*​ ☸ prod-3-d 
❯ go run . server      
2025/10/09 11:33:13 MCP server listening on localhost:8000
2025/10/09 11:33:13 Available tool: cityTime (cities: nyc, sf, boston)
```
2025-10-11 10:21:16 -04:00

1.7 KiB

MCP HTTP Example

This example demonstrates how to use the Model Context Protocol (MCP) over HTTP using the streamable transport. It includes both a server and client implementation.

Overview

The example implements:

  • A server that provides a cityTime tool
  • A client that connects to the server, lists available tools, and calls the cityTime tool

Usage

Start the Server

go run . server

This starts an MCP server on http://localhost:8080 (default) that provides a cityTime tool.

To run a client in another terminal:

go run . client

The client will:

  1. Connect to the server
  2. List available tools
  3. Call the cityTime tool for NYC, San Francisco, and Boston
  4. Display the results

At any given time you can pass a custom URL to the program to run it on a custom host/port:

go run . -host 0.0.0.0 -port 9000 server

Testing with real-world MCP Clients

Once the server is started, assuming it's the default localhost:8080, you can try to add it to a popular MCP client:

claude mcp add -t http timezone http://localhost:8080

Once added, Claude Code will be able to discover and use the cityTime tool provided by this server.

In Claude Code:

> what's the timezone

⏺ I'll get the current time in a major US city for you.

⏺ timezone - cityTime (MCP)(city: "nyc")
  ⎿ The current time in New York City is 7:30:16 PM EDT on Wedn
    esday, July 23, 2025


⏺ The current timezone is EDT (Eastern Daylight Time), and it's
   7:30 PM on Wednesday, July 23, 2025.

> what timezones do you support?

⏺ The timezone tool supports three US cities:
  - NYC (Eastern Time)
  - SF (Pacific Time)
  - Boston (Eastern Time)