mcp proxy
mcp proxy
The mcp proxy binding routes inbound MCP requests to upstream MCP servers based on toolkit, capability, and per-route tool, prompt, and resource filters.
mcp_proxy:
type: mcp
kind: proxy
options:
cache:
store: my_store
ttl: 5m
routes:
- exit: app1
when:
- toolkit: bluesky
capability:
- tools
tools:
- post_*
- exit: app2
when:
- toolkit: quartzConfiguration (* required)
options
object
The proxy kind mcp specific options.
options:
cache:
store: my_store
ttl: 5moptions.cache
object
Cache configuration for upstream MCP responses, backed by a referenced store binding.
cache.store*
string
Name of the store binding used to persist cached entries.
cache.ttl
string| Default:PT5M
Time-to-live before a cached entry is refreshed.
cache.authorization
objectas map of namedobjectproperties
Authorization by a named guard used when refreshing cached entries.
authorization.credentials
string
Credentials used by the named guard when refreshing cached entries.
options.tools
enum[avro,boolean,double,float,int32,int64,json,string],object
Validation model applied to tools/call request arguments. Refer to the individual model docs for type specific implementation.
routes
arrayofobject
Conditional mcp specific routes.
routes[].when
arrayofobject
List of conditions (any match) to match this route. Read more: When a route matches
when[].toolkit*
string
Toolkit name to match.
when[].capability
arrayofenum[tools,prompts,resources]
MCP capabilities to match.
when[].tools
arrayofstring
Glob patterns of tool names to expose, where * matches any sequence of characters. Only tools whose name matches a pattern are routed. Valid when the tools capability is enabled. When omitted, all tools are admitted.
when[].prompts
arrayofstring
Glob patterns of prompt names to expose, where * matches any sequence of characters. Only prompts whose name matches a pattern are routed. Valid when the prompts capability is enabled. When omitted, all prompts are admitted.
when[].resources
arrayofstring
Glob patterns of resource URIs to expose, where * matches any sequence of characters. Only resources whose URI matches a pattern are routed. Valid when the resources capability is enabled. When omitted, all resources are admitted.
routes[].with
object
Route with override configuration.
with.cache
object
Cache override configuration for this route.
cache.credentials
string
Credentials used by the named guard when populating the cache for this route.
routes[].exit
string
Next binding when following this route.
routes:
- exit: app1
when:
- toolkit: bluesky
capability:
- tools
tools:
- post_*
- exit: app2
when:
- toolkit: quartzexit
string
Default exit binding when no conditional routes are viable.
exit: echo_servertelemetry
object
Defines the desired telemetry for the binding.
telemetry.metrics
array
Telemetry metrics to track
telemetry:
metrics:
- stream.*telemetry.attributes
objectas map of namedstringproperties
Telemetry attributes to add to the binding metrics.

