diff --git a/src/commands/smith.rs b/src/commands/smith.rs
index 3e1134ba92af9d7083e9806680ece7528b5b08fa..865a9ed70012f9c5a3bb9310e56b2955168600a1 100644
--- a/src/commands/smith.rs
+++ b/src/commands/smith.rs
@@ -38,6 +38,8 @@ pub enum Subcommand {
 	},
 	/// List online authorities
 	ShowOnline,
+	/// count of smith member
+	MemberCount,
 }
 
 /// handle smith commands
@@ -78,6 +80,18 @@ pub async fn handle_command(data: Data, command: Subcommand) -> anyhow::Result<(
 			data = data.build_client().await?;
 			online(&data).await?
 		}
+		Subcommand::MemberCount => {
+			println!(
+				"smith member count: {:?}",
+				data.client()
+					.storage()
+					.fetch(
+						&runtime::storage().smith_membership().counter_for_membership(),
+						None,
+					)
+					.await?
+			)
+		}
 	};
 
 	Ok(())