Skip to content

MCP Streamable Http

Example implementation of MCP Streamable HTTP client/server in Python and TypeScript.

Install

$git clone https://github.com/invariantlabs-ai/mcp-streamable-http

Install command taken from the project's README or registry entry. Always review code before running it.

MCP Streamable HTTP – Python and Typescript Examples

This repository provides example implementations of MCP (Model Context Protocol) Streamable HTTP client and server in Python and Typescript, based on the specification: 📄 MCP Streamable HTTP Spec.

You can set up a client + server stack entirely using either Python or TypeScript. This example also demonstrates cross-language compatibility, allowing a Python client to communicate with a TypeScript server, and vice-versa.

🚀 Getting Started

1. Clone the Repository

git clone https://github.com/invariantlabs-ai/mcp-streamable-http.git
cd python-example

2. Python Example

1. Add Your Anthropic API Key

Update the .env file inside the python-example/client directory with the following content:

ANTHROPIC_API_KEY=your_api_key_here

2. Set Up the Server

cd python-example/server
pip install .
python weather.py

By default, the server will start at http://localhost:8123.
If you'd like to specify a different port, use the --port flag:

python weather.py --port=9000

3. Set Up the Client

cd ../client
pip install .

4. Run the Client

python client.py

This will start an interactive chat loop using the MCP Streamable HTTP protocol.
If you started the MCP server on a different port, specify it using the --mcp-localhost-port flag:

python client.py --mcp-localhost-port=9000

3. Typescript Example

1. Add Your Anthropic API Key

Update the .env file inside the typescript-example/client directory with the following content:

ANTHROPIC_API_KEY=your_api_key_here

2. Set Up the Server

cd typescript-example/server
npm install && npm run build
node build/index.js

By default, the server will start at http://localhost:8123.
If you'd like to specify a different port, use the --port flag:

node build/index.js --port=9000

3. Set Up the Client

cd ../client
npm install && npm run build

4. Run the Client

node build/index.js

This will start an interactive chat loop using the MCP Streamable HTTP protocol.
If you started the MCP server on a different port, specify it using the --mcp-localhost-port flag:

node build/index.js --mcp-localhost-port=9000

💬 Example Queries

In the client chat interface, you can ask questions like:

  • “Are there any weather alerts in Sacramento?”
  • “What’s the weather like in New York City?”
  • “Tell me the forecast for Boston tomorrow.”

The client will forward requests to the local MCP weather server and return the results using Anthropic’s Claude language model. The MCP transport layer used will be Streamable HTTP.

Similar plugs

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

Java 面试 & 后端通用面试指南,覆盖计算机基础、数据库、分布式、高并发、系统设计与 AI 应用开发

Build Agentic workflows, RAG pipelines, with rich AI model and tool support on one collaborative workspace. Deploy on cloud, VPC, or self-hosted, so teams move from prototype…

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

Explore related