go install github.com/jordyv/configurable-mcp/cmd/configurable-mcp@latest
You can define tools for the MCP dynamically in the config.yaml
file.
For example:
tools:
- name: get_my_username
description: Get the username of the current logged in user
command: whoami
- name: read_file
description: Read the content of a file in a folder
command: cat
arguments: [ "{{.file}}" ]
properties:
folder:
type: string
file:
type: string
required_properties: [ folder, file ]
Arguments support Golang's template syntax and template variables are replaced with the value of properties.
So {{.file}}
in the example above will be replaced by the file
parameter passed to the tool by the model.