Emcee

by loopwork-ai
Apache 2.0
201
  • Apple
  • Linux

maestro de ceremonias

emcee es una herramienta que proporciona un servidor de Protocolo de Contexto de Modelo (MCP) para cualquier aplicación web con especificación OpenAPI . Puedes usar emcee para conectar Claude Desktop y otras aplicaciones a herramientas y servicios de datos externos, de forma similar a los plugins de ChatGPT .

Inicio rápido

Si estás en macOS y tienes Homebrew instalado, podrás empezar a usarlo rápidamente.

# Install emcee brew install loopwork-ai/tap/emcee

Asegúrese de tener instalado Claude Desktop .

Para configurar Claude Desktop para su uso con emcee:

  1. Abra la configuración del escritorio de Claude (⌘,)
  2. Seleccione la sección "Desarrollador" en la barra lateral.
  3. Haga clic en "Editar configuración" para abrir el archivo de configuración

El archivo de configuración debe estar ubicado en el directorio de soporte de la aplicación. También puede abrirlo directamente en VSCode usando:

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

Agregue la siguiente configuración para agregar el servidor MCP de weather.gov:

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

Después de guardar el archivo, cierra y vuelve a abrir Claude. Deberías ver 🔨57 en la esquina inferior derecha del chat. Haz clic en él para ver una lista de todas las herramientas disponibles para Claude a través de MCP.

Inicia un nuevo chat y pregúntale sobre el clima donde estás.

¿Cómo es el clima en Portland, OR?

Claude consultará las herramientas disponibles a través de MCP y solicitará usar una si la considera adecuada para responder a su pregunta. Puede revisar esta solicitud y aprobarla o rechazarla.

Si lo permite, Claude se comunicará con el MCP y utilizará el resultado para informar su respuesta.


[!TIP] ¿Creando agentes? ¿Quieres implementar servidores MCP remotos? Contáctanos en emcee@loopwork.com


¿Por qué utilizar emcee?

MCP proporciona una forma estandarizada de conectar modelos de IA a herramientas y fuentes de datos. Aún es pronto, pero ya existen diversos servidores disponibles para conectarse a navegadores, herramientas de desarrollo y otros sistemas.

Creemos que emcee es una forma práctica de conectar servicios que no cuentan con una implementación de servidor MCP, especialmente para servicios que estás desarrollando tú mismo . ¿Tienes una aplicación web con una especificación OpenAPI? Te sorprenderá lo mucho que puedes llegar sin un panel de control ni una biblioteca cliente.

Instalación

Script de instalación

Utilice el script de instalación para descargar e instalar una versión precompilada de emcee para su plataforma (Linux x86-64/i386/arm64 y macOS Intel/Apple Silicon).

# fish sh (curl -fsSL https://get.emcee.sh | psub) # bash, zsh sh <(curl -fsSL https://get.emcee.sh)

Cerveza casera

Instalar emcee usando Homebrew desde el grifo de Loopwork .

brew install loopwork-ai/tap/emcee

Estibador

Hay disponibles imágenes de Docker prediseñadas con emcee.

docker run -it ghcr.io/loopwork-ai/emcee

Construir desde la fuente

Requiere go 1.24 o posterior.

git clone https://github.com/loopwork-ai/emcee.git cd emcee go build -o emcee cmd/emcee/main.go

Una vez creado, puedes ejecutarlo en el lugar ( ./emcee ) o moverlo a algún lugar en tu PATH , como /usr/local/bin .

Uso

Usage: emcee [spec-path-or-url] [flags] Flags: --basic-auth string Basic auth value (either user:pass or base64 encoded, will be prefixed with 'Basic ') --bearer-auth string Bearer token value (will be prefixed with 'Bearer ') -h, --help help for emcee --raw-auth string Raw value for Authorization header --retries int Maximum number of retries for failed requests (default 3) -r, --rps int Maximum requests per second (0 for no limit) -s, --silent Disable all logging --timeout duration HTTP request timeout (default 1m0s) -v, --verbose Enable debug level logging to stderr --version version for emcee

emcee implementa el transporte de entrada/salida estándar (stdio) para MCP, que utiliza JSON-RPC 2.0 como su formato de cable.

Cuando ejecuta emcee desde la línea de comandos, inicia un programa que escucha en stdin, genera salida en stdout y registra en stderr.

Autenticación

Para las API que requieren autenticación, emcee admite varios métodos de autenticación:

Tipo de autenticaciónEjemplo de usoEncabezado resultante
Token al portador--bearer-auth="abc123"Authorization: Bearer abc123
Autorización básica--basic-auth="user:pass"Authorization: Basic dXNlcjpwYXNz
Valor bruto--raw-auth="Custom xyz789"Authorization: Custom xyz789

Estos valores de autenticación se pueden proporcionar directamente o como referencias secretas de 1Password .

Al utilizar referencias de 1Password:

  • Utilice el formato op://vault/item/field (por ejemplo, --bearer-auth="op://Shared/X/credential" )
  • Asegúrese de que la CLI de 1Password ( op ) esté instalada y disponible en su PATH
  • Inicie sesión en 1Password antes de ejecutar emcee o iniciar Claude Desktop
# Install op brew install 1password-cli # Sign in 1Password CLI op signin
{ "mcpServers": { "twitter": { "command": "emcee", "args": [ "--bearer-auth=op://shared/x/credential", "https://api.twitter.com/2/openapi.json" ] } } }

[!IMPORTANTE]
emcee no usa credenciales de autenticación al descargar especificaciones de OpenAPI desde las URL proporcionadas como argumentos de comando. Si su especificación de OpenAPI requiere autenticación para acceder, primero descárguela a un archivo local con su cliente HTTP preferido y luego proporcione la ruta del archivo local a emcee.

Transformación de las especificaciones de OpenAPI

Puedes transformar las especificaciones de OpenAPI antes de pasarlas a emcee mediante utilidades estándar de Unix. Esto es útil para:

  • Seleccionar puntos finales específicos para exponer como herramientas con jq o yq
  • Modificar descripciones o parámetros con superposiciones de OpenAPI
  • Combinando múltiples especificaciones con Redocly

Por ejemplo, puede utilizar jq para incluir solo la herramienta point de weather.gov .

cat path/to/openapi.json | \ jq 'if .paths then .paths |= with_entries(select(.key == "/points/{point}")) else . end' | \ emcee

JSON-RPC

Puede interactuar directamente con el servidor MCP proporcionado enviando solicitudes JSON-RPC.

[!NOTA] emcee solo ofrece funciones de la herramienta MCP. Otras funciones, como recursos, indicaciones y ejemplos, aún no son compatibles.

Herramientas de lista
{"jsonrpc": "2.0", "method": "tools/list", "params": {}, "id": 1}
{ "jsonrpc":"2.0", "result": { "tools": [ // ... { "name": "tafs", "description": "Returns Terminal Aerodrome Forecasts for the specified airport station.", "inputSchema": { "type": "object", "properties": { "stationId": { "description": "Observation station ID", "type": "string" } }, "required": ["stationId"] } }, // ... ] }, "id": 1 }
Herramienta de llamada
{"jsonrpc": "2.0", "method": "tools/call", "params": { "name": "taf", "arguments": { "stationId": "KPDX" }}, "id": 1}
{ "jsonrpc":"2.0", "content": [ { "type": "text", "text": /* Weather forecast in GeoJSON format */, "annotations": { "audience": ["assistant"] } } ] "id": 1 }

Depuración

El Inspector MCP es una herramienta para probar y depurar servidores MCP. Si Claude o emcee no funcionan correctamente, el inspector puede ayudarle a comprender qué sucede.

npx @modelcontextprotocol/inspector emcee https://api.weather.gov/openapi.json # 🔍 MCP Inspector is up and running at http://localhost:5173 🚀
open http://localhost:5173

Licencia

emcee tiene licencia Apache, versión 2.0.

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Genere un servidor MCP para cualquier punto final documentado de OpenAPI.

  1. Inicio rápido
    1. ¿Por qué utilizar emcee?
      1. Instalación
        1. Script de instalación
        2. Cerveza casera
        3. Estibador
        4. Construir desde la fuente
      2. Uso
        1. Autenticación
        2. Transformación de las especificaciones de OpenAPI
        3. JSON-RPC
      3. Depuración
        1. Licencia

          Related MCP Servers

          • -
            security
            A
            license
            -
            quality
            This tool creates a Model Context Protocol (MCP) server that acts as a proxy for any API that has an OpenAPI v3.1 specification. This allows you to use Claude Desktop to easily interact with both local and remote server APIs.
            Last updated -
            548
            514
            JavaScript
            MIT License
            • Apple
            • Linux
          • -
            security
            A
            license
            -
            quality
            A Python-based MCP server that integrates OpenAPI-described REST APIs into MCP workflows, enabling dynamic exposure of API endpoints as MCP tools.
            Last updated -
            2
            39
            Python
            MIT License
            • Linux
            • Apple
          • -
            security
            A
            license
            -
            quality
            An MCP server that exposes HTTP methods defined in an OpenAPI specification as tools, enabling interaction with APIs via the Model Context Protocol.
            Last updated -
            2
            Python
            MIT License
          • -
            security
            F
            license
            -
            quality
            An MCP server that provides access to Naver OpenAPI services, enabling users to search blogs, news, books, images, and other content through standardized Model Context Protocol interfaces.
            Last updated -
            Python

          View all related MCP servers

          ID: hp6zmct9vh