Skip to main content
Glama
ahmetacn

HoPe Chatbot MCP Server

by ahmetacn

HoPe Chatbot MCP-Server

Verwendet FastMCP v3.

Aus Gründen der Code-Organisation ist die MCP-Funktionalität in logische Module, MCP-Subserver, aufgeteilt.

Der Haupt-MCP-Server kann Sub-Domain-MCP-Server importieren/mounten. (mcp_server/app.py)

Entwicklung

Definiere deine Fähigkeiten, aufgeteilt in komponierbare MCP-Server.

Definiere neue MCP-Tools, Ressourcen, Prompts, ... für die <some>-Domäne für die <some>-Geschäftsfähigkeit in einem <some>-MCP-Subserver in mcp_server/servers/<some>/mcp.py.

MCP-Server-Fähigkeiten bereitstellen

Entscheide, wie deine MCP-Tools, Ressourcen, Prompts usw. verfügbar sein sollen:

  • in 1 kombinierten MCP-Server (All-in-One) 🌐

  • nur als separater MCP-Server 🔒🪪

  • beides ✨

All-in-One-MCP-Server

Füge den Sub-Domain-MCP-Server in den kombinierten MCP-Server ein.

Folge diesen Schritten in mcp_server/app.py:

  • Importiere deine FastMCP-App

    from mcp_server.servers.some import some_mcp
  • Finde den definierten Haupt-MCP-Server. Füge Fähigkeiten deines MCP-Servers zum Haupt-MCP-Server hinzu in der Start-/Setup-Lebenszyklusphase des Haupt-MCP-Servers

    async def setup(app: FastMCP):
        # Import or mount subservers
    
        app.mount(some_mcp)  # dynamic mount
        # await app.import_server(some_mcp)  # static copy
    
    
    @contextlib.asynccontextmanager
    async def lifespan(app: FastMCP):
        # Setup
        await setup(app)
        yield
        # Cleanup
    
    main_mcp = FastMCP(
        name="home-of-performance-mcp-server",
        lifespan=lifespan
    )
    
  • Der kombinierte Haupt-MCP-Server enthält die Fähigkeiten deines MCP-Servers unter: BASE_URL/mcp.

    Das sollte für den in allen Fällen ausgeführten kombinierten Haupt-MCP-Server gelten:

    • mcp_server/app.py als Modul ausgeführt

      • FastMCP.run-Methode Methode

    • mcp_server/app.py mit uvicorn ausgeführt

      • FastMCP.http_app

        • Die ASGI-App deines MCP-Servers, die in die FastAPI-App eingebunden ist, wobei uvicorn auf die FastAPI-ASGI-App zugreift

        • (uvicorn, das auf deine ASGI direkt zugreift, funktioniert auch)

Separater MCP-Server

Stelle einen separaten Sub-Domain-MCP-Server bereit.

Folge diesen Schritten in mcp_server/app.py:

  • Importiere deine FastMCP-App

    from mcp_server.servers.some import some_mcp
  • Erstelle eine ASGI-App aus deiner FastMCP-App

    (kein Neudefinieren des Kwargs path="/mcp" nötig)

    some_mcp_app = some_mcp.http_app()
  • Füge die Lebenszyklusphase deiner FastMCP-App zur kombinierten Lebenszyklusphase hinzu, die von der FastAPI-App verwendet wird

    @contextlib.asynccontextmanager
    async def combined_lifespan(app: FastAPI):
        """Combine lifespans for FastAPI app"""
        # Run all lifespans
        async with main_mcp_app.lifespan(app):
            async with some_mcp_app.lifespan(app):
                # Setup
                yield
                # Cleanup
    
    fastapi_app = FastAPI(
        title="Home of Performance MCP",
        lifespan=combined_lifespan
    )
  • Binde die ASGI-App deines MCP-Servers unter dem Pfad /some pfad in die FastAPI-App ein

    fastapi_app.mount("/some", some_mcp_app)
    
  • Finde deinen separaten MCP-Server unter: BASE_URL/some/mcp

Related MCP server: Golf

Lokale Ausführung

  • Definiere Umgebungsvariablen in .env gemäß .env.template (tue keine Secrets committen)

  • Installiere die benötigten Python-Pakete aus requirements.txt

  • Starte die FastMCP-App über die run-Methode

    python -m mcp_server.app

    oder führe die FastAPI-App mit integrierten MCP-Server(n) über gunicorn, uvicorn aus ...

    source source .venv/bin/activate && uvicorn src.app:app --host 0.0.0.0 --port 8000 --reload

F
license - not found
Not graded
quality - not tested
C
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
    Not graded
    quality
    D
    maintenance
    Enables dynamic loading, hot-reloading, and orchestration of MCP servers without restarting Claude Code, allowing programmatic tool calling and workflow automation across multiple servers.
    2
  • A
    license
    Not graded
    quality
    C
    maintenance
    Easiest framework for building MCP servers with automatic discovery of tools, prompts, and resources, plus enterprise-grade authentication and telemetry.
    837
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables building MCP servers with embedded reasoning, allowing complex tasks to be offloaded to an internal LLM for token and cost efficiency.
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Aggregates multiple MCP servers into a single endpoint, enabling LLM clients to access tools, resources, and prompts from various backends through one connection.
    15
    MIT

View all related MCP servers

Related MCP Connectors

  • MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

  • MCP Hub: AI service discovery, per-user OAuth, and multi-service workflow orchestration

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/ahmetacn/axis-chart-mcp'

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