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)