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 個のツールとしてクライアントに提供します。このページでは、エンドポイント、2 通りのサインイン方法、各ツールの入力と出力、クライアントが質問内容を判断するために使うヒント、制限について説明します。

サーバー URLhttps://mcp.tryglen.com/mcp
トランスポートStreamable HTTP(/mcp での POST、GET、DELETE)
サインイン動的クライアント登録を使う OAuth 2.1、または個人用 API キー
ツール22 個。それぞれにタイトルと動作ヒントがあります
リクエストの制限時間60 秒
リクエストサイズの上限1 リクエストあたり 4.5 MB

エンドポイント

https://mcp.tryglen.com/mcp

https://mcp.tryglen.com/mcp に正確に接続してください。OAuth トークンはこの URL をオーディエンスとして発行されるため、メタデータに別の URL を記載したサーバーは MCP クライアントに拒否されます。https://app.tryglen.com/mcp はそこへ恒久的にリダイレクトし、OAuth ディスカバリードキュメントを除く mcp.tryglen.com 上の他のパスはすべて Glen アプリにリダイレクトされます。

サーバーは Streamable HTTP を使用します。クライアントは JSON-RPC メッセージを /mcp に POST し、サーバーメッセージ用の GET ストリームを開くことができ、セッションを終了するには DELETE を送信します。

サインイン

すべてのリクエストは 2 通りの方法のいずれかで認証され、どちらも同じ結果になります。つまり、1 つの組織に属する 1 人のユーザーとして認証されます。

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 キーとベアラートークンの両方が含まれる場合、検証されるのは API キーです。

すべてのリクエストでの確認

ツールを実行する前に、サーバーはユーザーが引き続き存在し、組織のメンバーであることを確認します。組織からユーザーを削除するか、アカウントを削除すると、トークンやキーの有効期限を待たずに、次のリクエストから利用できなくなります。エラー時には同じ WWW-Authenticate ヘッダーとともに 401 が返されるため、クライアントはサインインをやり直せます。

ツール

各ツールは JSON オブジェクトを受け取り、結果を JSON テキストとして返します。読み取りツールはユーザー本人として動作し、接続中の組織について、Glen ダッシュボードですでに閲覧できる情報だけを返します。書き込みツールが変更するのは、ユーザー自身のアカウント、ユーザーが作成したコンテンツ、またはユーザーに代わって組織のメモリに加える内容だけです。

検索と想起

組織のメモリに質問したり、特定のコードが存在する理由を尋ねたりできます。

スキル

スキルは Markdown 形式の指示で、任意のファイルを含めることができます。チームが一度保存すれば、どのエージェントでも実行できます。共有されるまでは作成者のみが閲覧できます。

スキルを使用

読み取り専用

glen_skill_use

スラッグを指定してスキルの指示を取得し、エージェントがそれに従えるようにします。

slug

(string)

glen_skill_search から取得した正確なスラッグ。

conversationId

(string, optional)

呼び出し元セッションの ID。使用回数の集計に使います。

cached

(object, optional)

クライアントがすでに保持しているスキル(スラッグと最終更新時刻の対応)。参照先のスキルがすでに保持されている場合は再送しません。

戻り値: スキルの Markdown 指示をコンテンツとして返し、ファイルと、クライアントがまだ保持していない参照先のスキルも返します。

レート制限: ユーザーあたり毎分 600 回

スキルを保存

書き込み。検索を含むプランが必要

glen_skill_create

Markdown 形式のスキルをライブラリに保存します。共有するまでは非公開です。

name

(string, up to 120)

スキル名。ここからスラッグが作成されます。

description

(string, up to 500)

使用するタイミングを説明する 1 行の文。

content

(string, up to 1 MB)

SKILL.md の本文。

files

(array, up to 100, optional)

スクリプト、参照資料、アセット。それぞれにパスとコンテンツタイプを指定します。

dependencies

(array, optional)

既存の依存関係 ID、または新しい依存関係(name、description、sourceUrl、kind)。

org

(boolean, optional)

true にすると、組織全体に共有されます。

update

(boolean, optional)

true にすると、同じ名前の自分のスキルを置き換えます。

戻り値: スラッグ、既存のスキルが更新されたかどうか、組織と共有されているかどうか。

レート制限: ユーザーあたり毎分 600 回

スキルを削除

削除

glen_skill_delete

自分が作成したスキルを完全に削除します。ユーザーが依頼した場合に限ります。

slug

(string)

自分が作成したスキル。共有先の全員から削除されます。

戻り値: スキルが削除されたことの確認。

レート制限: ユーザーあたり毎分 600 回

アーティファクト

アーティファクトは保存済みドキュメントです(Markdown、または JavaScript を含まない HTML と CSS)。共有されるまでは作成者のみが閲覧できます。

アーティファクトを取得

読み取り専用

glen_artifact_get

スラッグを指定して保存済みドキュメントを取得します。

slug

(string)

正確なスラッグ。

戻り値: スラッグ、タイトル、形式、全文、概要、作成者。

レート制限: ユーザーあたり毎分 600 回

アーティファクトを保存

書き込み

glen_artifact_create

Markdown または HTML ドキュメントをライブラリに保存します。共有するまでは非公開です。

title

(string, up to 200)

ドキュメントのタイトル。ここからスラッグが作成されます。

format

(markdown or html)

HTML には CSS を含められますが、JavaScript は含められません。

content

(string, up to 200,000 characters)

ドキュメント。

shareWithOrg

(boolean, optional)

true にすると、組織全体に共有されます。

update

(boolean, optional)

true にすると、同じタイトルの自分のドキュメントを置き換えます。

戻り値: スラッグ、既存のドキュメントが更新されたかどうか、組織と共有されているかどうか。

レート制限: ユーザーあたり毎分 30 回

アーティファクトを削除

削除

glen_artifact_delete

自分が作成したドキュメントを完全に削除します。ユーザーが依頼した場合に限ります。

slug

(string)

自分が作成したドキュメント。

戻り値: ドキュメントが削除されたことの確認。

レート制限: ユーザーあたり毎分 600 回

メモリの修正とインポート

誤ったメモリを忘れさせて想起の精度を保ち、必要に応じて復元したり、過去のエージェントとの会話を追加したりできます。

過去の会話をインポート

書き込み

glen_import

依頼に応じて、過去のエージェントとの会話をチームのメモリに追加します。

conversationId

(string)

import:<session id>。1 つのセッションのすべてのターンで同じ値を使います。

idempotencyKey

(string)

<conversationId>:<turn index>。再実行時に、すでにインポート済みのターンをスキップします。

messages

(array (1 to 100))

そのターンのユーザーメッセージと返信。それぞれに role、content、元の occurredAt を含めます。

additionalContext

(object, optional)

エージェント名とワークスペース(cwd、branch、repoName、remoteUrl)。

戻り値: ターンが保存されたか、すでにインポート済みだったか、および追加されたメッセージ数。

レート制限: ユーザーあたり毎分 600 回

根拠を忘れる

書き込み

glen_forget

誤ったメモリや古くなったメモリが再び想起されないようにします。glen_restore で元に戻せます。

references

(string[] (1 to 50))

検索結果のソースにある observation:<id> または message:<id> の参照。

戻り値: 忘れさせた参照、すでに忘れられていた参照、および背後にあるすべてのメッセージが忘れられたため非表示になったメモリの数。

レート制限: ユーザーあたり毎分 600 回

忘れた根拠を復元

書き込み

glen_restore

忘れたメモリを復元します。

references

(string[] (1 to 50))

以前に忘れた参照。

戻り値: 復元された参照、変更不要だった参照、およびそれらとともに再表示された非表示メモリの数。

レート制限: ユーザーあたり毎分 600 回

設定と組織

Glen の個人設定を確認・変更し、所属組織を確認して、メンバーを招待したりフィードバックを送信したりできます。

組織一覧

読み取り専用

glen_list_orgs

所属する組織を一覧表示し、この接続で使用している組織を示します。

入力なし。

戻り値: 所属する組織。現在の接続で使用している組織には active: true が付きます。

レート制限: ユーザーあたり毎分 600 回

Glen の設定を表示

読み取り専用

glen_status

記録モードと、スキルの提案が有効かどうかを表示します。

入力なし。

戻り値: Glen のモード(on、off、incognito、silent)と、スキルの提案が有効かどうか。

レート制限: ユーザーあたり毎分 600 回

チームメイトを招待

書き込み。オーナーと管理者向け

glen_invite

メールアドレスで組織にメンバーを招待します。オーナーと管理者のみが使えます。

emails

(string[] (1 to 50))

招待する人。

role

(member or admin)

デフォルトは member です。このツールではオーナーを作成できません。

戻り値: invited、alreadyMember、failed(それぞれに理由を含む)、および新しいシートに課金される場合の注記。

レート制限: ユーザーあたり毎分 600 回

Glen のモードを設定

書き込み

glen_set_recording

アカウントのモードを on、off、incognito、silent の間で切り替えます。

mode

(on, off, incognito or silent)

すべてのマシンとエージェントで、ユーザーのアカウントに適用されます。

戻り値: 保存されたモードと変更時刻。

レート制限: ユーザーあたり毎分 600 回

スキルの提案を設定

書き込み

glen_set_suggestions

スキルの保存や再利用に関する Glen の提案を有効または無効にします。

skillCreation

(boolean, optional)

完了した作業を新しいスキルとして保存する提案。

skillUse

(boolean, optional)

タスクに合った既存スキルの提案。

戻り値: 保存された設定。

レート制限: ユーザーあたり毎分 600 回

動作ヒント

すべてのツールは、4 つの 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.

  • 1分あたり60回: glen_search、glen_code_search、glen_skill_search、glen_artifact_search。
  • 1分あたり30回: glen_artifact_create。各ドキュメントの要約を書き込みます。
  • 1時間あたり10回: glen_feedback。
  • 1分あたり600回: その他すべてのツール。

サイズ制限

  • リクエスト本文は最大4.5 MB、リクエストの実行時間は最大60秒です。
  • スキルのコンテンツは最大1 MB、ファイル数は最大100個です。
  • アーティファクトは最大200,000文字です。
  • glen_importは1回の呼び出しで最大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を参照してください。