- Notifications
You must be signed in to change notification settings - Fork1k
feat: add coder_workspace_write_file MCP tool#19591
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
49ea415
to15720af
Compare2972507
toa042936
Compare15720af
to911efb7
Compare8c658eb
to13e42f0
Compare13e42f0
tod231994
CompareThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Some minor nits and suggestions, nothing that should block a merge though.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
"content":map[string]any{ | ||
"type":"string", | ||
"description":"The base64-encoded bytes to write to the file.", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Do we maybe want to limit the amount of file writing? Reads are 1MB, I think, so it might make sense to introduce a restriction here, too.
code-asherSep 11, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
I had that thought too but I am not sure how to make that restriction. The max is useful to make sure we are not going to run out of memory, but by the time we are here, anything in memory is already in memory and we might as well write it out since we have it.
I think instead of the tool handler, the restriction would need to be in the MCP library at the point where it reads in the data (and maybe it already has limits, I have not tested). Not sure if this is configurable though, or if we can hook in somewhere to enforce the restriction.
code-asherSep 11, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Hmm maybeWithHooks
will let me do it. Ohhh wait there is aMaxLength
that I could pass through, which is probably what you were already thinking of 😅 Gonna implement this. I will need an offset as well, or an append boolean.
edit: er wait does not seem the server is enforcing the max length property...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Ah, gotcha. In that case, I think we're good here.
Uh oh!
There was an error while loading.Please reload this page.
53f1f3b
to2503ffd
Compare"content":map[string]any{ | ||
"type":"string", | ||
"description":"The base64-encoded bytes to write to the file.", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Ah, gotcha. In that case, I think we're good here.
d5a02d5
intomainUh oh!
There was an error while loading.Please reload this page.
A follow up to the read tool added in#19562