mcp-streamable-http

mcp
SUMMARY

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

README.md

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.

Yorumlar (0)

Sonuc bulunamadi