experimental-ext-variants/go/sdk/examples/server/trading
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Kurt Degiorgio e1c17e047f
Add example servers for SEP-2053 variant patterns (#4)
Add four new example servers demonstrating different SEP-2053 variant
patterns:

- model-optimized (same tools, different descriptions per LLM family)
- trading (API versioning with deprecation lifecycle)
- research (context budget management)
- Refactor the existing variants-http example into a GitHub-style server
with custom ranking.

Signed-off-by: Kurt Degiorgio <kdegiorgio@bloomberg.net>
2026-03-01 12:42:43 +05:30
..
main.go Add example servers for SEP-2053 variant patterns (#4) 2026-03-01 12:42:43 +05:30
README.md Add example servers for SEP-2053 variant patterns (#4) 2026-03-01 12:42:43 +05:30
tools.go Add example servers for SEP-2053 variant patterns (#4) 2026-03-01 12:42:43 +05:30

Trading Platform

A variant-aware MCP server demonstrating API versioning and lifecycle management. Uses all three variant statuses (stable, experimental, deprecated) and DeprecationInfo to guide clients through API migrations.

Pattern demonstrated: Variant lifecycle, deprecation info, API versioning.

Variants

Variant Status Tools Description
v2-stable Stable place_order, get_quotes, get_portfolio, cancel_order Production API
v3-preview Experimental place_order_v3, stream_quotes, get_portfolio_v3 Next-gen API with streaming
v1-legacy Deprecated trade, quote, balance Legacy API, removal date 2026-06-30
analysis-only Stable get_quotes, get_portfolio, get_historical_data Read-only analytics subset

Deprecation Info

The v1-legacy variant includes DeprecationInfo with a replacement and scheduled removal date, demonstrating how servers communicate migration paths to clients:

{
  "deprecationInfo": {
    "message": "v1 API is deprecated. Migrate to v2-stable for improved order types, multi-symbol quotes, and portfolio tracking.",
    "replacement": "v2-stable",
    "removalDate": "2026-06-30"
  }
}

Run

go run ./examples/server/trading

The server listens on http://localhost:8080.