http

command
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 30, 2025 License: MIT Imports: 8 Imported by: 0

README

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 main.go 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 main.go 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 main.go -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)

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL