Skip to content

Calculated Column Expression Assistant#7665

Open
labkey-nicka wants to merge 19 commits into
developfrom
fb_mcp_calc_cols
Open

Calculated Column Expression Assistant#7665
labkey-nicka wants to merge 19 commits into
developfrom
fb_mcp_calc_cols

Conversation

@labkey-nicka
Copy link
Copy Markdown
Contributor

@labkey-nicka labkey-nicka commented May 13, 2026

Rationale

This introduces the calculated column expression assistant endpoint.

Related Pull Requests

Changes

  • Introduce conversationId to AbstractAgentAction to track conversation. Allows for clients to easily start and track conversation.
  • Add ExpressionAssistantAgentAction that is the endpoint for the expression assistant
  • Add validateCalculatedColumnExpression MCP tool that is used by expression assistant to validate expressions it creates
  • Introduce @McpInternal annotation for MCP tools that are not intended for exposure to external services
  • Update McpContext to support supplying context beyond container and user
  • Add LABKEY.mcpReady flag to page context

Copy link
Copy Markdown
Contributor

@labkey-matthewb labkey-matthewb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we may need to give stronger guidance about injecting CAST(), as this generally will generate a runtime error rather than a parse error. Or we can try to generate execute a test SQL statement??? Not required for commit.


HttpSession session = getViewContext().getRequest().getSession(true);
ChatClient chatSession = McpService.get().getChat(session, getAgentName(), this::getServicePrompt, create);
ChatClient chatSession = McpService.get().getChat(session, conversationName, this::getServicePrompt, create);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe rename the parameter name as well in McpService[Imp].getChat()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants