diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Revision history for pms-ui-request
 
+## 0.0.4.0 -- 2025-07-06
+
+* Added resources interface.
+
 ## 0.0.3.0 -- 2025-06-29
 
 * Added prompts interface.
diff --git a/pms-ui-request.cabal b/pms-ui-request.cabal
--- a/pms-ui-request.cabal
+++ b/pms-ui-request.cabal
@@ -20,7 +20,7 @@
 -- PVP summary:     +-+------- breaking API changes
 --                  | | +----- non-breaking API additions
 --                  | | | +--- code changes with no API change
-version:            0.0.3.0
+version:            0.0.4.0
 
 -- A short (one-line) description of the package.
 synopsis:           pms-ui-request
diff --git a/src/PMS/UI/Request/DS/Core.hs b/src/PMS/UI/Request/DS/Core.hs
--- a/src/PMS/UI/Request/DS/Core.hs
+++ b/src/PMS/UI/Request/DS/Core.hs
@@ -112,9 +112,12 @@
 decodeReq "tools/list" _ req = pure . DM.McpToolsListRequest . DM.McpToolsListRequestData $ req
 decodeReq "tools/call" (Just (DM.RawJsonByteString rawJson)) req = DM.McpToolsCallRequest . DM.McpToolsCallRequestData req <$> (liftEither (eitherDecode rawJson))
 decodeReq "prompts/list" _ req = pure . DM.McpPromptsListRequest . DM.McpPromptsListRequestData $ req
+decodeReq "prompts/get" (Just (DM.RawJsonByteString rawJson)) req = DM.McpPromptsGetRequest . DM.McpPromptsGetRequestData req <$> (liftEither (eitherDecode rawJson))
+decodeReq "resources/templates/list" _ req = pure . DM.McpResourcesTemplatesListRequest . DM.McpResourcesTemplatesListRequestData $ req
+decodeReq "resources/list" _ req = pure . DM.McpResourcesListRequest . DM.McpResourcesListRequestData $ req
+decodeReq "resources/read" (Just (DM.RawJsonByteString rawJson)) req = DM.McpResourcesReadRequest . DM.McpResourcesReadRequestData req <$> (liftEither (eitherDecode rawJson))
 decodeReq "notifications/initialized" Nothing req = pure . DM.McpInitializedNotification . DM.McpInitializedNotificationData $ req
 decodeReq "notifications/cancelled" (Just (DM.RawJsonByteString rawJson)) req = DM.McpCancelledNotification . DM.McpCancelledNotificationData req <$> (liftEither (eitherDecode rawJson))
 decodeReq "completion/complete" (Just (DM.RawJsonByteString rawJson)) req = DM.McpCompletionCompleteRequest . DM.McpCompletionCompleteRequestData req <$> (liftEither (eitherDecode rawJson))
-decodeReq "prompts/get" (Just (DM.RawJsonByteString rawJson)) req = DM.McpPromptsGetRequest . DM.McpPromptsGetRequestData req <$> (liftEither (eitherDecode rawJson))
 decodeReq _ _ req = throwError $ "unsupported method: " ++ show req
 
