Skip to main content
Glama
ahmetacn

HoPe Chatbot MCP Server

by ahmetacn

HoPe Chatbot MCP Server

Usa FastMCP v3.

Por razones de organización del código, la funcionalidad de MCP se divide en módulos lógicos, subservidores MCP.

El servidor MCP principal puede importar/montar subservidores MCP de subdominio. (mcp_server/app.py)

Desarrollo

Define tus capacidades como servidores MCP separados y componibles.

Define nuevas herramientas, recursos y prompts de MCP... para el dominio <some> para la capacidad de negocio <some> en el subservidor MCP <some> en mcp_server/servers/<some>/mcp.py.

Exponer las capacidades del servidor MCP

Decide cómo quieres que tus herramientas, recursos y prompts de MCP estén disponibles:

  • en 1 servidor MCP combinado (todo en uno) 🌐

  • solo como servidor MCP separado 🔒🪪

  • ambos ✨

Servidor MCP todo en uno

Incluye el servidor MCP de subdominio en el servidor MCP combinado.

Sigue estos pasos en mcp_server/app.py:

  • Importa tu aplicación FastMCP

    from mcp_server.servers.some import some_mcp
  • Localiza el servidor MCP principal definido. Añade las capacidades de tu servidor MCP al servidor MCP principal en la fase de inicio/configuración del lifespan del servidor MCP principal

    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
    )
    
  • El servidor MCP combinado principal contiene las capacidades de tu servidor MCP en: BASE_URL/mcp.

    Esto debe ser cierto para el servidor MCP combinado principal ejecutado en todos los casos:

    • mcp_server/app.py ejecutado como módulo

      • método FastMCP.run

    • mcp_server/app.py ejecutado con uvicorn

      • FastMCP.http_app

        • aplicación ASGI de tu servidor MCP montada en la aplicación FastAPI, uvicorn accediendo a la aplicación ASGI de FastAPI

        • (uvicorn accediendo directamente a tu ASGI también funcionará)

Servidor MCP separado

Expón un servidor MCP de subdominio separado.

Sigue estos pasos en mcp_server/app.py:

  • Importa tu aplicación FastMCP

    from mcp_server.servers.some import some_mcp
  • Crea la aplicación ASGI desde tu aplicación FastMCP

    (no hace falta redefinir el kwarg path="/mcp")

    some_mcp_app = some_mcp.http_app()
  • Añade el lifespan de tu aplicación FastMCP al lifespan combinado usado por la aplicación FastAPI

    @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
    )
  • Monta la aplicación ASGI de tu servidor MCP en la aplicación FastAPI bajo la ruta /some

    fastapi_app.mount("/some", some_mcp_app)
    
  • Encontrarás tu servidor MCP separado en: BASE_URL/some/mcp

Related MCP server: Golf

Ejecución local

  • Define las variables de entorno en .env según .env.template (no hagas commit de secretos)

  • Instala los paquetes de Python necesarios desde requirements.txt

  • Inicia la aplicación FastMCP mediante el método run

    python -m mcp_server.app

    o ejecuta la aplicación FastAPI con los servidor(es) MCP montados en ella mediante gunicorn, uvicorn...

    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