Skip to content

Commit 8f2a6c0

Browse files
committed
MCP server experimental feature
1 parent 1d373b6 commit 8f2a6c0

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

api/src/org/labkey/api/mcp/McpService.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import org.labkey.api.data.Container;
1010
import org.labkey.api.security.User;
1111
import org.labkey.api.services.ServiceRegistry;
12+
import org.labkey.api.settings.OptionalFeatureService;
1213
import org.labkey.api.util.HtmlString;
1314
import org.labkey.api.util.logging.LogHelper;
1415
import org.labkey.api.writer.ContainerUser;
@@ -81,6 +82,7 @@
8182
public interface McpService extends ToolCallbackProvider
8283
{
8384
Logger LOG = LogHelper.getLogger(McpService.class, "MCP registration exceptions");
85+
String ENABLE_MCP_SERVER_FLAG = "enableMcpServer";
8486

8587
// Interface for MCP classes that we will "ingest" using Spring annotations. Provides a few helper methods.
8688
interface McpImpl
@@ -102,6 +104,9 @@ default User getUser(ToolContext toolContext)
102104
// Every MCP resource should call this on every invocation
103105
default void incrementResourceRequestCount(String resource)
104106
{
107+
if (!OptionalFeatureService.get().isFeatureEnabled(ENABLE_MCP_SERVER_FLAG))
108+
throw new RuntimeException("The MCP server is not enabled for external requests. Consider toggling the experimental feature flag.");
109+
105110
get().incrementResourceRequestCount(resource);
106111
}
107112
}

0 commit comments

Comments
 (0)