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/emceeAsegúrese de tener instalado Claude Desktop .
Para configurar Claude Desktop para su uso con emcee:
Abra la configuración del escritorio de Claude (⌘,)
Seleccione la sección "Desarrollador" en la barra lateral.
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.jsonAgregue 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.
¿Creando agentes? ¿Quieres implementar servidores MCP remotos? Contáctanos enemcee@loopwork.com
Related MCP server: OpenAPI Client Generator MCP
¿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/emceeEstibador
Hay disponibles imágenes de Docker prediseñadas con emcee.
docker run -it ghcr.io/loopwork-ai/emceeConstruir 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.goUna 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 emceeemcee 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ón | Ejemplo de uso | Encabezado resultante |
Token al portador |
|
|
Autorización básica |
|
|
Valor bruto |
|
|
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
PATHInicie 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' | \
emceeJSON-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:5173Licencia
emcee tiene licencia Apache, versión 2.0.