Development
Convert OpenAPI or Swagger JSON/YAML specs into TypeScript API types, request payloads, and response models with configurable output and naming styles
Call this tool from your code in three languages.
curl -X POST 'https://api.elysiatools.com/en/api/tools/openapi-to-typescript-generator' \
-H 'Content-Type: application/json' \
-d '{"specInput":"openapi: 3.0.0\ninfo:\n title: User API\n version: 1.0.0\npaths:\n /users/{id}:\n get:\n operationId: getUser\n parameters:\n - in: path\n name: id\n required: true\n schema:\n type: string\n responses:\n \"200\":\n description: ok\n content:\n application/json:\n schema:\n $ref: \"#/components/schemas/User\"\ncomponents:\n schemas:\n User:\n type: object\n required: [id, name]\n properties:\n id:\n type: string\n name:\n type: string","sourceFormat":"yaml","outputFormat":"flat","namingStyle":"pascal","declarationStyle":"interface","namespaceName":"Api","includeOperationTypes":true,"includeDescriptions":true}'Send a POST request with your inputs as JSON. File parameters require a separate upload first.
POST https://api.elysiatools.com/en/api/tools/openapi-to-typescript-generator| Name | Type | Required | Description |
|---|---|---|---|
| specInput | textarea | Yes | — |
| sourceFormat | select | No | — |
| outputFormat | select | No | — |
| namingStyle | select | No | — |
| declarationStyle | select | No | — |
| namespaceName | text | No | — |
| includeOperationTypes | checkbox | No | — |
| includeDescriptions | checkbox | No | — |
Text result
{
"result": "Processed text content",
"error": "Error message (optional)",
"message": "Notification message (optional)",
"metadata": {
"key": "value"
}
}Add this tool to your Model Context Protocol server so AI agents can list and call it.
Add this block to your MCP client configuration:
{
"mcpServers": {
"elysiatools-openapi-to-typescript-generator": {
"name": "openapi-to-typescript-generator",
"description": "Convert OpenAPI or Swagger JSON/YAML specs into TypeScript API types, request payloads, and response models with configurable output and naming styles",
"baseUrl": "https://api.elysiatools.com/mcp/sse?toolId=openapi-to-typescript-generator",
"command": "",
"args": [],
"env": {},
"isActive": true,
"type": "sse"
}
}
}After connecting to the SSE endpoint, list the exposed tools:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}Invoke the tool by its id, passing arguments built from its parameters:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "openapi-to-typescript-generator",
"arguments": {
"specInput": "openapi: 3.0.0\ninfo:\n title: User API\n version: 1.0.0\npaths:\n /users/{id}:\n get:\n operationId: getUser\n parameters:\n - in: path\n name: id\n required: true\n schema:\n type: string\n responses:\n \"200\":\n description: ok\n content:\n application/json:\n schema:\n $ref: \"#/components/schemas/User\"\ncomponents:\n schemas:\n User:\n type: object\n required: [id, name]\n properties:\n id:\n type: string\n name:\n type: string",
"sourceFormat": "yaml",
"outputFormat": "flat",
"namingStyle": "pascal",
"declarationStyle": "interface",
"namespaceName": "Api",
"includeOperationTypes": true,
"includeDescriptions": true
}
}
}Questions or issues? Contact [email protected]