emcee  by mattt

CLI tool for exposing OpenAPI specs as Model Context Protocol (MCP) servers

created 6 months ago
272 stars

Top 95.5% on sourcepulse

GitHubView on GitHub
1 Expert Loves This Project
Project Summary

emcee is a tool that generates Model Context Protocol (MCP) servers for any web application with an OpenAPI specification. It enables AI models like Claude Desktop to interact with external tools and data services, functioning similarly to ChatGPT plugins. This is particularly useful for developers building custom AI agents or integrating services that lack existing MCP server implementations.

How It Works

emcee acts as a bridge, translating AI model requests into standard HTTP calls to an OpenAPI-defined API. It uses the JSON-RPC 2.0 protocol over standard input/output (stdio) for communication. When invoked with an OpenAPI specification URL or path, emcee starts a server that listens for JSON-RPC messages, processes them, makes the appropriate API calls, and returns the results to the AI model. This approach simplifies tool integration by leveraging the OpenAPI specification as the sole interface definition.

Quick Start & Requirements

  • Install: brew install loopwork-ai/tap/emcee (macOS with Homebrew), or use the installer script sh (curl -fsSL https://get.emcee.sh | psub) for Linux/macOS. Docker images are also available.
  • Prerequisites: Go 1.24+ for building from source. For authentication with 1Password, install 1password-cli (brew install 1password-cli) and run op signin.
  • Configuration: Edit Claude Desktop's claude_desktop_config.json to add MCP server configurations.
  • Docs: https://github.com/loopwork-ai/emcee

Highlighted Details

  • Supports various authentication methods (Bearer Token, Basic Auth, Raw Value) and 1Password secret references.
  • Allows OpenAPI specification transformation using standard Unix utilities like jq or yq.
  • Includes a debugging tool, the MCP Inspector (npx @modelcontextprotocol/inspector), for testing and troubleshooting.
  • Implements JSON-RPC 2.0 over stdio for MCP communication.

Maintenance & Community

Licensing & Compatibility

  • Licensed under the Apache License, Version 2.0.
  • Permits commercial use and linking with closed-source applications.

Limitations & Caveats

emcee currently only supports MCP tool capabilities; features like resources, prompts, and sampling are not yet implemented. Authentication is not applied when downloading OpenAPI specifications from URLs.

Health Check
Last commit

1 week ago

Responsiveness

1 day

Pull Requests (30d)
2
Issues (30d)
0
Star History
48 stars in the last 90 days

Explore Similar Projects

Starred by Tobi Lutke Tobi Lutke(Cofounder of Shopify), John Resig John Resig(Author of jQuery; Chief Software Architect at Khan Academy), and
12 more.

opencode by sst

7.8%
16k
CLI tool for AI-assisted coding in the terminal
created 3 months ago
updated 1 day ago
Feedback? Help us improve.