To expose MCP tools, you must supply a valid OpenAPI specification. OpenAPI specifications can be obtained from a Progress Application Server (PAS) for OpenEdge instance, which may implement one or more of the following sources of service information:

This section focuses on where to place the OpenAPI data and how to generate a compatible openapi.yml file from a Progress Data Object Catalog. These catalog files are generated using Progress Developer Studio for OpenEdge and can reside locally or be deployed as a service, making them accessible through a URL.

Place the specification

Place your OpenAPI specification file, for example, openapi.yml in the distribution directory or an adjacent directory.

Minimum requirement: The specification must include valid paths: and operationId entries.

Generate specification from business entity catalog

You can generate an OpenAPI specification for MCP tools using either a local catalog file or a remote catalog endpoint. Use the built-in openapi-gen utility to convert your business entity catalog into OpenAPI format. This process creates an openapi.yml file that describes the available tools and their operations, which can be used for client integration or API documentation.

Use the following command to generate an OpenAPI specification from a local catalog file:
./mcpgen openapi-gen <catalog.json> -o <openapi.yml>
where,
Parameter Description
catalog.json The local catalog file that contains tool definitions.
-o <openapi.yml> (Optional) Specifies the output file for the generated OpenAPI specification.

If you do not provide –o, the command uses a default, auto-generated filename for the output.

If the catalog is hosted on a remote server, run the following command:
./mcpgen openapi-gen http://localhost:8810/web/oemanager/catalog -o <openapi.yml>
where,
Parameter Description
http://localhost:8810/web/oemanager/catalog The URL of the remote catalog endpoint.
-o <openapi.yml> (Optional) Specifies the output file for the generated OpenAPI specification.

If you do not provide –o, the command uses a default, auto-generated filename for the output.

These commands generate a complete OpenAPI 3.0.3 specification with proper schemas, paths, and operations based on your business entity definitions. For more information, see Generate OpenAPI specification.

For detailed instructions on structuring input and output schemas, assigning titles, writing descriptions, and defining error models, see OpenAPI specification quality guidelines.