hot-update-MCP-Server

whitejoce/hot-update-MCP-Server

3.1

If you are the rightful owner of hot-update-MCP-Server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

This is a hot update server example based on the FastMCP framework, allowing dynamic loading and updating of utility functions without restarting the server.

The MCP Hot Update Server Demo is a practical implementation of a server that utilizes the FastMCP framework to enable dynamic loading and updating of utility functions. This server is designed to operate without the need for a restart, making it highly efficient for environments where uptime is critical. The server supports real-time hot updates, allowing developers to manage and update tools via JSON configuration files. It also includes detailed error handling and logging to ensure smooth operation and easy troubleshooting. The server is built with security in mind, although additional measures are recommended for production environments, such as code signature verification and sandboxing.

Features

  • Supports dynamic loading of utility functions
  • Manage tools via JSON configuration files
  • Real-time hot update capability
  • Detailed error handling and logging

Usages

usage with local integration

python
mcp.run(transport='stdio')  # Tools defined via @mcp.tool() decorator

usage with remote integration sse

python
mcp.run(transport='sse', host="0.0.0.0", port=8000)  # Specify SSE endpoint

usage with remote integration streamable http

yaml
paths:
  /mcp:
    post:
      x-ms-agentic-protocol: mcp-streamable-1.0  # Copilot Studio integration

usage with platform integration github

{"command": "docker", "args": ["run", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", "ghcr.io/github/github-mcp-server"]}

usage with platform integration atlassian

{
  "mcpServers": {
    "jira": {
      "command": "python",
      "args": ["jira_tool.py"]
    }
  }
}

usage with development framework fastmcp

python
from mcp.server import FastMCP
app = FastMCP('demo')
@app.tool()
async def query(): ...