OpenAPI Transformer

by loopwork-ai

225 stars
Not rated
GitHub

About

Transforms OpenAPI specifications into ready-to-use tools that enable seamless interaction with REST APIs through automatic endpoint mapping, authentication handling, and response formatting.

Details

Author
loopwork-ai
Repository
mattt/emcee
GitHub stars
225
License
MIT License
Categories
AI, Design, Developer Tools, File Management, Frontend, API

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name OpenAPI Transformer
    Command (node, npx, python, etc.) emcee
    Arguments
    • Argument 1 https://api.weather.gov/openapi.json

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository


If you're on macOS and have [Homebrew][homebrew] installed,
you can get up-and-running quickly.

bash

brew install mattt/tap/emcee


Make sure you have Claude Desktop installed.

To configure Claude Desktop for use with emcee:

1. Open Claude Desktop Settings (<kbd>⌘</kbd><kbd>,</kbd>)
2. Select the "Developer" section in the sidebar
3. Click "Edit Config" to open the configuration file

Claude Desktop settings Edit Config button

The configuration file should be located in the Application Support directory.
You can also open it directly in VSCode using:

console
code ~/Library/Application\ Support/Claude/claude_desktop_config.json

Add the following configuration to add the weather.gov MCP server:

json
{
"mcpServers": {
"weather": {
"command": "emcee",
"args": ["https://api.weather.gov/openapi.json"]
}
}
}

After saving the file, quit and re-open Claude.
You should now see <kbd>🔨57</kbd> in the bottom right corner of your chat box.
Click on that to see a list of all the tools made available to Claude through MCP.

Start a new chat and ask it about the weather where you are.

> What's the weather in Portland, OR?

Claude will consult the tools made available to it through MCP
and request to use one if deemed to be suitable for answering your question.
You can review this request and either approve or deny it.

<img src="https://github.com/user-attachments/assets/394ac476-17c2-4a29-aaff-9537d42b289b" alt="Allow tool from weather MCP dialog" width="460">

If you allow, Claude will communicate with the MCP
and use the result to inform its response.

Claude response with MCP tool use

Use the [installer script][installer] to download and install a
[pre-built release][releases] of emcee for your platform
(Linux x86-64/i386/arm64 and macOS Intel/Apple Silicon).

console

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "openapi transformer": {
            "cwd": "",
            "env": {},
            "args": [
                "https://api.weather.gov/openapi.json"
            ],
            "shell": false,
            "command": "emcee"
        }
    }
}

Linux

{
    "cwd": "",
    "env": [],
    "args": [
        "https://api.weather.gov/openapi.json"
    ],
    "shell": false,
    "command": "emcee"
}

Macos

{
    "cwd": "",
    "env": [],
    "args": [
        "https://api.weather.gov/openapi.json"
    ],
    "shell": false,
    "command": "emcee"
}

Windows

{
    "cwd": "",
    "env": [],
    "args": [
        "https://api.weather.gov/openapi.json"
    ],
    "shell": false,
    "command": "emcee"
}
![emcee flow diagram](https://github.com/user-attachments/assets/bcac98a5-497f-4b34-9e8d-d4bc08852ea1) # emcee **emcee** is a tool that provides a [Model Context Protocol (MCP)][mcp] server for any web application with an [OpenAPI][openapi] specification. You can use emcee to connect [Claude Desktop][claude] and [other apps][mcp-clients] to external tools and data services, similar to [ChatGPT plugins][chatgpt-plugins]. ## Quickstart If you're on macOS and have [Homebrew][homebrew] installed, you can get up-and-running quickly. ```bash # Install emcee brew install mattt/tap/emcee ``` Make sure you have [Claude Desktop](https://claude.ai/download) installed. To configure Claude Desktop for use with emcee: 1. Open Claude Desktop Settings (<kbd>⌘</kbd><kbd>,</kbd>) 2. Select the "Developer" section in the sidebar 3. Click "Edit Config" to open the configuration file ![Claude Desktop settings Edit Config button](https://github.com/user-attachments/assets/761c6de5-62c2-4c53-83e6-54362040acd5) The configuration file should be located in the Application Support directory. You can also open it directly in VSCode using: ```console code ~/Library/Application\ Support/Claude/claude_desktop_config.json ``` Add the following configuration to add the weather.gov MCP server: ```json { "mcpServers": { "weather": { "command": "emcee", "args": ["https://api.weather.gov/openapi.json"] } } } ``` After saving the file, quit and re-open Claude. You should now see <kbd>🔨57</kbd> in the bottom right corner of your chat box. Click on that to see a list of all the tools made available to Claude through MCP. Start a new chat and ask it about the weather where you are. > What's the weather in Portland, OR? Claude will consult the tools made available to it through MCP and request to use one if deemed to be suitable for answering your question. You can review this request and either approve or deny it. <img src="https://github.com/user-attachments/assets/394ac476-17c2-4a29-aaff-9537d42b289b" alt="Allow tool from weather MCP dialog" width="460"> If you allow, Claude will communicate with the MCP and use the result to inform its response. ![Claude response with MCP tool use](https://github.com/user-attachments/assets/d5b63002-1ed3-4b03-bc71-8357427bb06b) ## Why use emcee? MCP provides a standardized way to connect AI models to tools and data sources. It's still early days, but there are already a variety of [available servers][mcp-servers] for connecting to browsers, developer tools, and other systems. We think emcee is a convenient way to connect to services that don't have an existing MCP server implementation — _especially for services you're building yourself_. Got a web app with an OpenAPI spec? You might be surprised how far you can get without a dashboard or client library. ## Installation ### Installer Script Use the [installer script][installer] to download and install a [pre-built release][releases] of emcee for your platform (Linux x86-64/i386/arm64 and macOS Intel/Apple Silicon). ```console # fish sh (curl -fsSL https://get.emcee.sh | psub) # bash, zsh sh <(curl -fsSL https://get.emcee.sh) ``` ### Homebrew Install emcee using [Homebrew][homebrew]. ```console brew install mattt/tap/emcee ``` ### Docker Prebuilt [Docker images][docker-images] with emcee are available. ```console docker run -it ghcr.io/mattt/emcee ``` ### Build From Source Requires [go 1.24][golang] or later. ```console git clone https://github.com/mattt/emcee.git cd emcee go build -o emcee cmd/emcee/main.go ``` Once built, you can run in place (`./emcee`) or move it somewhere in your `PATH`, like `/usr/local/bin`. ## Usage ```console
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.