Back to Agentic

Config Overview

docs/publishing/config/index.mdx

8.4.45.7 KB
Original Source

Every Agentic project needs a config file (agentic.config.ts, agentic.config.js, or agentic.config.json) to define the project's metadata, pricing, rate-limits, and any tool-specific behavior overrides.

<Tip> Configuring your project can feel a little overwhelming. 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. </Tip>

Fields

<ResponseField name='name' type='string' required> Display name for your project.

Max length 1024 characters.

</ResponseField> <ResponseField name='slug' type='string' required> Unique project slug.

Must be ascii-only, lower-case, and kebab-case with no spaces between 1 and 256 characters.

The project's fully qualified identifier will be @namespace/slug, where the namespace is determined by the author's username or team slug.

If not provided, it will be derived by slugifying name.

</ResponseField> <ResponseField name='description' type='string' required> Short description of the project.

Should be no longer than a few lines.

</ResponseField> <ResponseField name='version' type='string'> Optional semantic version of the project as a [semver](https://semver.org) string.

Examples: 1.0.0, 0.0.1, 5.0.1, etc.

</ResponseField> <ResponseField name='readme' type='string'> Optional markdown readme documenting the project (supports GitHub-flavored markdown).

A string which may be either: a URL to a remote markdown file (eg, https://example.com/readme.md), a local file path (eg, ./readme.md), or a data-uri string (eg, data:text/markdown;base64,SGVsbG8gV29ybGQ=).

</ResponseField> <ResponseField name='iconUrl' type='string'> Optional logo image to use for the project. Logos should have a square aspect ratio.

A string which may be either: a URL to a remote image (eg, https://example.com/logo.png), a local file path (eg, ./logo.png), or a data-uri string (eg, data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...).

</ResponseField> <ResponseField name='sourceUrl' type='string'> Optional URL to the source code of the project (eg, GitHub repo). </ResponseField> <ResponseField name='homepageUrl' type='string'> Optional URL to the product's homepage. </ResponseField> <ResponseField name='origin' type='object' required> Origin API adapter used to configure the origin API server downstream from Agentic's MCP gateway. <Expandable title="properties" defaultOpen> <Tabs> <Tab title="MCP origin server"> <ResponseField name="type" type="string" required> The type of origin server. `mcp` in this case. </ResponseField>
<ResponseField name="url" type="string" required>

Required base URL of the externally hosted origin MCP server.

This URL must be accessible from Agentic's MCP gateway and support the Streamable HTTP transport.

Must be a valid https URL.

</ResponseField> </Tab> <Tab title="OpenAPI origin server"> <ResponseField name="type" type="string" required> The type of origin server. `openapi` in this case. </ResponseField>
<ResponseField name="url" type="string" required>

Required base URL of the externally hosted origin API server.

Must be a valid https URL.

</ResponseField>
<ResponseField name="spec" type="string" required>

Local file path or URL to an OpenAPI 3.x spec describing the origin API server.

May also be an embedded string containing a JSON stringified OpenAPI 3.x spec.

Note that older OpenAPI versions are not supported.

</ResponseField> </Tab> </Tabs> </Expandable> </ResponseField> <ResponseField name='pricingPlans' type='array'> List of PricingPlans configuring which Stripe subscriptions should be available for the project.

Defaults to a single free plan which is useful for developing and testing your project.

See PricingPlan for details.

</ResponseField> <ResponseField name='pricingIntervals' type='array'> Optional list of billing intervals to enable in pricing plans.

Defaults to a single monthly interval ['month'].

To add support for annual pricing plans, for example, you can use: ['month', 'year'].

Note that for every pricing interval, you must define a corresponding set of PricingPlans in the pricingPlans array. If you only have one pricing interval (like the default month interval), pricingPlans don't need to specify their interval property. Otherwise, all PricingPlans must specify their interval property to differentiate between different pricing intervals.

</ResponseField> <ResponseField name='defaultRateLimit' type='object'> Optional default rate limits to enforce across all pricing plans.

If not set, a default platform rate-limit of 1000 requests per minute per customer will be used.

To disable the default rate-limit, set defaultRateLimit.enabled to false.

Note that pricing-plan-specific rate-limits override this default (via pricingPlans), and tool-specific rate-limits may override both default and pricing-plan-specific rate-limits (via toolConfigs).

See Rate Limits for more details.

</ResponseField> <ResponseField name='toolConfigs' type='array'> Optional list of tool configs to override the default behavior of specific tools.

See Tool Config for details.

</ResponseField>

Examples

<Card title='Config Examples' href='/publishing/config/examples' icon='file-lines'

Example starter configs for the Agentic MCP Gateway. </Card>

Help

<Tip> Configuring your project can feel a little overwhelming. 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. </Tip>