--- title: Tool Config description: Configure tool-specific settings for your project. --- `toolConfigs` is an optional array of tool configs which may be used to override the default gateway behavior for specific tools. With `toolConfigs`, tools can be disabled, set custom rate-limits, customize reporting usage for metered billing, and they can also override behavior for different pricing plans. For example, you may want to disable certain tools on a `free` pricing plan or remove the rate-limit for a specific tool on a `pro` pricing plan while keeping the defualt rate-limit in place for other tools. Note that tool-specific configs override the defaults defined in pricing plans. If a tool is defined on the origin server but not specified in `toolConfigs`, it will use the default behavior of the Agentic MCP gateway. ## Tool Config The name of the tool, which acts as a unique, stable identifier for the tool across deployments. Make sure the tool `name` matches the origin server's tool names, either via its MCP server or OpenAPI operationIds. Whether this tool should be enabled for all customers (default). If you want to hide a tool from customers but still have it present on your origin server, set this to `false` for the given tool. Whether this tool's output is deterministic and idempotent given the same input. If `true`, tool outputs will be cached aggressively for identical requests, though origin server response headers can still override this behavior on a per-request basis. If `false`, tool outputs will be cached according to the origin server's response headers on a per-request basis. A custom `Cache-Control` header to use for caching this tool's responses. If set, this field overrides `pure`. If not set and `pure` is `true`, the gateway will default to: `public, max-age=31560000, s-maxage=31560000, stale-while-revalidate=3600` (cache publicly for up to 1 year). If not set and `pure` is `false`, the gateway will default to `no-store` which will disable caching. This is the default gateway behavior for tools (no caching). Note that origin server response headers may also choose to disable caching on a per-request basis. Whether calls to this tool should be reported as usage for the default `requests` line-item's metered billing. Note: This is only relevant if the customer's active pricing plan includes a `requests` line-item. Customize the default `requests`-based rate-limiting for this tool. To disable rate-limiting for this tool, set `rateLimit.enabled` to `false`. If not set, the default rate-limiting for the active pricing plan will be used. See [Rate Limits](/publishing/config/rate-limits) for details. Whether to allow additional properties in the tool's input schema. The default MCP spec allows additional properties. Set this to `false` if you want your tool to be more strict. Note: This is only relevant if the tool has defined an `inputSchema`. Whether to allow additional properties in the tool's output schema. The default MCP spec allows additional properties. Set this to `false` if you want your tool to be more strict. Note: This is only relevant if the tool has defined an `outputSchema`. Allows you to override this tool's behavior or disable it entirely for different pricing plans. This is a map from PricingPlan `slug` to PricingPlanToolOverride. ```ts agentic.config.ts import { defineConfig } from '@agentic/platform' // In this example, `my-tool` is disabled for the `free` pricing plan. export default defineConfig({ // ... toolConfigs: [ { name: 'my-tool', pricingPlanOverridesMap: { free: { enabled: false } } } ] }) ``` Whether this tool should be enabled for the given pricing plan. If `undefined`, will use the tool's default enabled state. Whether to report default `requests` usage for metered billing for customers on a given pricing plan. Note: This is only relevant if the pricing plan includes a `requests` line-item. If `undefined`, will use the tool's default reportUsage state. Customize or disable rate limits for this tool for customers on a given pricing plan. To disable rate-limiting for this tool on a given pricing plan, set `rateLimit.enabled` to `false`. See [Rate Limits](/publishing/config/rate-limits) for details. ## Config Help Configuring your project can feel a little overwhelming with the amount of options available. Feel free to [reach out to us](/contact) if you're considering using Agentic's MCP Gateway, and I'd be happy to help walk you through setting your product up for success.