Skip to main content
Glama

MC 흐름도

사회자

emcee는 OpenAPI 사양을 사용하는 모든 웹 애플리케이션에 모델 컨텍스트 프로토콜(MCP) 서버를 제공하는 도구입니다. emcee를 사용하면 ChatGPT 플러그인 처럼 Claude Desktop기타 앱을 외부 도구 및 데이터 서비스에 연결할 수 있습니다.

빠른 시작

macOS를 사용하고 Homebrew가 설치되어 있다면 빠르게 작업을 시작할 수 있습니다.

지엑스피1

Claude Desktop이 설치되어 있는지 확인하세요.

emcee와 함께 사용하도록 Claude Desktop을 구성하려면:

  1. Claude 데스크톱 설정 열기(⌘,)

  2. 사이드바에서 "개발자" 섹션을 선택하세요

  3. "구성 편집"을 클릭하여 구성 파일을 엽니다.

Claude Desktop 설정 구성 편집 버튼

구성 파일은 Application Support 디렉터리에 있어야 합니다. VSCode에서 다음 명령어를 사용하여 직접 열 수도 있습니다.

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

weather.gov MCP 서버를 추가하려면 다음 구성을 추가하세요.

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

파일을 저장한 후 Claude를 종료했다가 다시 열어 보세요. 채팅 상자 오른쪽 하단에 🔨57이 표시됩니다. 이 아이콘을 클릭하면 MCP를 통해 Claude가 사용할 수 있는 모든 도구 목록을 볼 수 있습니다.

새로운 채팅을 시작하고 현재 위치의 날씨에 대해 물어보세요.

오리건주 포틀랜드의 날씨는 어때요?

Claude는 MCP를 통해 제공되는 도구를 검토하고, 귀하의 질문에 답변하는 데 적합하다고 판단되는 경우 해당 도구를 사용하도록 요청할 것입니다. 귀하는 이 요청을 검토하고 승인 또는 거부할 수 있습니다.

허락하신다면, 클로드는 MCP와 소통하여 그 결과를 바탕으로 대응 방안을 알려드립니다.

MCP 도구 사용에 대한 Claude의 반응


TIP

에이전트를 구축하고 계신가요? 원격 MCP 서버를 구축하고 싶으신가요?emcee@loopwork.com 으로 문의해 주세요.


Related MCP server: OpenAPI Client Generator MCP

왜 emcee를 사용하나요?

MCP는 AI 모델을 도구 및 데이터 소스에 연결하는 표준화된 방법을 제공합니다. 아직 초기 단계이지만, 브라우저, 개발자 도구 및 기타 시스템에 연결할 수 있는 다양한 서버가 이미 존재합니다.

emcee는 기존 MCP 서버 구현이 없는 서비스, 특히 직접 구축하는 서비스 에 연결하는 편리한 방법이라고 생각합니다. OpenAPI 사양을 준수하는 웹앱이 있으신가요? 대시보드나 클라이언트 라이브러리 없이도 얼마나 많은 것을 할 수 있는지 놀라실 겁니다.

설치

설치 프로그램 스크립트

설치 스크립트를 사용하여 플랫폼(Linux x86-64/i386/arm64 및 macOS Intel/Apple Silicon)에 맞게 미리 빌드된 emcee 릴리스를 다운로드하고 설치합니다.

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

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

홈브루

Loopwork의 탭 에서 Homebrew를 사용하여 emcee를 설치합니다.

brew install loopwork-ai/tap/emcee

도커

emcee를 사용하여 미리 빌드된 Docker 이미지를 사용할 수 있습니다.

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

소스에서 빌드

go 1.24 이상이 필요합니다.

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

빌드한 후에는 해당 위치에서 실행할 수 있습니다( ./emcee ) 또는 PATH 의 어딘가( /usr/local/bin 로 이동할 수 있습니다.

용법

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는 MCP에 대한 표준 입출력(stdio) 전송을 구현하는데, 이는 와이어 포맷으로 JSON-RPC 2.0을 사용합니다.

명령줄에서 emcee를 실행하면 stdin에서 수신하고 stdout에 출력하고 stderr에 로깅하는 프로그램이 시작됩니다.

입증

인증이 필요한 API의 경우 emcee는 여러 인증 방법을 지원합니다.

인증 유형

사용 예

결과 헤더

베어러 토큰

--bearer-auth="abc123"

Authorization: Bearer abc123

기본 인증

--basic-auth="user:pass"

Authorization: Basic dXNlcjpwYXNz

원시 가치

--raw-auth="Custom xyz789"

Authorization: Custom xyz789

이러한 인증 값은 직접 제공되거나 1Password 비밀번호 참조 로 제공될 수 있습니다.

1Password 참조를 사용할 때:

  • op://vault/item/field 형식을 사용하세요(예 --bearer-auth="op://Shared/X/credential" )

  • 1Password CLI( op )가 설치되어 PATH 에서 사용 가능한지 확인하세요.

  • emcee를 실행하거나 Claude Desktop을 시작하기 전에 1Password에 로그인하세요.

# 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"
      ]
    }
  }
}

[!중요한]
emcee는 명령 인수로 제공된 URL에서 OpenAPI 사양을 다운로드할 때 인증 자격 증명을 사용하지 않습니다. OpenAPI 사양에 액세스하기 위해 인증이 필요한 경우, 먼저 선호하는 HTTP 클라이언트를 사용하여 로컬 파일에 다운로드한 후 emcee에 로컬 파일 경로를 제공하세요.

OpenAPI 사양 변환

표준 Unix 유틸리티를 사용하여 OpenAPI 사양을 emcee에 전달하기 전에 변환할 수 있습니다. 이 기능은 다음과 같은 경우에 유용합니다.

예를 들어, jq 사용하면 weather.govpoint 도구만 포함할 수 있습니다.

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

JSON-RPC

JSON-RPC 요청을 보내면 제공된 MCP 서버와 직접 상호 작용할 수 있습니다.

NOTE

emcee는 MCP 도구 기능만 제공합니다. 리소스, 프롬프트, 샘플링과 같은 다른 기능은 아직 지원되지 않습니다.

목록 도구

{"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
}

통화 도구

{"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
}

디버깅

MCP Inspector는 MCP 서버를 테스트하고 디버깅하는 도구입니다. Claude 및/또는 emcee가 예상대로 작동하지 않을 경우, Inspector를 통해 문제를 파악할 수 있습니다.

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

특허

emcee는 Apache 라이선스 버전 2.0에 따라 라이선스가 부여되었습니다.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mattt/emcee'

If you have feedback or need assistance with the MCP directory API, please join our Discord server