Skip to content

resolving placeholders in run/command #279

@hashemix

Description

@hashemix

Issue:
The client.go does not resolve placeholders defined in the run -> command section of server.yaml when launching the MCP server and passes them over as command line arguments as is. As a result, commands like task build -- --tools [server-name] could fail due to unresolved values , if server relies on the parameters to launch.

I noticed a temporary fix for Anthropic's filesystem server in there, but that very specific and is not helping other servers in a similar scenario

// TODO(dga): Temporary fix
if arg == "{{filesystem.paths|volume-target|into}}" {
return "."
}

I assume there is a plan for addressing this more properly?

Suggestion:
I believe this issue could be addressed by resolving the placeholders to the default values defined in the parameters section (or to the example attribute if no default is provided). This would ensure that MCP servers receive concrete values when launched by client.go and developers could adjust values in the .default section of the parameters in the server.yaml , avoiding errors due to unresolved placeholders.

Creating this ticket to track the issue, in case it's planned to be addressed in a future fix.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions