Glen

공식

팀을 위한 에이전트 메모리 MCP 서버입니다. 팀의 코딩 에이전트(Claude Code, Codex, Cursor)가 공유하는 메모리에서 과거의 결정과 해결 방법을 출처와 함께 검색하고, 팀 스킬과 문서를 사용하거나 저장하세요.

Glen MCP(으)로 무엇을 할 수 있나요?

  • 팀 메모리 검색 — 조직의 메모리에 질문하고 Glen에서 이미 확인할 수 있는 내용을 바탕으로 답변을 받습니다.
  • 코드가 존재하는 이유 찾기 — 코드 검색을 통해 특정 코드의 작성 배경을 알아봅니다.
  • 저장된 스킬 실행 — 슬러그로 팀 스킬의 Markdown 지침을 가져와 에이전트가 따르도록 합니다.
  • 스킬 또는 문서 저장 및 공유 — 스킬이나 Markdown/HTML 자료를 비공개로 저장하거나 조직 전체와 공유합니다.
  • 기억 바로잡기 — 잘못되었거나 오래된 기억을 잊고, 필요하면 나중에 복원합니다.
  • 이전 대화 가져오기 — 요청하면 이전 에이전트 세션을 팀 메모리에 추가합니다.

호스팅형 MCP 서버

npx add-mcp 'https://mcp.tryglen.com/mcp'

Claude Code, Codex, Cursor 등에 설치됩니다

문서

팀의 에이전트 메모리를 모든 MCP 클라이언트에서 사용할 수 있는 단일 엔드포인트.

Glen의 원격 MCP 서버는 클라이언트에 조직의 메모리, 스킬, 저장된 문서를 22개의 도구로 제공합니다. 이 페이지에서는 엔드포인트, 두 가지 로그인 방법, 각 도구의 입력과 출력, 클라이언트가 무엇을 물어볼지 결정할 때 사용하는 힌트, 그리고 제한 사항을 다룹니다.

서버 URLhttps://mcp.tryglen.com/mcp
전송 방식Streamable HTTP (POST, GET 및 /mcp의 DELETE)
로그인동적 클라이언트 등록을 사용하는 OAuth 2.1 또는 개인 API 키
도구22개, 각각 제목과 동작 힌트 포함
요청 시간 제한60초
요청 크기 제한요청당 4.5 MB

엔드포인트

https://mcp.tryglen.com/mcp

정확히 https://mcp.tryglen.com/mcp에 연결하세요. OAuth 토큰은 해당 URL을 대상으로 발급되며, MCP 클라이언트는 메타데이터에 다른 URL이 명시된 서버를 거부합니다. https://app.tryglen.com/mcp은 해당 URL로 영구 리디렉션되며, OAuth 검색 문서를 제외한 mcp.tryglen.com의 다른 모든 경로는 Glen 앱으로 리디렉션됩니다.

서버는 Streamable HTTP를 사용합니다. 클라이언트는 JSON-RPC 메시지를 /mcp에 POST하고, 서버 메시지를 받기 위해 GET 스트림을 열 수 있으며, 세션을 종료할 때 DELETE를 보냅니다.

로그인

모든 요청은 두 가지 방법 중 하나로 인증되며, 두 방법 모두 동일한 결과로 이어집니다. 즉, 한 조직에 속한 한 명의 사용자로 처리됩니다.

OAuth, 채팅 클라이언트 및 대부분의 MCP 클라이언트용

  1. 01 클라이언트는 토큰 없이 https://mcp.tryglen.com/mcp을 호출하고, WWW-Authenticate: Bearer resource_metadata="https://mcp.tryglen.com/.well-known/oauth-protected-resource/mcp" 및 범위 openid profile email read:organization offline_access이 포함된 401 Unauthorized를 받습니다.
  2. 02 보호된 리소스 메타데이터에는 권한 부여 서버인 https://app.tryglen.com/api/auth이 명시되어 있으며, 해당 서버의 메타데이터는 /.well-known/oauth-authorization-server에 있습니다.
  3. 03 클라이언트는 동적 클라이언트 등록을 통해 자신을 등록합니다. 사전 등록이나 클라이언트 암호는 필요하지 않습니다. 데스크톱 및 CLI 클라이언트에서는 루프백 리디렉션 URI(http://127.0.0.1)를 허용합니다.
  4. 04 사용자는 PKCE를 사용하는 권한 부여 코드 흐름을 거칩니다. Glen 로그인 페이지, 둘 이상의 조직에 속한 경우 조직 선택기, 그리고 동의 페이지 순서로 진행됩니다.
  5. 05 클라이언트는 서명된 액세스 토큰(발급자 https://app.tryglen.com/api/auth, 대상 https://mcp.tryglen.com/mcp)을 받으며, offline_access이 부여되므로 새로 고침 토큰도 받습니다. 토큰에는 선택한 조직이 https://app.tryglen.com/org_id 클레임으로 포함됩니다.

토큰은 로그인 시 선택한 조직에 계속 연결됩니다. 다른 조직을 사용하려면 연결을 해제한 후 다시 연결하세요. glen_list_orgs에서 연결에 사용 중인 조직을 확인할 수 있습니다.

API 키, 스크립트 및 glen CLI용

Glen 대시보드의 설정 → API 키에서 키를 만드세요. 키는 개인용입니다. 조직이 아니라 사용자에게 속하며, 사용자가 속한 모든 조직에서 작동합니다. 각 요청은 헤더에 조직을 지정해야 합니다.

POST /mcp HTTP/1.1
Host: mcp.tryglen.com
x-api-key: <your key>
x-glen-org-id: <organization id>

x-glen-org-id이 없으면 서버는 401로 응답합니다. 요청을 기록에 남기지 않으려면 no active organization: run `glen org switch`. Add x-glen-incognito: true를 사용하세요. 요청에 API 키와 bearer 토큰이 모두 포함된 경우 키를 확인합니다.

모든 요청에서 확인

도구를 실행하기 전에 서버는 사용자가 여전히 존재하고 해당 조직의 구성원인지 확인합니다. 조직에서 사용자를 제거하거나 계정을 삭제하면 만료를 기다리지 않고 다음 요청부터 토큰과 키의 사용이 차단됩니다. 실패 시 동일한 WWW-Authenticate 헤더와 함께 401이 반환되므로 클라이언트는 로그인을 다시 시작할 수 있습니다.

도구

각 도구는 JSON 객체를 입력으로 받고 결과를 JSON 텍스트로 반환합니다. 읽기 도구는 사용자 권한으로 작동합니다. 연결된 조직의 Glen 대시보드에서 이미 볼 수 있는 내용만 반환합니다. 쓰기 도구는 사용자의 계정, 사용자가 작성한 콘텐츠 또는 사용자를 대신해 조직의 메모리만 변경합니다.

검색 및 회상

조직의 메모리에 질문하거나 특정 코드가 존재하는 이유를 물어보세요.

스킬

스킬은 팀이 한 번 저장하면 모든 에이전트가 실행할 수 있는 Markdown 지침이며, 선택적으로 파일을 포함할 수 있습니다. 공유하기 전까지 작성자에게만 공개됩니다.

스킬 사용

읽기 전용

glen_skill_use

슬러그로 스킬의 지침을 가져와 에이전트가 따를 수 있도록 합니다.

slug

(string)

glen_skill_search에서 가져온 정확한 슬러그입니다.

conversationId

(string, optional)

사용량 집계를 위한 호출 세션의 ID입니다.

cached

(object, optional)

클라이언트가 이미 보유한 스킬(슬러그와 마지막 업데이트 시간)입니다. 참조된 스킬을 다시 보내지 않도록 합니다.

반환값: 스킬의 Markdown 지침이 콘텐츠로 반환되며, 파일과 클라이언트가 아직 보유하지 않은 참조 스킬도 함께 반환됩니다.

rate limit: 사용자당 분당 600회 호출

스킬 저장

쓰기. 검색을 포함한 계획이 필요합니다.

glen_skill_create

Markdown 스킬을 라이브러리에 저장합니다. 공유하기 전까지는 비공개입니다.

name

(string, 최대 120자)

스킬 이름입니다. 이 이름으로 슬러그가 만들어집니다.

description

(string, 최대 500자)

언제 사용할지 설명하는 한 줄입니다.

content

(string, 최대 1 MB)

SKILL.md 본문입니다.

files

(array, 최대 100개, optional)

각각 경로와 콘텐츠 유형이 있는 스크립트, 참조 자료 또는 에셋입니다.

dependencies

(array, optional)

기존 종속성 ID 또는 새 종속성(name, description, sourceUrl, kind)입니다.

org

(boolean, optional)

true이면 전체 조직과 공유합니다.

update

(boolean, optional)

true이면 이름이 같은 기존 스킬을 본인의 스킬로 교체합니다.

반환값: 슬러그, 기존 스킬이 업데이트되었는지 여부, 조직과 공유되는지 여부입니다.

rate limit: 사용자당 분당 600회 호출

스킬 삭제

삭제

glen_skill_delete

작성한 스킬을 영구적으로 삭제합니다. 요청한 경우에만 실행됩니다.

slug

(string)

사용자가 작성한 스킬입니다. 공유 대상 모두에게서 삭제됩니다.

반환값: 스킬이 삭제되었다는 확인 메시지입니다.

rate limit: 사용자당 분당 600회 호출

아티팩트

아티팩트는 저장된 문서입니다(Markdown 또는 JavaScript가 없는 HTML 및 CSS). 공유하기 전까지는 작성자에게만 공개됩니다.

아티팩트 가져오기

읽기 전용

glen_artifact_get

슬러그로 저장된 문서를 가져옵니다.

slug

(string)

정확한 슬러그입니다.

반환값: 슬러그, 제목, 형식, 전체 콘텐츠, 요약 및 작성자입니다.

rate limit: 사용자당 분당 600회 호출

아티팩트 저장

쓰기

glen_artifact_create

Markdown 또는 HTML 문서를 라이브러리에 저장합니다. 공유하기 전까지는 비공개입니다.

title

(string, 최대 200자)

문서 제목입니다. 이 제목으로 슬러그가 만들어집니다.

format

(markdown 또는 html)

HTML에는 CSS를 포함할 수 있지만 JavaScript는 포함할 수 없습니다.

content

(string, 최대 200,000자)

문서입니다.

shareWithOrg

(boolean, optional)

true이면 전체 조직과 공유합니다.

update

(boolean, optional)

true이면 제목이 같은 기존 문서를 본인의 문서로 교체합니다.

반환값: 슬러그, 기존 문서가 업데이트되었는지 여부, 조직과 공유되는지 여부입니다.

rate limit: 사용자당 분당 30회 호출

아티팩트 삭제

삭제

glen_artifact_delete

작성한 문서를 영구적으로 삭제합니다. 요청한 경우에만 실행됩니다.

slug

(string)

사용자가 작성한 문서입니다.

반환값: 문서가 삭제되었다는 확인 메시지입니다.

rate limit: 사용자당 분당 600회 호출

메모리 수정 및 가져오기

잘못된 메모리를 잊어 회상을 정확하게 유지하고, 다시 복원하거나, 과거 에이전트 대화를 추가하세요.

과거 대화 가져오기

쓰기

glen_import

요청을 받으면 과거 에이전트 대화를 팀 메모리에 추가합니다.

conversationId

(string)

한 세션의 모든 턴에서 동일한 import:<session id>입니다.

idempotencyKey

(string)

<conversationId>:<turn index>입니다. 다시 실행하면 이미 가져온 턴은 건너뜁니다.

messages

(array (1~100개))

해당 턴의 사용자 메시지와 답변입니다. 각각 role, content, 원래 발생 시각인 occurredAt을 포함합니다.

additionalContext

(object, optional)

에이전트 이름과 작업 공간(cwd, branch, repoName, remoteUrl)입니다.

반환값: 턴이 저장되었는지 또는 이미 가져온 상태였는지, 추가된 메시지 수입니다.

rate limit: 사용자당 분당 600회 호출

근거 잊기

쓰기

glen_forget

잘못되었거나 오래된 메모리가 다시 회상되지 않도록 합니다. glen_restore로 되돌릴 수 있습니다.

references

(string[] (1~50개))

검색 출처의 observation:<id> 또는 message:<id> 참조입니다.

반환값: 잊힌 참조, 이미 잊힌 참조, 그리고 그 뒤에 있는 모든 메시지가 잊혀져 숨겨진 메모리 수입니다.

rate limit: 사용자당 분당 600회 호출

잊힌 근거 복원

쓰기

glen_restore

잊힌 메모리를 복원합니다.

references

(string[] (1~50개))

이전에 잊힌 참조입니다.

반환값: 복원된 참조, 변경이 필요하지 않았던 참조, 그리고 함께 다시 표시된 숨겨진 메모리 수입니다.

rate limit: 사용자당 분당 600회 호출

설정 및 조직

Glen 설정을 확인하고 변경하고, 소속 조직을 확인하고, 사람을 초대하고, 피드백을 보내세요.

조직 목록

읽기 전용

glen_list_orgs

소속된 조직을 나열하고 현재 연결에서 사용하는 조직을 표시합니다.

입력 없음.

반환값: 사용자의 조직 목록입니다. 현재 연결에서 사용하는 조직에는 active: true가 표시됩니다.

rate limit: 사용자당 분당 600회 호출

glen 설정 보기

읽기 전용

glen_status

기록 모드와 스킬 제안이 켜져 있는지 표시합니다.

입력 없음.

반환값: 사용자의 Glen 모드(on, off, incognito 또는 silent)와 스킬 제안이 켜져 있는지 여부입니다.

rate limit: 사용자당 분당 600회 호출

팀원 초대

쓰기. 소유자 및 관리자용

glen_invite

이메일로 조직에 사람을 초대합니다. 소유자와 관리자만 사용할 수 있습니다.

emails

(string[] (1~50개))

초대할 사람입니다.

role

(member 또는 admin)

기본값은 member입니다. 이 도구로 소유자를 만들 수는 없습니다.

반환값: invited, alreadyMember, failed(각 실패 사유 포함), 그리고 새 좌석에 요금이 부과되는 경우 안내 메시지입니다.

rate limit: 사용자당 분당 600회 호출

glen 모드 설정

쓰기

glen_set_recording

계정 모드를 on, off, incognito, silent 중 하나로 전환합니다.

mode

(on, off, incognito 또는 silent)

모든 기기와 에이전트에서 사용자 계정에 적용됩니다.

반환값: 저장된 모드와 변경 시각입니다.

rate limit: 사용자당 분당 600회 호출

스킬 제안 설정

쓰기

glen_set_suggestions

스킬을 저장하거나 재사용하라는 Glen의 제안을 켜거나 끕니다.

skillCreation

(boolean, optional)

완료된 작업을 새 스킬로 저장하라는 제안입니다.

skillUse

(boolean, optional)

작업에 적합한 기존 스킬을 제안합니다.

반환값: 저장된 설정입니다.

rate limit: 사용자당 분당 600회 호출

동작 힌트

모든 도구에는 네 가지 MCP 동작 힌트와 제목이 지정되어 있습니다. 클라이언트는 이를 읽고 무엇을 표시하고 무엇을 물어볼지 결정합니다. 클라이언트는 읽기 전용 도구를 묻지 않고 실행하고 쓰기 작업 전에 확인을 요청할 수 있으며, Anthropic의 커넥터 디렉터리는 도구를 읽기 전용 또는 쓰기로 분류합니다.

readOnlyHint

도구가 어떤 것도 변경하지 않을 때 true입니다. 해당 도구는 9개입니다. 검색, 코드 검색, 스킬 검색 및 사용, 종속성 검색, 아티팩트 검색 및 가져오기, 조직 목록 및 상태 확인입니다.

destructiveHint

호출로 무언가를 덮어쓰거나 제거하거나 숨길 수 있거나, 누가 볼 수 있는지를 변경할 수 있을 때 true입니다. 스킬 또는 아티팩트 저장(update: true이면 본인의 항목을 교체), 공유, 삭제 및 잊기가 해당됩니다.

idempotentHint

같은 인수로 호출을 반복해도 추가 효과가 없을 때 true입니다. 스킬 또는 아티팩트 저장, 사람 초대, 피드백 전송은 false입니다.

openWorldHint

대화 범위를 넘어 효과가 미치는 모든 쓰기 도구에서 true입니다. 공유된 스킬과 회상된 메모리는 팀원에게 표시되고, 초대는 이메일을 보내며, 설정은 모든 기기에 적용됩니다. 모든 읽기 전용 도구에서는 false입니다.

ToolreadOnlydestructiveidempotentopenWorld
glen_searchtruefalsetruefalse
glen_code_searchtruefalsetruefalse
glen_skill_searchtruefalsetruefalse
glen_skill_usetruefalsetruefalse
glen_artifact_searchtruefalsetruefalse
glen_artifact_gettruefalsetruefalse
glen_dependency_searchtruefalsetruefalse
glen_list_orgstruefalsetruefalse
glen_statustruefalsetruefalse
glen_skill_createfalsetruefalsetrue
glen_skill_sharefalsetruetruetrue
glen_artifact_createfalsetruefalsetrue
glen_artifact_sharefalsetruetruetrue
glen_importfalsefalsetruetrue
glen_forgetfalsetruetruetrue
glen_restorefalsefalsetruetrue
glen_invitefalsefalsefalsetrue
glen_set_recordingfalsefalsetruetrue
glen_set_suggestionsfalsefalsetruetrue
glen_feedbackfalsefalsefalsetrue
glen_skill_deletefalsetruetruetrue
glen_artifact_deletefalsetruetruetrue

제한 및 오류

요청 제한

제한은 사용자별 및 도구별로 계산됩니다. 제한을 초과하면 도구에서 다음과 같은 오류를 반환합니다. Too many requests. Try again in 20s.

  • 분당 60회 호출: glen_search, glen_code_search, glen_skill_search, glen_artifact_search.
  • 분당 30회 호출: glen_artifact_create. 각 문서의 요약을 기록합니다.
  • 시간당 10회 호출: glen_feedback.
  • 분당 600회 호출: 그 외 모든 도구.

크기 제한

  • 요청 본문은 최대 4.5 MB이며, 요청은 최대 60초 동안 실행될 수 있습니다.
  • 스킬 콘텐츠는 최대 1 MB, 파일은 최대 100개까지 가능합니다.
  • 아티팩트는 최대 200,000자까지 가능합니다.
  • glen_import는 호출당 최대 100개의 메시지를 처리하며, 각 메시지는 최대 100,000자까지 가능합니다.

요금제

모든 도구는 최대 15,000개의 메모리를 저장할 수 있는 Free 요금제에서 작동합니다. 요금제가 없거나 마지막 결제에 실패한 워크스페이스도 로그인하고 검색을 수행하지 않는 도구를 사용할 수 있지만, 다음 도구는 오류를 반환합니다.

glen_search, glen_code_search, glen_skill_search, glen_dependency_search, glen_skill_create, glen_artifact_search

오류에는 문제가 무엇인지, 누가 해결할 수 있는지 표시됩니다. 예를 들면 This workspace has no plan. An owner can choose one in Billing. 녹음이 일시 중지된 경우에도 glen_import는 같은 방식으로 거부됩니다. 도구 오류에는 링크나 구매 제안이 포함되지 않습니다.

기타 오류

  • HTTP 요청에서 401: 인증 정보가 없거나, 토큰 또는 키가 만료되었거나 유효하지 않거나, 사용자가 더 이상 멤버가 아닙니다. 클라이언트가 다시 로그인합니다.
  • 유효성 검사 메시지가 포함된 도구 오류: 입력이 도구의 스키마와 일치하지 않습니다. 메시지에 필드 이름이 표시됩니다.
  • 작업이 허용되지 않는다는 도구 오류: 소유자나 관리자가 아닌 사용자의 glen_invite 호출, 또는 자신이 작성하지 않은 스킬이나 문서의 삭제.
  • 항목을 찾을 수 없다는 도구 오류: 존재하지 않거나 볼 수 없는 슬러그.

클라이언트 연결

Claude와 ChatGPT에는 각각 단계별 안내 페이지가 있습니다. Glen for Claude 및 Glen for ChatGPT. OAuth를 사용하는 원격 MCP 서버를 지원하는 다른 클라이언트에는 URL만 있으면 됩니다.

Claude Code

claude mcp add --transport http glen https://mcp.tryglen.com/mcp

Cursor 및 mcp.json을 읽는 클라이언트

{
  "mcpServers": {
    "glen": {
      "url": "https://mcp.tryglen.com/mcp"
    }
  }
}

클라이언트는 처음 연결할 때 Glen 로그인 페이지를 엽니다. 코딩 에이전트에는 보통 glen 플러그인이 더 적합합니다. 팀 메모리에 세션을 기록하고, 에이전트가 허용하는 경우 매 턴마다 메모리를 불러옵니다. 플러그인은 이 도구 대신 glen CLI와 훅을 통해 Glen에 연결합니다. Glen for Cursor 및 Glen for pi를 참조하세요.