Echolot
AI

외부 에이전트

Claude Code, Claude Desktop, Cursor, VS Code, Codex 같은 MCP 클라이언트가 Echolot의 MCP 서버를 통해 사용자의 승인 아래 작업 공간에서 작업하게 합니다.

Echolot에는 자체 MCP 서버가 있습니다. Claude Code, Claude Desktop, Cursor, VS Code, Codex 같은 AI 클라이언트는 이 서버를 통해 저장된 요청을 나열하고, 요청을 보내고, 응답을 읽고, 검사를 추가하고, 폴더를 실행할 수 있습니다. 앱이 쓰는 도구와 같은 도구입니다. 작업 공간이 Echolot에서 열려 있는 동안 클라이언트의 호출은 앱 안에서 실행됩니다. 데이터를 변경할 수 있는 작업은 사용자가 승인하고, 모든 호출을 확인할 수 있으며, 비밀 값은 에이전트에 전달되지 않습니다.

작동 방식

클라이언트는 작업 공간 경로와 함께 echolot mcp serve를 시작합니다. 이후의 동작은 앱의 상태에 따라 달라집니다.

  • 작업 공간이 Echolot에서 열려 있고 에이전트가 켜져 있는 경우. 명령이 앱에 연결되고 클라이언트의 호출은 작업 공간의 윈도우에서 실행됩니다. 승인이 필요한 호출은 시트로 사용자에게 묻고, 모든 호출은 페이지 헤더의 에이전트에 표시됩니다.
  • 그 밖의 경우(앱이 닫혀 있거나, 작업 공간이 열려 있지 않거나, 에이전트가 꺼져 있는 경우) 명령이 작업 공간을 단독으로 제공합니다. 물어볼 사람이 없으므로 승인이 필요한 작업은 거부됩니다. 단독 실행을 참조하십시오.

열려 있는 각 윈도우는 자신의 작업 공간을 127.0.0.1에서만, 시스템이 고른 포트로, 그 세션을 위해 만든 임의의 토큰을 제시하는 호출자에게만 제공합니다. 명령은 Echolot의 Application Support 폴더에 있는 비공개 파일로 윈도우를 찾습니다. 네트워크에서는 아무것도 수신 대기하지 않습니다.

에이전트 켜기

설정 › 에이전트를 열고 에이전트가 열린 작업 공간을 사용하도록 허용을 켭니다. 켜기 전에는 꺼져 있습니다. 같은 스위치가 작업 공간 윈도우의 페이지 헤더에 있는 에이전트 팝오버에도 있습니다.

Echolot에서 작업 공간을 엽니다. 윈도우가 작업 공간을 제공하는 동안 페이지 헤더의 에이전트 옆에 있는 점이 녹색으로 바뀝니다. 클라이언트가 연결되어 있으면 그 수가 표시됩니다.

아래 설명대로 클라이언트를 연결합니다. 작업 공간과 클라이언트마다 한 번만 하면 됩니다.

작업 공간 스스로 에이전트를 끌 수도 있습니다. 작업 공간 설정 › 에이전트 › 에이전트의 이 작업 공간 사용 허용을 끄면 앱을 통하든 단독으로 실행하든 클라이언트는 이 작업 공간에서 아무것도 얻지 못합니다.

클라이언트 연결

페이지 헤더에서 에이전트를 클릭합니다. 클라이언트 연결 아래에 클라이언트마다 버튼이 있습니다.

페이지 헤더의 에이전트 팝오버. 에이전트를 허용하는 스위치, 연결된 클라이언트, 최근 호출, 클라이언트 연결 버튼이 보입니다
클라이언트버튼동작
Claude DesktopClaude에 추가이 작업 공간용 Claude Desktop 확장을 만들어 Claude Desktop에서 엽니다. Claude Desktop이 확인을 요청합니다. 직접 다운로드 버전에서만 사용할 수 있습니다.
Claude Code명령어 복사claude mcp add 명령어를 복사합니다. 터미널에 붙여넣습니다.
CursorCursor에 추가MCP 서버를 설치하는 Cursor의 안내를 엽니다.
VS CodeVS Code에 추가MCP 서버를 설치하는 VS Code의 안내를 엽니다.
Codexconfig.toml 항목 복사Codex의 config.toml에 붙여넣을 항목을 복사합니다.
기타JSON 복사대부분의 MCP 클라이언트가 읽는 형식인 mcpServers 항목을 복사합니다.

그 아래에는 명령 자체와 복사가 있어, 명령과 인수를 요구하는 어떤 클라이언트에도 쓸 수 있습니다.

클라이언트에서 서버 이름은 echolot-에 작업 공간 이름을 붙인 것입니다. Alpenglow 작업 공간의 Claude Code 명령은 다음과 같습니다 (echolot의 경로는 앱 안에 있는 도구입니다).

claude mcp add --scope user echolot-alpenglow -- /Applications/Echolot.app/Contents/Helpers/echolot mcp serve ~/Alpenglow.echolot

Codex 항목은 다음과 같습니다.

[mcp_servers.echolot-alpenglow]
command = "/Applications/Echolot.app/Contents/Helpers/echolot"
args = ["mcp", "serve", "/Users/you/Alpenglow.echolot"]

터미널에서 echolot mcp setup <client> -w <workspace>를 실행하면 claude-code, claude-desktop, cursor, vscode, codex에 대해 같은 설정을 출력합니다. echolot mcp를 참조하십시오.

Mac App Store 버전

App Store 버전에는 앱 안에 명령줄 도구가 없고 Claude Desktop 확장도 없습니다. 명령줄 도구는 따로 설치합니다(설정 › 에이전트와 에이전트 팝오버의 명령줄 도구 받기에서 다운로드로 이동합니다). 클라이언트가 이 도구를 실행하며, 작업 공간이 Echolot에서 열려 있는 동안에는 클라이언트의 호출이 여전히 앱 안에서 실행됩니다. 버튼은 명령이나 스니펫을 복사하거나 클라이언트의 설치 안내를 열 뿐, 다른 앱의 폴더에는 아무것도 쓰지 않습니다.

버전 비교하기

한 번의 클릭으로 Claude Desktop 연결

직접 다운로드 버전 전용

Claude Desktop 확장(.mcpb)에는 명령줄 도구가 들어 있으므로 직접 다운로드 버전에서만 사용할 수 있습니다.

버전 비교하기

설정 › 에이전트 › Claude Desktop에 최근 작업 공간이 나열됩니다. 작업 공간 옆의 Claude에 추가를 누르면 에이전트를 켜고, 그 작업 공간용 확장을 만들어 Claude Desktop에 전달하며, Claude Desktop이 확인을 요청합니다. Claude Desktop이 확장을 받으면 행에 추가됨이라고 표시됩니다. 나중에 확장을 업데이트하려면 Control 키를 누른 채 추가됨을 클릭하고 다시 추가를 선택합니다.

Claude Desktop이 설치되어 있지 않으면 이 섹션에 Claude Desktop 받기 링크와 함께 그 사실이 표시되고, Claude에 추가는 확장을 Finder에서 보여 줍니다.

도구 모음

에이전트에게 보이는 도구는 모두 그 컨텍스트의 공간을 차지하므로 Echolot은 도구를 그룹으로 나누어 제공합니다. 설정 › 에이전트 › 에이전트용 도구에서 선택합니다. 요청은 항상 켜져 있으며, 요청과 플로는 바꾸기 전까지 켜져 있습니다. 이 체크 상자는 에이전트에게 보이는 도구를 정할 뿐, 묻지 않고 할 수 있는 일을 정하지 않습니다. 모든 도구는 데이터를 변경하거나 새로운 호스트에 접근하기 전에 여전히 묻습니다. 내장 어시스턴트가 무엇을 묻는지는 설정 › 어시스턴트 › 사전 확인에서 정합니다.

도구 모음에이전트가 할 수 있는 일
요청요청 나열, 읽기, 만들기, 보내기. 응답, 기록, GraphQL, 실행 중인 모의 서버
플로에이전트에게 제공된 플로를 실행하고, 플로가 묻는 말에 답하기
작업 공간폴더와 요청 만들기, 이름 변경, 이동, 복제, 삭제. 폴더의 인증, 작업 공간 변수. 수집한 데이터를 파일로 저장
환경환경 만들기, 변경, 삭제
명세OpenAPI 명세 읽기, 쓰기, 린트. 폴더를 명세에 연결하고 변경 사항 적용
모의 서버모의 서버와 그 경로를 가짜 데이터와 함께 만들기, 변경, 삭제. 경로에서 요청 만들기. 응답을 예시로 저장
MCP 서버MCP 서버 추가, 변경, 확인, 삭제
기록지난 교환 열기, 비교, 삭제
플로 편집플로 읽기, 그리기, 삭제. 사용자가 승인하면 플로를 한 번 시험 실행

기본 도구 모음에서 에이전트는 요청을 나열, 읽기, 만들기, 업데이트, 보내기, 검사와 함께 폴더 실행하기, 응답을 조각별로 읽기, 기록 보기, GraphQL 쿼리 확인, 요청을 cURL이나 코드로 복사, 가져오기, 명세 린트, 모의 서버 시작과 중지, 에이전트에게 제공된 플로 실행 같은 도구를 받습니다. 프롬프트도 debug_request와 write_tests 두 개를 받습니다.

도구 모음을 바꾸면 열려 있는 윈도우는 새 구성으로 다시 제공을 시작합니다. 새 구성을 적용하려면 클라이언트를 다시 연결하십시오.

제공되지 않는 것은 어떤 도구 모음에서도 제공되지 않습니다. 에이전트 규칙, 프록시, 인증서, 작업 공간의 인증, 인증을 넘어선 폴더 설정, 스크립트(요청, 폴더, 모의 서버 스크립트), 비밀 값으로 가져오거나 서명하는 인증(OAuth 2.0, AWS, JWT 등)의 변경입니다. 이 항목은 사용자만 다룰 수 있습니다.

에이전트는 요청과 폴더에 bearer, basic, API 키 인증을 지정할 수 있고, 요청이 응답의 값을 보관하게 할 수도 있습니다 (로그인의 토큰을 그 뒤의 요청에서 쓰는 경우). create_request와 update_request는 auth와 captures를 받고, save_folder_auth는 폴더의 요청이 상속하는 인증을 설정합니다. 자격 증명은 {{variables}}여야 합니다. 에이전트가 비밀번호나 토큰을 직접 쓰면 거부되므로 자격 증명이 파일에 남지 않습니다. 이름이 자격 증명처럼 보이는(token, password, key…) 캡처 값은 비밀 값으로 보관됩니다.

에이전트는 자신에게 제공된 플로(플로 목록에서 반짝이 표시가 붙은 것)를 전용 도구로 시작하며, 플로의 현재 상태에 대한 사용자의 승인을 거칩니다. 플로 실행을 참조하십시오. 플로 편집을 켜면 try_flow가 에이전트가 그리고 있는 플로를 포함해 다른 플로를 한 번 실행합니다. 이때 플로가 보내고, 저장하고, 실행하는 내용을 볼 수 있으며, 규칙과 관계없이 그 실행을 매번 승인하게 됩니다. 이 세션 동안 허용은 플로의 그 버전에만 적용됩니다.

에이전트가 하는 일 보기

윈도우가 작업 공간을 제공하는 동안, 페이지 헤더의 에이전트 팝오버에는 다음이 표시됩니다.

  • 호출한 각 클라이언트와 그 호출 횟수, 실패 횟수, 마지막으로 확인된 시각. 클라이언트의 스위치를 끄면 이후 그 클라이언트의 호출과 대기 중인 승인이 거부됩니다.
  • 최근 호출: 최근 호출의 도구, 클라이언트, 시각, 소요 시간, 오류.

클라이언트가 호출하기 전에는 아직 이 작업 공간을 사용한 에이전트가 없습니다.라고 표시됩니다. 에이전트가 꺼져 있으면 클라이언트가 사용자의 승인 없이 단독으로 계속 작동한다고 안내합니다.

에이전트가 보내는 모든 요청은 클라이언트 이름과 함께 작업 공간의 기록에도 남습니다.

승인

클라이언트가 규칙상 묻게 되어 있는 작업을 하려고 하면 작업 공간의 윈도우에 시트가 나타납니다. 클라이언트에서 데이터를 변경할 수 있는 요청을 보내려고 합니다라는 문구와 함께, 비밀 값을 가린 상태로 실제 전송될 요청이 표시됩니다. 한 번 허용, 이 세션 동안 허용(윈도우가 닫힐 때까지 같은 호출을 묻지 않고 실행), 거부 중에서 선택합니다. 5분 안에 답하지 않은 질문은 거부됩니다. 이 시트는 어시스턴트가 쓰는 시트와 같습니다.

작업 공간 규칙이 없을 때 묻는 항목은 다음과 같습니다.

작업기본값
요청 및 환경 읽기허용
안전한 전송(GET, GraphQL 쿼리, MCP 읽기)허용
기타 전송묻기
보호된 환경으로 전송묻기(항상)
새로운 호스트로 전송묻기(항상)
작업 공간 변경묻기
삭제묻기

새로운 호스트는 윈도우가 제공을 시작할 때 작업 공간의 어떤 요청이나 환경도 사용하지 않던 호스트입니다. 에이전트가 읽은 데이터가 그 호스트로 나갈 수 있으므로 항상 묻습니다. 보호된 환경으로 보내는 경우도 마찬가지입니다.

작업 공간 규칙

작업 공간 설정 › 에이전트(사이드바 아래쪽의 작업 공간 메뉴에서 작업 공간 설정…)에서 이 작업 공간의 규칙을 정합니다. 규칙은 workspace.toml에 저장되므로 Git을 통해 작업 공간과 함께 이동하며, 외부 에이전트와 어시스턴트 모두에 적용됩니다.

  • 에이전트의 이 작업 공간 사용 허용: 끄면 에이전트는 이 작업 공간에서 아무것도 얻지 못합니다.
  • 에이전트가 할 수 있는 작업: 위 표의 작업마다 규칙 하나를 정합니다. 기본값(기본값이 무엇인지 함께 표시), 허용, 묻기, 거부 중에서 고릅니다. 보호된 환경과 새로운 호스트로의 전송은 묻기나 거부만 선택할 수 있습니다.
  • 호스트 및 제한:
    • 허용된 호스트: 에이전트가 보낼 수 있는 호스트. 쉼표나 공백으로 구분합니다.
    • 세션당 전송 횟수: 에이전트가 한 세션에서 보낼 수 있는 최대 전송 횟수. 비워 두면 제한이 없습니다.
    • 분당 전송 횟수: 에이전트가 1분 동안 보낼 수 있는 최대 전송 횟수. 비워 두면 제한이 없습니다.

더 엄격한 규칙은 항상 적용됩니다. 파일과 함께 들어온(Git으로 팀원에게서 받은) 더 느슨한 규칙은 사용자가 신뢰하기 전까지 사용자의 Mac에서 적용되지 않습니다. 그때까지 에이전트 팝오버에는 작업 공간의 규칙이 묻지 않고 허용하게 될 작업이 표시되고, 에이전트는 계속 묻습니다. 이 규칙 신뢰를 선택하면 규칙을 받아들입니다. 작업 공간 설정에서 직접 정한 규칙은 신뢰된 것으로 취급합니다.

에이전트가 절대 얻지 못하는 것

  • 비밀 값. Echolot은 에이전트가 받는 모든 내용(오류 포함)에서 모든 비밀 값을 일반 텍스트, JSON, URL 인코딩, Base64 형태로 치환합니다. 에이전트는 비밀 변수를 이름으로만 볼 수 있습니다.
  • 기록의 자격 증명. 지난 교환은 자격 증명 헤더를 가리고 통신 캡처를 제외한 채 에이전트에 전달됩니다.
  • 다른 호스트에서의 비밀 값. 에이전트가 보낸 요청이 작업 공간에서 사용하지 않는 호스트로 리디렉션되면, 그 과정에서 자격 증명 헤더가 제거됩니다.

단독 실행

앱에서 작업 공간이 열려 있지 않거나 --headless를 쓰면 echolot mcp serve가 작업 공간을 직접 제공하고 정책이 단독으로 결정합니다.

--policy실행되는 것거부되는 것
standard(기본값)읽기와 안전한 전송기타 전송, 변경, 삭제, 보호된 환경, 새로운 호스트
readonly읽기모든 전송, 변경, 삭제
permissive읽기, 모든 전송, 변경삭제, 보호된 환경, 새로운 호스트

비밀 값은 이 Mac의 키체인과 ECHOLOT_SECRET_… 변수에서 가져오며 에이전트에는 전달되지 않습니다. --toolsets는 그룹을 고르고 (all은 모든 그룹), --env는 호출이 환경을 지정하지 않을 때 쓸 환경을 고르며, --http 0은 표준 입출력 대신 토큰을 사용하는 Streamable HTTP를 127.0.0.1에서 제공합니다. 작업 공간 자체의 규칙은 정책을 더 엄격하게 하며, --trust-workspace-policy를 쓰면 정책을 느슨하게도 할 수 있습니다. echolot mcp를 참조하십시오.

echolot mcp serve ~/Alpenglow.echolot --policy readonly --toolsets requests,history

문제 해결

  • 클라이언트가 연결되지만 아무것도 묻지 않고 변경이 거부됩니다. 명령이 단독으로 제공 중입니다. Echolot에서 작업 공간을 열고 설정 › 에이전트 › 에이전트가 열린 작업 공간을 사용하도록 허용을 켠 다음 클라이언트를 다시 연결하십시오.
  • 클라이언트가 도구를 전혀 받지 못합니다. 작업 공간 설정 › 에이전트에서 에이전트의 이 작업 공간 사용 허용이 꺼져 있거나, 에이전트 팝오버에서 클라이언트의 스위치를 껐기 때문입니다.
  • 에이전트에 필요한 도구가 없습니다. 설정 › 에이전트 › 에이전트용 도구에서 해당 도구 모음을 켜고 클라이언트를 다시 연결하십시오.
  • Claude에 추가가 흐리게 표시됩니다. 이 빌드에는 앱 안에 명령줄 도구가 없습니다. echolot.dev의 릴리스에는 들어 있습니다.

이 페이지에서