Skip to main content
Glama
gcordova17

map-server

by gcordova17

Example MCP Server (Streamable HTTP)

A minimal MCP server built on the official Python SDK (mcp==2.0.0), running over Streamable HTTP so it can live in a container and be reached over the network.

It ships with two demo tools (echo, add) and one resource (time://now) so you have something to test against immediately — replace them with your own.

Run it

docker compose up -d --build
docker compose logs -f mcp-server

The server listens on http://localhost:8000/mcp.

Related MCP server: http-mcp-server

Test it without a client

curl -i -X POST http://localhost:8000/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"test","version":"0.1"}}}'

The response headers include mcp-session-id — reuse it in an Mcp-Session-Id header on subsequent calls (tools/list, tools/call, resources/read, etc.) once you've sent a notifications/initialized message.

Point a client at it

Any MCP client that supports Streamable HTTP just needs the URL: http://localhost:8000/mcp (or your host's address/port if not running locally).

Add your own tools

@mcp.tool()
def my_tool(arg: str) -> str:
    """This docstring becomes the tool description the model sees."""
    return do_something(arg)

Resources (@mcp.resource("scheme://path")) and prompts (@mcp.prompt()) follow the same pattern. Restart the container after changes:

docker compose up -d --build

Notes

  • MCP_HOST / MCP_PORT env vars control what the server binds to inside the container — leave MCP_HOST=0.0.0.0 or it won't be reachable from outside the container.

  • This has no authentication. Fine for local/dev use behind localhost:8000; if you expose it beyond your machine, put it behind a reverse proxy or gateway that handles auth (or use the SDK's built-in OAuth support via token_verifier/auth_server_provider).

  • The old from mcp.server.fastmcp import FastMCP import path some tutorials still show is gone as of mcp==2.0.0 — it's now from mcp.server import MCPServer.

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    -
    quality
    D
    maintenance
    A minimal Model Context Protocol (MCP) server that uses streamable HTTP transport to provide demo tools for calculations, notes, and time. It serves as a standalone example for testing MCP connectivity and gateway registration through a standard HTTP endpoint.
  • A
    license
    -
    quality
    B
    maintenance
    Mock HTTP server implementing MCP (Model Context Protocol) with streamable HTTP transport, health endpoint, and example tools like echo and time.
    270
    MIT
  • A
    license
    -
    quality
    D
    maintenance
    A simple MCP server that provides a tool to get the current server time and a resource with demo information, useful for testing MCP functionality.
    2,486
    MIT
  • F
    license
    -
    quality
    C
    maintenance
    A minimal MCP server offering a hello_world tool that returns a greeting and current UTC time via streamable HTTP.

View all related MCP servers

Related MCP Connectors

  • Streamable HTTP MCP server for Google Calendar and Sheets with OAuth login.

  • A basic MCP server to operate on the Postman API.

  • MCP server for the FFmpeg Micro video transcoding API — create, monitor, download transcodes.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/gcordova17/mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server