Skip to main content
Glama
jonigl

Simple MCP Server with Streamable HTTP Example

by jonigl
README.md
# A simple MCP server with streamable HTTP transport Example
This example demonstrates how to create a simple MCP server with streamable HTTP transport, featuring several tools, prompts, and resources.

## Run

By default, the server runs on port **8000**.

```bash
python simple_streamable_http_mcp_server.py
```

Or with [uv](https://github.com/astral-sh/uv):

```bash
uv run mcp-server
```

## Custom Port

Change the port (default is 8000):

```bash
MCP_SERVER_PORT=9000 python simple_streamable_http_mcp_server.py
```

## Debug Logging

Enable debug logs for tool calls:

```bash
MCP_DEBUG=1 python simple_streamable_http_mcp_server.py
```

## Both Together

```bash
MCP_SERVER_PORT=9000 MCP_DEBUG=1 python simple_streamable_http_mcp_server.py
```

## Tools
- `hello_world(name)` - Say hello
- `add_numbers(a, b)` - Add two numbers
- `random_number(min_val, max_val)` - Generate random number
- `return_json_example()` - Return example JSON
- `calculate_bmi(weight, height)` - Calculate BMI
- `get_logo()` - Return the OllMCP logo image

## Prompts
- `BMI Calculator` - Prompt for BMI calculation

## Resources
- `server://info` - Get server info
- `text://welcome` - Get a welcome message
- `images://ollmcp-logo` - Get the OllMCP logo image
- `file://{path*}` - Read a local text file by path