diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Revision history for pms-domain-model
 
+## 0.1.3.0 -- 2025-12-31
+
+* Add file system tools.
+
 ## 0.1.2.0 -- 2025-09-23
 
 * Support base64 image tool response.
diff --git a/pms-domain-model.cabal b/pms-domain-model.cabal
--- a/pms-domain-model.cabal
+++ b/pms-domain-model.cabal
@@ -20,7 +20,7 @@
 -- PVP summary:     +-+------- breaking API changes
 --                  | | +----- non-breaking API additions
 --                  | | | +--- code changes with no API change
-version:            0.1.2.0
+version:            0.1.3.0
 
 -- A short (one-line) description of the package.
 synopsis:           pms-domain-model
diff --git a/src/PMS/Domain/Model/DM/Type.hs b/src/PMS/Domain/Model/DM/Type.hs
--- a/src/PMS/Domain/Model/DM/Type.hs
+++ b/src/PMS/Domain/Model/DM/Type.hs
@@ -194,7 +194,7 @@
 data McpToolsCallRequestDataParams =
   McpToolsCallRequestDataParams {
     _nameMcpToolsCallRequestDataParams :: String
-  , _argumentsMcpToolsCallRequestDataParams  :: RawJsonByteString
+  , _argumentsMcpToolsCallRequestDataParams :: RawJsonByteString
   } deriving (Show, Read, Eq)
 
 $(deriveJSON defaultOptions {fieldLabelModifier = dropDataName "McpToolsCallRequestDataParams", omitNothingFields = True} ''McpToolsCallRequestDataParams)
@@ -1160,9 +1160,68 @@
 getJsonRpcCmdRunCommand (EchoCmdRunCommand    d) = d^.jsonrpcEchoCmdRunCommandData
 getJsonRpcCmdRunCommand (DefaultCmdRunCommand d) = d^.jsonrpcDefaultCmdRunCommandData
 
+
 --------------------------------------------------------------------------------
 -- |
 --
+data EchoFileSystemCommandData =
+  EchoFileSystemCommandData {
+    _jsonrpcEchoFileSystemCommandData :: JsonRpcRequest
+  , _valueEchoFileSystemCommandData   :: String
+  } deriving (Show, Read, Eq)
+
+makeLenses ''EchoFileSystemCommandData
+
+-- |
+--
+data WriteFileFileSystemCommandData =
+  WriteFileFileSystemCommandData {
+    _jsonrpcWriteFileFileSystemCommandData   :: JsonRpcRequest
+  , _argumentsWriteFileFileSystemCommandData :: RawJsonByteString
+  } deriving (Show, Read, Eq)
+
+makeLenses ''WriteFileFileSystemCommandData
+
+-- |
+--
+data ReadFileFileSystemCommandData =
+  ReadFileFileSystemCommandData {
+    _jsonrpcReadFileFileSystemCommandData   :: JsonRpcRequest
+  , _argumentsReadFileFileSystemCommandData :: RawJsonByteString
+  } deriving (Show, Read, Eq)
+
+makeLenses ''ReadFileFileSystemCommandData
+
+-- |
+--
+data ListDirFileSystemCommandData =
+  ListDirFileSystemCommandData {
+    _jsonrpcListDirFileSystemCommandData   :: JsonRpcRequest
+  , _argumentsListDirFileSystemCommandData :: RawJsonByteString
+  } deriving (Show, Read, Eq)
+
+makeLenses ''ListDirFileSystemCommandData
+
+-- |
+--
+data FileSystemCommand =
+    EchoFileSystemCommand EchoFileSystemCommandData
+  | ListDirFileSystemCommand ListDirFileSystemCommandData
+  | ReadFileFileSystemCommand ReadFileFileSystemCommandData
+  | WriteFileFileSystemCommand WriteFileFileSystemCommandData
+  deriving (Show, Read, Eq)
+
+-- |
+--
+getJsonRpcFileSystemCommand :: FileSystemCommand -> JsonRpcRequest
+getJsonRpcFileSystemCommand (EchoFileSystemCommand d)      = d^.jsonrpcEchoFileSystemCommandData
+getJsonRpcFileSystemCommand (ListDirFileSystemCommand d)   = d^.jsonrpcListDirFileSystemCommandData
+getJsonRpcFileSystemCommand (ReadFileFileSystemCommand d)  = d^.jsonrpcReadFileFileSystemCommandData
+getJsonRpcFileSystemCommand (WriteFileFileSystemCommand d) = d^.jsonrpcWriteFileFileSystemCommandData
+
+--------------------------------------------------------------------------------
+-- |
+--
 data EchoWatchCommandData =
   EchoWatchCommandData {
     _jsonrpcEchoWatchCommandData :: JsonRpcRequest
@@ -1460,11 +1519,13 @@
   , _toolsDirDomainData          :: String
   , _promptsDirDomainData        :: String
   , _resourcesDirDomainData      :: String
+  , _sandboxDirDomainData       :: Maybe String
   , _requestQueueDomainData      :: TQueue McpRequest
   , _responseQueueDomainData     :: TQueue McpResponse
   , _notificationQueueDomainData :: TQueue McpNotification
   , _commandQueueDomainData      :: TQueue Command
   , _cmdRunQueueDomainData       :: TQueue CmdRunCommand
+  , _fileSystemQueueDomainData   :: TQueue FileSystemCommand
   , _watchQueueDomainData        :: TQueue WatchCommand
   , _procspawnQueueDomainData    :: TQueue ProcSpawnCommand
   , _socketQueueDomainData       :: TQueue SocketCommand
@@ -1492,6 +1553,7 @@
   notQ <- newTQueueIO
   cmdQ <- newTQueueIO
   cmdRunQ <- newTQueueIO
+  fileSystemQ <- newTQueueIO
   watchQ  <- newTQueueIO
   procQ   <- newTQueueIO
   socketQ   <- newTQueueIO
@@ -1502,11 +1564,13 @@
          , _toolsDirDomainData          = "pty-mcp-server/tools"
          , _promptsDirDomainData        = "pty-mcp-server/prompts"
          , _resourcesDirDomainData      = "pty-mcp-server/resources"
+         , _sandboxDirDomainData       = Nothing
          , _requestQueueDomainData      = reqQ
          , _responseQueueDomainData     = resQ
          , _notificationQueueDomainData = notQ
          , _commandQueueDomainData      = cmdQ
          , _cmdRunQueueDomainData       = cmdRunQ
+         , _fileSystemQueueDomainData   = fileSystemQ
          , _watchQueueDomainData        = watchQ
          , _procspawnQueueDomainData    = procQ
          , _socketQueueDomainData       = socketQ
