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

66 lines
1.7 KiB
Markdown

# 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
```bash
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:
```bash
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)