File tree Expand file tree Collapse file tree
api/src/org/labkey/api/mcp Expand file tree Collapse file tree Original file line number Diff line number Diff line change 99import org .labkey .api .data .Container ;
1010import org .labkey .api .security .User ;
1111import org .labkey .api .services .ServiceRegistry ;
12+ import org .labkey .api .settings .OptionalFeatureService ;
1213import org .labkey .api .util .HtmlString ;
1314import org .labkey .api .util .logging .LogHelper ;
1415import org .labkey .api .writer .ContainerUser ;
8182public 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 }
You can’t perform that action at this time.
0 commit comments