get_server_info
Discover server capabilities, available tools, supported file formats, and resource limits to plan data workflows effectively.
Instructions
Get DataBeak server capabilities and supported operations.
Returns server version, available tools, supported file formats, and resource limits. Use to discover what operations are available before planning workflows.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- The main async handler function that executes the get_server_info tool logic, returning DataBeak server capabilities, version, and configuration limits using ServerInfoResult model.async def get_server_info( ctx: Annotated[Context, Field(description="FastMCP context for progress reporting")], ) -> ServerInfoResult: """Get DataBeak server capabilities and supported operations. Returns server version, available tools, supported file formats, and resource limits. Use to discover what operations are available before planning workflows. """ await ctx.info("Retrieving DataBeak server information") # Get current configuration settings settings = get_settings() server_info = ServerInfoResult( name="DataBeak", version=__version__, description="A comprehensive MCP server for CSV file operations and data analysis", capabilities={ "data_io": [ "load_csv_from_url", "load_csv_from_content", ], "data_manipulation": [ "filter_rows", "sort_data", "select_columns", "rename_columns", "add_column", "remove_columns", "change_column_type", "fill_missing_values", "remove_duplicates", "null_value_support", # Explicitly mention null support ], "data_analysis": [ "get_statistics", "correlation_matrix", "group_by_aggregate", "value_counts", "detect_outliers", "profile_data", ], "data_validation": [ "validate_schema", "check_data_quality", "find_anomalies", ], "session_management": [ "multi_session_support", "session_isolation", "auto_cleanup", ], "null_handling": [ "json_null_support", "python_none_support", "pandas_nan_compatibility", "null_value_insertion", "null_value_updates", ], }, max_download_size_mb=settings.max_download_size_mb, session_timeout_minutes=settings.session_timeout // 60, ) await ctx.info("Server information retrieved successfully") return server_info
- Pydantic output schema model ServerInfoResult defining the structure of the server information response.class ServerInfoResult(BaseToolResponse): """Response model for server information and capabilities.""" name: str = Field(description="Server name and identification") version: str = Field(description="Current server version") description: str = Field(description="Server description and purpose") capabilities: dict[str, list[str]] = Field( description="Available operations organized by category", ) max_download_size_mb: int = Field(description="Maximum download size from URLs in MB") session_timeout_minutes: int = Field(description="Default session timeout in minutes")
- src/databeak/servers/system_server.py:270-270 (registration)FastMCP tool registration binding the get_server_info handler function to the tool name 'get_server_info'.system_server.tool(name="get_server_info")(get_server_info)