diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/configuration/ApiPaths.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/configuration/ApiPaths.kt
index 7d28d9540b85601fd61969fd0e1bf3ceeac60f1d..6e9f2403e5ed972422f759fda3a2ef1dac768553 100644
--- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/configuration/ApiPaths.kt
+++ b/src/main/kotlin/de/fraunhofer/iem/dataprovider/configuration/ApiPaths.kt
@@ -14,6 +14,8 @@ object ApiPaths {
     const val RAW_KPI_BY_REPOSITORY_ID = "$BASE/repository/{id}/rawkpi"
     const val KPI_BY_REPOSITORY_ID = "$BASE/repository/{id}/kpi"
 
+    const val GET_ALL_TOOLS = "$BASE/tools"
+
     const val REPOSITORY_ID = "$REPOSITORY/{id}"
     const val REPOSITORY_TOOLS = "$REPOSITORY/{id}/tools"
 }
diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/configuration/security/WebSecurityConfiguration.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/configuration/security/WebSecurityConfiguration.kt
index 72027ec2c5bb6fd5549644ab63c11d1e14e188a0..686739512879f0244e26d6944ff4e3ca20f625c1 100644
--- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/configuration/security/WebSecurityConfiguration.kt
+++ b/src/main/kotlin/de/fraunhofer/iem/dataprovider/configuration/security/WebSecurityConfiguration.kt
@@ -17,7 +17,6 @@ import org.springframework.web.cors.CorsConfiguration
 import org.springframework.web.cors.reactive.CorsWebFilter
 import org.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource
 
-
 const val ADMIN_ROLE: String = "ADMIN"
 
 @Configuration
@@ -67,6 +66,7 @@ class SecurityConfiguration(val apiKeyFilter: ApiKeyFilter, private val security
             addFilterAt(apiKeyFilter, SecurityWebFiltersOrder.FIRST)
             authorizeExchange {
                 authorize(ApiPaths.ACTUATOR, permitAll)
+                authorize(ApiPaths.GET_ALL_TOOLS, hasRole(ADMIN_ROLE))
                 authorize(ApiPaths.REPOSITORY, permitAll)
                 authorize(ApiPaths.REPOSITORY_ID, permitAll)
                 authorize(ApiPaths.REPOSITORY_SCORE_CARD, permitAll)
diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/tool/controller/ToolController.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/tool/controller/ToolController.kt
new file mode 100644
index 0000000000000000000000000000000000000000..806527c88bd5bccff9fe8fe0e6575f42987c62ae
--- /dev/null
+++ b/src/main/kotlin/de/fraunhofer/iem/dataprovider/tool/controller/ToolController.kt
@@ -0,0 +1,16 @@
+package de.fraunhofer.iem.dataprovider.tool.controller
+
+import de.fraunhofer.iem.dataprovider.configuration.ApiPaths
+import de.fraunhofer.iem.dataprovider.tool.dto.ToolEntityResponseDto
+import de.fraunhofer.iem.dataprovider.tool.repository.ToolRepository
+import org.springframework.web.bind.annotation.GetMapping
+import org.springframework.web.bind.annotation.RestController
+
+@RestController
+class ToolController(val toolRepository: ToolRepository) {
+
+    @GetMapping(ApiPaths.GET_ALL_TOOLS)
+    fun getAllTools(): List<ToolEntityResponseDto> {
+        return toolRepository.findAll().map { it.toDto() }
+    }
+}
diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/tool/dto/ToolEntityResponseDto.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/tool/dto/ToolEntityResponseDto.kt
new file mode 100644
index 0000000000000000000000000000000000000000..4d9e4d1430716839d526c0da7ddcf95689e32880
--- /dev/null
+++ b/src/main/kotlin/de/fraunhofer/iem/dataprovider/tool/dto/ToolEntityResponseDto.kt
@@ -0,0 +1,5 @@
+package de.fraunhofer.iem.dataprovider.tool.dto
+
+import java.util.*
+
+data class ToolEntityResponseDto(val id: UUID, val name: String, val toolType: String)
diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/tool/entity/ToolEntity.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/tool/entity/ToolEntity.kt
index e6bf25d132241af940dfabc2dbb9988d4f3a2b26..ac6008cdd77a7d999db2fa168705353fc3211f74 100644
--- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/tool/entity/ToolEntity.kt
+++ b/src/main/kotlin/de/fraunhofer/iem/dataprovider/tool/entity/ToolEntity.kt
@@ -1,5 +1,6 @@
 package de.fraunhofer.iem.dataprovider.tool.entity
 
+import de.fraunhofer.iem.dataprovider.tool.dto.ToolEntityResponseDto
 import de.fraunhofer.iem.dataprovider.tool.enumeration.ToolType
 import jakarta.persistence.*
 import org.hibernate.Hibernate
@@ -20,6 +21,10 @@ class ToolEntity(
     var toolType: ToolType,
 ) {
 
+    fun toDto(): ToolEntityResponseDto {
+        return ToolEntityResponseDto(this.id!!, this.name, this.toolType.getName())
+    }
+
     override fun equals(other: Any?): Boolean {
         if (this === other) return true
         if (other == null || Hibernate.getClass(this) != Hibernate.getClass(other)) return false