Skip to content

feat: add structured content for response in atlas-local tools - MCP-374#1256

Open
dudaschar wants to merge 6 commits into
MCP-374-structuredContentfrom
MCP-374-structuredContent-atlas-local
Open

feat: add structured content for response in atlas-local tools - MCP-374#1256
dudaschar wants to merge 6 commits into
MCP-374-structuredContentfrom
MCP-374-structuredContent-atlas-local

Conversation

@dudaschar

Copy link
Copy Markdown
Collaborator

Part 2, follow up for #1249

This work enables the output to be provided in structuredContent format which caters for the prompt injection case, but removes the need for additional work on the users side to re-format the output to remove the tags.

This PR apply the updates for the tools inside the atlas-local package, a follow up PR will handle /atlas.

Checklist

@dudaschar dudaschar self-assigned this Jun 17, 2026
@dudaschar dudaschar requested a review from a team as a code owner June 17, 2026 14:28
@dudaschar dudaschar requested review from ciprian-tibulca and removed request for a team June 17, 2026 14:28
@dudaschar dudaschar requested a review from lerouxb June 17, 2026 16:34
{ deploymentName }: ToolArgs<typeof this.argsShape>,
{ client }: { client: Client }
): Promise<CallToolResult> {
): Promise<ToolResult<typeof ConnectDeploymentOutputSchema> & Pick<CallToolResult, "_meta">> {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Is this change necessary? Looks complicated and I tried this locally without this change and didn't immediately spot any TS errors

@lerouxb lerouxb Jun 18, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

If you want to tighten up the type beyond just Promise<CallToolResult> I think you can look at the existing execute methods that return structuredContent.

Something like Promise<ToolResult<typeof this.outputSchema>> {

};
}

protected override resolveTelemetryMetadata(

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I don't see why these changes would be necessary?

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants