| """ |
| MCP Tool: get_feature_list |
| Get the list of supported advanced features along with their usage constraints and parameter schemas. |
| """ |
|
|
| from .common import _load_yaml, _CHAIN_FEATURES_PATH |
|
|
|
|
| def handle_get_feature_list() -> list: |
| """Dynamically load the list of supported advanced features from chain_features.yaml.""" |
| chain_features = _load_yaml(_CHAIN_FEATURES_PATH) |
| result = [] |
|
|
| for chain_name, chain_data in chain_features.items(): |
| if chain_data.get("visibility", "public") != "public": |
| continue |
|
|
| entry = { |
| "feature_name": chain_name, |
| "display_name": chain_data.get("display_name", chain_name), |
| "description": chain_data.get("description", ""), |
| "supported_tasks": chain_data.get("supported_tasks", []), |
| "max_count": chain_data.get("max_count", 1), |
| "usage_guideline": chain_data.get("usage_guideline", ""), |
| "parameters_schema": chain_data.get("parameters_schema", {}), |
| } |
| result.append(entry) |
|
|
| return result |
|
|