@@ -736,12 +736,31 @@ public Mono<McpSchema.ListResourcesResult> listResources() {
736736 * @see #readResource(McpSchema.Resource)
737737 */
738738 public Mono <McpSchema .ListResourcesResult > listResources (String cursor ) {
739+ return this .listResourcesInternal (cursor , null );
740+ }
741+
742+ /**
743+ * Retrieves a paginated list of resources provided by the server. Resources represent
744+ * any kind of UTF-8 encoded data that an MCP server makes available to clients, such
745+ * as database records, API responses, log files, and more.
746+ * @param cursor Optional pagination cursor from a previous list request
747+ * @param meta Optional metadata to include in the request (_meta field)
748+ * @return A Mono that completes with the list of resources result.
749+ * @see McpSchema.ListResourcesResult
750+ * @see #readResource(McpSchema.Resource)
751+ */
752+ public Mono <McpSchema .ListResourcesResult > listResources (String cursor , java .util .Map <String , Object > meta ) {
753+ return this .listResourcesInternal (cursor , meta );
754+ }
755+
756+ private Mono <McpSchema .ListResourcesResult > listResourcesInternal (String cursor ,
757+ java .util .Map <String , Object > meta ) {
739758 return this .initializer .withInitialization ("listing resources" , init -> {
740759 if (init .initializeResult ().capabilities ().resources () == null ) {
741760 return Mono .error (new IllegalStateException ("Server does not provide the resources capability" ));
742761 }
743762 return init .mcpSession ()
744- .sendRequest (McpSchema .METHOD_RESOURCES_LIST , new McpSchema .PaginatedRequest (cursor ),
763+ .sendRequest (McpSchema .METHOD_RESOURCES_LIST , new McpSchema .PaginatedRequest (cursor , meta ),
745764 LIST_RESOURCES_RESULT_TYPE_REF );
746765 });
747766 }
@@ -806,12 +825,31 @@ public Mono<McpSchema.ListResourceTemplatesResult> listResourceTemplates() {
806825 * @see McpSchema.ListResourceTemplatesResult
807826 */
808827 public Mono <McpSchema .ListResourceTemplatesResult > listResourceTemplates (String cursor ) {
828+ return this .listResourceTemplatesInternal (cursor , null );
829+ }
830+
831+ /**
832+ * Retrieves a paginated list of resource templates provided by the server. Resource
833+ * templates allow servers to expose parameterized resources using URI templates,
834+ * enabling dynamic resource access based on variable parameters.
835+ * @param cursor Optional pagination cursor from a previous list request
836+ * @param meta Optional metadata to include in the request (_meta field)
837+ * @return A Mono that completes with the list of resource templates result.
838+ * @see McpSchema.ListResourceTemplatesResult
839+ */
840+ public Mono <McpSchema .ListResourceTemplatesResult > listResourceTemplates (String cursor ,
841+ java .util .Map <String , Object > meta ) {
842+ return this .listResourceTemplatesInternal (cursor , meta );
843+ }
844+
845+ private Mono <McpSchema .ListResourceTemplatesResult > listResourceTemplatesInternal (String cursor ,
846+ java .util .Map <String , Object > meta ) {
809847 return this .initializer .withInitialization ("listing resource templates" , init -> {
810848 if (init .initializeResult ().capabilities ().resources () == null ) {
811849 return Mono .error (new IllegalStateException ("Server does not provide the resources capability" ));
812850 }
813851 return init .mcpSession ()
814- .sendRequest (McpSchema .METHOD_RESOURCES_TEMPLATES_LIST , new McpSchema .PaginatedRequest (cursor ),
852+ .sendRequest (McpSchema .METHOD_RESOURCES_TEMPLATES_LIST , new McpSchema .PaginatedRequest (cursor , meta ),
815853 LIST_RESOURCE_TEMPLATES_RESULT_TYPE_REF );
816854 });
817855 }
@@ -906,8 +944,26 @@ public Mono<ListPromptsResult> listPrompts() {
906944 * @see #getPrompt(GetPromptRequest)
907945 */
908946 public Mono <ListPromptsResult > listPrompts (String cursor ) {
909- return this .initializer .withInitialization ("listing prompts" , init -> init .mcpSession ()
910- .sendRequest (McpSchema .METHOD_PROMPT_LIST , new PaginatedRequest (cursor ), LIST_PROMPTS_RESULT_TYPE_REF ));
947+ return this .listPromptsInternal (cursor , null );
948+ }
949+
950+ /**
951+ * Retrieves a paginated list of prompts with optional metadata.
952+ * @param cursor Optional pagination cursor from a previous list request
953+ * @param meta Optional metadata to include in the request (_meta field)
954+ * @return A Mono that completes with the list of prompts result.
955+ * @see McpSchema.ListPromptsResult
956+ * @see #getPrompt(GetPromptRequest)
957+ */
958+ public Mono <ListPromptsResult > listPrompts (String cursor , java .util .Map <String , Object > meta ) {
959+ return this .listPromptsInternal (cursor , meta );
960+ }
961+
962+ private Mono <ListPromptsResult > listPromptsInternal (String cursor , java .util .Map <String , Object > meta ) {
963+ return this .initializer .withInitialization ("listing prompts" ,
964+ init -> init .mcpSession ()
965+ .sendRequest (McpSchema .METHOD_PROMPT_LIST , new PaginatedRequest (cursor , meta ),
966+ LIST_PROMPTS_RESULT_TYPE_REF ));
911967 }
912968
913969 /**
0 commit comments