Transforms OpenAPI specifications into ready-to-use tools that enable seamless interaction with REST APIs through automa...
Created byApr 22, 2025
emcee flow diagram
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.
Open Claude Desktop Settings (<kbd> </kbd><kbd></kbd>)
Select the "Developer" section in the sidebar
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:
Add the following configuration to add the weather.gov MCP server:
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.
If you allow, Claude will communicate with the MCP
and use the result to inform its response.
Claude response with MCP tool use
[!TIP]
Building agents? Want to deploy remote MCP servers?
Reach out to us at emcee@loopwork.com
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 implementationespecially 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).
Homebrew
Install emcee using [Homebrew][homebrew] from [Loopwork's tap][homebrew-tap].
Docker
Prebuilt [Docker images][docker-images] with emcee are available.
Build From Source
Requires [go 1.24][golang] or later.
Once built, you can run in place (./emcee)
or move it somewhere in your PATH, like /usr/local/bin.
When you run emcee from the command-line,
it starts a program that listens on stdin,
outputs to stdout,
and logs to stderr.
Authentication
For APIs that require authentication,
emcee supports several authentication methods:
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
These authentication values can be provided directly
or as [1Password secret references][secret-reference-syntax].
When using 1Password references:
Use the format op://vault/item/field
(e.g. --bearer-auth="op://Shared/X/credential")
Ensure the 1Password CLI ([op][op]) is installed and available in your PATH
Sign in to 1Password before running emcee or launching Claude Desktop
[!IMPORTANT]emcee doesn't use auth credentials when downloading
OpenAPI specifications from URLs provided as command arguments.
If your OpenAPI specification requires authentication to access,
first download it to a local file using your preferred HTTP client,
then provide the local file path to emcee.
Transforming OpenAPI Specifications
You can transform OpenAPI specifications before passing them to emcee using standard Unix utilities. This is useful for:
Selecting specific endpoints to expose as tools
with [jq][jq] or [yq][yq]
Modifying descriptions or parameters
with [OpenAPI Overlays][openapi-overlays]
Combining multiple specifications
with [Redocly][redocly-cli]
For example,
you can use jq to include only the point tool from weather.gov.
JSON-RPC
You can interact directly with the provided MCP server
by sending JSON-RPC requests.
[!NOTE]
emcee provides only MCP tool capabilities.
Other features like resources, prompts, and sampling aren't yet supported.
List Tools
Call Tool
Debugging
The [MCP Inspector][mcp-inspector] is a tool for testing and debugging MCP servers.
If Claude and/or emcee aren't working as expected,
the inspector can help you understand what's happening.
License
emcee is licensed under the Apache License, Version 2.0.
emcee flow diagram
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.
Open Claude Desktop Settings (<kbd> </kbd><kbd></kbd>)
Select the "Developer" section in the sidebar
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:
Add the following configuration to add the weather.gov MCP server:
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.
If you allow, Claude will communicate with the MCP
and use the result to inform its response.
Claude response with MCP tool use
[!TIP]
Building agents? Want to deploy remote MCP servers?
Reach out to us at emcee@loopwork.com
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 implementationespecially 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).
Homebrew
Install emcee using [Homebrew][homebrew] from [Loopwork's tap][homebrew-tap].
Docker
Prebuilt [Docker images][docker-images] with emcee are available.
Build From Source
Requires [go 1.24][golang] or later.
Once built, you can run in place (./emcee)
or move it somewhere in your PATH, like /usr/local/bin.
When you run emcee from the command-line,
it starts a program that listens on stdin,
outputs to stdout,
and logs to stderr.
Authentication
For APIs that require authentication,
emcee supports several authentication methods:
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
These authentication values can be provided directly
or as [1Password secret references][secret-reference-syntax].
When using 1Password references:
Use the format op://vault/item/field
(e.g. --bearer-auth="op://Shared/X/credential")
Ensure the 1Password CLI ([op][op]) is installed and available in your PATH
Sign in to 1Password before running emcee or launching Claude Desktop
[!IMPORTANT]emcee doesn't use auth credentials when downloading
OpenAPI specifications from URLs provided as command arguments.
If your OpenAPI specification requires authentication to access,
first download it to a local file using your preferred HTTP client,
then provide the local file path to emcee.
Transforming OpenAPI Specifications
You can transform OpenAPI specifications before passing them to emcee using standard Unix utilities. This is useful for:
Selecting specific endpoints to expose as tools
with [jq][jq] or [yq][yq]
Modifying descriptions or parameters
with [OpenAPI Overlays][openapi-overlays]
Combining multiple specifications
with [Redocly][redocly-cli]
For example,
you can use jq to include only the point tool from weather.gov.
JSON-RPC
You can interact directly with the provided MCP server
by sending JSON-RPC requests.
[!NOTE]
emcee provides only MCP tool capabilities.
Other features like resources, prompts, and sampling aren't yet supported.
List Tools
Call Tool
Debugging
The [MCP Inspector][mcp-inspector] is a tool for testing and debugging MCP servers.
If Claude and/or emcee aren't working as expected,
the inspector can help you understand what's happening.
License
emcee is licensed under the Apache License, Version 2.0.