test-http-mcp
Demo Model Context Protocol (MCP) server implemented in Python using the
http-mcp
package. It can run over HTTP (Starlette/Uvicorn) or over stdio,
exposing example Tools and Prompts to any MCP-capable client.
Requirements
- Python 3.13
uv
(recommended) orpip
Install
Using uv
(recommended):
Using pip
(alternative):
Run (HTTP mode)
Starts a Starlette app and mounts the MCP server under /mcp
on port 8000.
Example .cursor/mcp.json
:
Usage with Gemini
:
Run (stdio mode)
Use with Cursor or other MCP clients
Example .cursor/mcp.json
entry to connect via stdio:
What this server exposes
- Tools (see
app/tools.py
):get_weather(location: str, unit: str = "celsius") -> { weather: str }
get_time() -> { time: str }
tool_that_access_request(username: str) -> { message: str }
(readsAuthorization
from the incoming request headers)get_called_tools() -> { called_tools: string[] }
- Prompts (see
app/prompts.py
):get_advice(topic: str, include_actionable_steps: bool = false)
→ returns a single user message template
Project scripts
Two console entry points are defined in pyproject.toml
:
run-app
→app.main:run_http
run-stdio
→app.main:run_stdio
Development
Common tasks (using uv
):
Implementation notes
- The Starlette app is defined in
app/main.py
and mountshttp_mcp.server.MCPServer
at/mcp
. - Tool inputs/outputs are validated with Pydantic v2 models; async tool
functions receive a typed
ToolArguments
withinputs
,context
, and (in HTTP mode)request
. - A simple
Context
keeps track of called tool names during a session.
License
MIT — see LICENSE
.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
A demonstration MCP server that provides example tools for weather queries, time retrieval, and request handling, along with advice prompts. Supports both HTTP and stdio modes for testing MCP client integrations.
- Requirements
- Install
- Run (HTTP mode)
- Run (stdio mode)
- Use with Cursor or other MCP clients
- What this server exposes
- Project scripts
- Development
- Implementation notes
- License
Related Resources
Related MCP Servers
- -securityAlicense-qualityA test server implementing all features of the MCP protocol, including prompts, tools, resources, and sampling, designed for testing MCP clients rather than practical applications.Last updated -PythonMIT License
- -securityFlicense-qualityAn MCP server implementation that allows users to fetch and display weather information for specified cities, including temperature, humidity, wind speed, and weather descriptions.Last updated -1Python
- AsecurityFlicenseAqualityA simple MCP server that provides a tool to fetch current weather information for cities using the Open-Meteo API, communicating through stdin/stdout.Last updated -12TypeScript
- AsecurityAlicenseAqualitymcp server for weather information queryLast updated -2PythonApache 2.0