Examples
Examples
The [github.com/localrivet/gomcp/examples] directory contains various client/server pairs demonstrating specific features, transports, and integrations:
- Basic Usage:
basic/
: Simple stdio communication with multiple tools.hello-demo/
: Minimal example showcasing tool, prompt, and resource registration (stdio).client_helpers_demo/
: Demonstrates client-side helpers for configuration loading and tool calls.
- Network Transports:
http/
: Integration with various Go HTTP frameworks using the Streamable HTTP (SSE) transport (includes Gin, Echo, Chi, Fiber, etc.).websocket/
: Demonstrates the WebSocket transport.
- Configuration & Deployment:
configuration/
: Loading server configuration from files (JSON, YAML, TOML).cmd/
: Generic command-line client and server implementations configurable for different transports.
- Advanced Features:
auth/
: Simple API key authentication hook example (stdio).rate-limit/
: Example of rate limiting client requests (stdio).kitchen-sink/
: Comprehensive server example combining multiple features (stdio).code-assistant/
: Example server providing code review/documentation tools.meta-tool-demo/
: Server demonstrating a tool that calls other tools.
Running Examples:
- Navigate to an example’s server directory (e.g.,
cd examples/websocket/server
). - Run the server:
go run .
- In another terminal, navigate to the corresponding client directory (e.g.,
cd examples/websocket/client
). - Run the client:
go run .
(Check the specific README within each example directory for more detailed instructions if available.)