create_groups
Organize cryptocurrency wallets into named groups for better management and categorization within the Armor Crypto MCP server.
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-336 (handler)MCP tool handler for 'create_groups': decorated with @mcp.tool(), validates input, calls armor_client.create_groups(), handles errors and returns List[CreateGroupResponse] or error.@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)}]
- Pydantic input schema container for create_groups tool: holds list of CreateGroupsRequest objects.class CreateGroupsRequestContainer(BaseModel): create_groups_requests: List[CreateGroupsRequest]
- Pydantic schema for individual group creation request: contains the group 'name'.class CreateGroupsRequest(BaseModel): name: str = Field(description="Name of the group to create")
- Pydantic output schema for created group: includes id, name, is_archived.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 prepares payload from container and makes POST API call to /wallets/groups/ 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)