diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Revision history for pms-application-service
 
+## 0.0.9.0 -- 2025-12-31
+
+* Add file system tools.
+
 ## 0.0.8.0 -- 2025-09-07
 
 * Support invalidChars configs.
diff --git a/pms-application-service.cabal b/pms-application-service.cabal
--- a/pms-application-service.cabal
+++ b/pms-application-service.cabal
@@ -20,7 +20,7 @@
 -- PVP summary:     +-+------- breaking API changes
 --                  | | +----- non-breaking API additions
 --                  | | | +--- code changes with no API change
-version:            0.0.8.0
+version:            0.0.9.0
 
 -- A short (one-line) description of the package.
 synopsis:           pms-application-service
diff --git a/src/PMS/Application/Service/App/Control.hs b/src/PMS/Application/Service/App/Control.hs
--- a/src/PMS/Application/Service/App/Control.hs
+++ b/src/PMS/Application/Service/App/Control.hs
@@ -41,6 +41,9 @@
   toolsDir <- makeAbsolute $ conf^.toolsDirConfigData
   promptsDir <- makeAbsolute $ conf^.promptsDirConfigData
   resourcesDir <- makeAbsolute $ conf^.resourcesDirConfigData
+  sandboxDir <- case conf^.sandboxDirConfigData of
+    Nothing -> return Nothing
+    Just p  -> Just <$> makeAbsolute p
 
   defDom <- DM.defaultDomainData
 
@@ -50,6 +53,7 @@
   hPutStrLn stderr $ "[INFO] PMS.Application.Service.App.Control.run toolsDir: " ++ toolsDir
   hPutStrLn stderr $ "[INFO] PMS.Application.Service.App.Control.run promptsDir: " ++ promptsDir
   hPutStrLn stderr $ "[INFO] PMS.Application.Service.App.Control.run resourcesDir: " ++ resourcesDir
+  hPutStrLn stderr $ "[INFO] PMS.Application.Service.App.Control.run writabelDir: " ++ show sandboxDir
 
   let domDat = defDom {
                DM._logDirDomainData       = logDir
@@ -57,6 +61,7 @@
              , DM._toolsDirDomainData     = toolsDir
              , DM._promptsDirDomainData   = promptsDir
              , DM._resourcesDirDomainData = resourcesDir
+             , DM._sandboxDirDomainData  = sandboxDir
              , DM._promptsDomainData      = conf^.promptsConfigData
              , DM._invalidCharsDomainData = conf^.invalidCharsConfigData
              , DM._invalidCmdsDomainData  = conf^.invalidCmdsConfigData
diff --git a/src/PMS/Application/Service/DM/Type.hs b/src/PMS/Application/Service/DM/Type.hs
--- a/src/PMS/Application/Service/DM/Type.hs
+++ b/src/PMS/Application/Service/DM/Type.hs
@@ -45,6 +45,7 @@
   , _promptsDirConfigData :: FilePath
   , _resourcesDirConfigData :: FilePath
   , _workDirConfigData :: Maybe FilePath
+  , _sandboxDirConfigData :: Maybe FilePath
   , _promptsConfigData :: [String]
   , _invalidCharsConfigData :: [String]
   , _invalidCmdsConfigData :: [String]
@@ -65,6 +66,7 @@
       , _promptsDirConfigData = "pty-mcp-server/prompts"
       , _resourcesDirConfigData = "pty-mcp-server/resources"
       , _workDirConfigData = def
+      , _sandboxDirConfigData = def
       , _promptsConfigData = [
           ">>>"
         , "]#"
