Earl은 에이전트 (agents)와 외부 서비스 (external services) 사이에 위치합니다. 작업 (Operations)은 저장소 (repository)에 커밋되는 HCL 파일로 구성됩니다. LLM (Large Language Model)은 도구 이름과 설명만을 확인하며, 템플릿 본문 (template body)은 절대 읽지 않습니다. API 응답에 주입된 지시 사항 (injected instruction)은 실행을 담당하는 요청의 부분을 LLM이 읽지 않기 때문에 전달될 곳이 없습니다.
비밀 정보 (Secrets)는 OS 키체인 (OS keychain)에 유지됩니다. 이들은 도구 인자 (tool arguments), 도구 설명 (tool descriptions), 또는 출력 (output)에 포함되지 않습니다.
# 설치 (Install)
curl -fsSL https://raw.githubusercontent.com/mathematic-inc/earl/main/scripts/install.sh | bash
# 프로바이더 템플릿 (provider template) 가져오기
...
에이전트에서 MCP 도구 (MCP tools)로 Earl을 사용하려면, MCP 설정 (MCP config)에 추가한 후 재시작하십시오. Claude Code와 Cursor는 동일한 형식을 사용합니다:
{
"mcpServers": {
"earl": {
...
MCP 도구는 재시작 후에 활성화됩니다. 현재 세션에서는 Bash 도구 (Bash tool)를 통해 earl call --yes --json을 사용하십시오.
전체 과정을 확인하려면 Quick Start를 참조하거나, 에이전트가 설치 및 설정을 처리하도록 하려면 Agent-Assisted Setup을 참조하십시오.
사용자는 메서드 (method), URL, 인증 (auth), 파라미터 (parameters)를 포함하여 작업을 기술하는 HCL 템플릿을 작성합니다. 에이전트가 도구를 호출하면, Earl은 템플릿을 로드하고, OS 키체인에서 필요한 비밀 정보 (secret)를 읽어오며, 에이전트가 제공한 값에 대해 Jinja 표현식 (Jinja expressions)을 렌더링하고, 요청을 실행합니다. LLM은 오직 파라미터 값 (parameter values)만을 제공합니다. 요청의 다른 모든 부분 — URL, 인증 헤더 (auth header), 메서드 — 은 사람이 작성하여 저장소에 커밋한 것입니다.
전체 보안 모델 (security model)은 How Earl Works를 참조하십시오.
- 서론 (Introduction) — Earl이 존재하는 이유, 보안 모델 (security model)의 작동 방식
- 빠른 시작 (Quick Start) — 설치, 첫 호출, 5단계로 구성된 MCP 설정
- 템플릿 작성 (Writing Templates) — HTTP, GraphQL, gRPC, Bash, SQL; 인증 (auth); 결과 포맷팅 (result formatting)
- 템플릿 스키마 (Template Schema) — 필드별 참조
- 비밀 정보 및 인증 (Secrets & Auth) — OS 키체인 (keychain) 저장소, OAuth2 플로우 (flows)
- 외부 비밀 정보 (External Secrets) — 1Password, Vault, AWS, GCP, Azure
- MCP 통합 (MCP Integration) — stdio 및 HTTP 전송 (transport), 전체 모드 (full mode) 대 탐색 모드 (discovery mode)
- 정책 엔진 (Policy Engine) — HTTP 배포를 위한 JWT 인증 및 액세스 제어 (access control)
- 환경 (Environments) — 운영 (production), 스테이징 (staging), 환경별 재정의 (overrides)
- 보안 강화 (Hardening) — SSRF 보호, 송신 허용 목록 (egress allowlist), 운영 환경 체크리스트
- 명령어 (Commands) — 전체 CLI 참조
- 문제 해결 (Troubleshooting) — 키체인 (keychain) 오류, 템플릿 검증 (validation), MCP 문제
Apache-2.0
이 프로젝트는 501(c)(3) 비영리 단체의 자유로운 오픈 소스 작업물입니다. 이 프로젝트가 유용하다고 느끼신다면 기부를 고려해 주세요.