@buildwithlayer/openapi-to-tools v1.3.3
OpenAPI to Tools
This is a simple package to convert OpenAPI routes to tools to be used by MCP servers or other LLM applications.
Prerequisites
This project requires NodeJS (version 18 or later) and NPM. Node and NPM are really easy to install. To make sure you have them available on your machine, try running the following command.
$ npm -v && node -v
10.2.4
v20.11.0Table of contents
Installation
BEFORE YOU INSTALL: please read the prerequisites
To install and set up the library, run:
$ npm install @buildwithlayer/openapi-to-toolsOr if you prefer using Yarn:
$ yarn add @buildwithlayer/openapi-to-toolsUsage
CLI
input_file_pathis a path to any valid OpenAPI Spec 3.X.Xoutput_file_pathis a path to a JSON file to write the tools
npx @buildwithlayer/openapi-to-tools <input_file_path> [-o <output_file_path>]MCP Server
import {addAPIToolsPlugin} from '@buildwithlayer/openapi-to-tools/index.js';
import {apiTools} from './tools.json';
const server = new McpServer(
{
name: 'very-cool-server',
version: '1.0.0',
},
{
capabilities: {
tools: {},
},
},
);
// Add any manual tools
server.tool('hello-world', async () => ({
content: [
{
text: 'Hello, world!',
type: 'text',
},
],
}));
// Add the API tools (generated with CLI or using the library)
addAPIToolsPlugin(server, apiTools);
// Start receiving messages on stdin and sending messages on stdout
const transport = new StdioServerTransport();
await server.connect(transport);Contributing
These instructions will be updated soon.
Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests to us.
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature - Add your changes:
git add . - Commit your changes:
git commit -am 'Add some feature' - Push to the branch:
git push origin my-new-feature - Submit a pull request :sunglasses:
Versioning
We use SemVer for versioning. For the versions available, see the tags on this repository.
License
Currently, this is unlicensed and requires explicit permission to use. In the future, we will open up this license.