create_groups
Automate wallet group creation for crypto management on Armor Crypto MCP. Input group names to generate structured responses for efficient blockchain operations.
Instructions
Create new wallet groups.
Expects a list of group names, returns a list of CreateGroupResponse.Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| create_groups_requests | Yes |
Implementation Reference
- armor_crypto_mcp/armor_mcp.py:322-335 (handler)MCP tool handler for 'create_groups'. This is the main execution function decorated with @mcp.tool(), which also serves as the registration. It calls the armor_client.create_groups method.
@mcp.tool() async def create_groups(create_groups_requests: CreateGroupsRequestContainer) -> List[CreateGroupResponse]: """ Create new wallet groups. Expects a list of group names, returns a list of CreateGroupResponse. """ if not armor_client: return [{"error": "Not logged in"}] try: result: List[CreateGroupResponse] = await armor_client.create_groups(create_groups_requests) return result except Exception as e: return [{"error": str(e)}] - Input schema container for the create_groups tool, holding a list of CreateGroupsRequest.
class CreateGroupsRequestContainer(BaseModel): create_groups_requests: List[CreateGroupsRequest] - Inner input schema defining the 'name' field for creating a group.
class CreateGroupsRequest(BaseModel): name: str = Field(description="Name of the group to create") - Output schema for create_groups response.
class CreateGroupResponse(BaseModel): id: str = Field(description="id of the group") name: str = Field(description="name of the group") is_archived: bool = Field(description="whether the group is archived") - Helper method in ArmorWalletAPIClient that performs the actual HTTP API call to create groups.
async def create_groups(self, data: CreateGroupsRequest) -> List[CreateGroupResponse]: """Create new wallet groups given a list of group names.""" # payload = json.dumps([{"name": group_name} for group_name in data.group_names]) payload = data.model_dump(exclude_none=True)['create_groups_requests'] return await self._api_call("POST", "wallets/groups/", payload)