Skip to main content
Glama
moimran
by moimran

connect_eveng_server

Establish a connection to an EVE-NG server for network emulation management by providing authentication credentials to enable subsequent operations.

Instructions

Connect to EVE-NG server and authenticate. This tool establishes a connection to the EVE-NG server using the provided credentials. The connection will be maintained for subsequent operations.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
argumentsYes

Implementation Reference

  • The core handler function for the 'connect_eveng_server' tool. It updates the EVENG client configuration with provided arguments, connects to the server, retrieves status, and returns success/error messages via TextContent.
    async def connect_eveng_server(arguments: ConnectServerArgs) -> list[TextContent]: """ Connect to EVE-NG server and authenticate. This tool establishes a connection to the EVE-NG server using the provided credentials. The connection will be maintained for subsequent operations. """ try: logger.info(f"Attempting to connect to EVE-NG server at {arguments.host}") # Update client configuration config = eveng_client.config config.eveng.host = arguments.host config.eveng.username = arguments.username config.eveng.password = arguments.password config.eveng.port = arguments.port config.eveng.protocol = arguments.protocol # Connect to server await eveng_client.connect() # Get server status for confirmation status = await eveng_client.get_server_status() result = { "status": "connected", "server": f"{arguments.protocol}://{arguments.host}:{arguments.port}", "username": arguments.username, "server_info": status } logger.info(f"Successfully connected to EVE-NG server at {arguments.host}") return [TextContent( type="text", text=f"Successfully connected to EVE-NG server!\n\n" f"Server: {arguments.protocol}://{arguments.host}:{arguments.port}\n" f"Username: {arguments.username}\n" f"Server Version: {status.get('version', 'Unknown')}\n" f"Status: {status.get('status', 'Unknown')}" )] except EVENGAuthenticationError as e: logger.error(f"Authentication failed: {e}") return [TextContent( type="text", text=f"Authentication failed: {str(e)}\n\n" f"Please check your username and password and try again." )] except EVENGConnectionError as e: logger.error(f"Connection failed: {e}") return [TextContent( type="text", text=f"Connection failed: {str(e)}\n\n" f"Please check the server address and network connectivity." )] except Exception as e: logger.error(f"Unexpected error: {e}") return [TextContent( type="text", text=f"Unexpected error occurred: {str(e)}\n\n" f"Please check your configuration and try again." )]
  • Pydantic model defining the input schema for the connect_eveng_server tool, specifying fields for host, username, password, port, and protocol with descriptions and defaults.
    class ConnectServerArgs(BaseModel): """Arguments for connect_eveng_server tool.""" host: str = Field(description="EVE-NG server hostname or IP address") username: str = Field(description="Username for authentication") password: str = Field(description="Password for authentication") port: int = Field(default=80, description="Server port (default: 80)") protocol: str = Field(default="http", description="Protocol (http/https, default: http)")
  • The registration function for connection tools, where the @mcp.tool() decorator is applied to define and register the connect_eveng_server handler.
    def register_connection_tools(mcp: "FastMCP", eveng_client: "EVENGClientWrapper") -> None: """Register connection management tools.""" @mcp.tool()
  • Top-level call to register_tools in the main server class, which chains to registering the connect_eveng_server tool.
    # Register tools register_tools(self.mcp, self.eveng_client)
  • Intermediate registration call within tools/__init__.py's register_tools function, specifically invoking the connection tools registration.
    # Connection management tools register_connection_tools(mcp, eveng_client)

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/moimran/eveng-mcp'

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