aai-gateway 0.7.2 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.ja.md ADDED
@@ -0,0 +1,285 @@
1
+ [English](README.md) | [简体中文](README.zh-CN.md) | [日本語](README.ja.md) | [한국어](README.ko.md)
2
+
3
+ ---
4
+
5
+ # AAI Gateway — すべての AI エージェントを統べる1つの MCP
6
+
7
+ **一度 MCP サーバーとスキルをインストールすれば、すべての AI エージェントで共有可能。再起動不要。コンテキスト爆発なし。質問するだけ。**
8
+
9
+ [![npm バージョン](https://img.shields.io/npm/v/aai-gateway)](https://www.npmjs.com/package/aai-gateway)
10
+ [![ライセンス](https://img.shields.io/npm/l/aai-gateway)](./LICENSE)
11
+
12
+ <!-- TODO: 検索 → 確認 → インストール → エージェント間での使用を示す GIF デモを追加 -->
13
+
14
+ ---
15
+
16
+ ## 問題点
17
+
18
+ MCP エコシステムが成長するにつれ、すべての AI エージェントユーザーは同じ壁にぶつかります:
19
+
20
+ | 課題 | 発生内容 |
21
+ | ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
22
+ | **コンテキスト爆発** | 10 MCP サーバー × 5 ツール = 50 の完全なツールスキーマがすべてのプロンプトに注入され、モデルが思考を始める前に数千のトークンを消費 |
23
+ | **重複設定** | Claude Code、Codex、OpenCode — 同じ MCP サーバーを3回設定し、手動で同期を維持 |
24
+ | **再起動が必要** | 新しい MCP を追加?エージェントを再起動。そのたびに。 |
25
+ | **ツール 찾기가難しい** | GitHub 検索、README 読み、JSON 設定コピー、接続エラー デバッグ — ツールを試す前にすべて必要 |
26
+
27
+ ## 解決策
28
+
29
+ AAI Gateway は AI エージェントとすべてのツールの間に位置します。1つの MCP 接続が数十の接続を代替します。
30
+
31
+ | | AAI Gateway なし | AAI Gateway あり |
32
+ | ---------------------- | ---------------------------------------- | ----------------------------------------------------------------- |
33
+ | **コンテキストコスト** | すべてのプロンプトに 50 のツールスキーマ | 10 の1行サマリー(それぞれ約200文字)、詳細はオンデマンドでロード |
34
+ | **設定** | エージェントごとに MCP を設定 | 1回インポートですべてのエージェントが即時共有 |
35
+ | **新ツール** | インストール後にエージェントを再起動 | ホットリロードで即座に可用 |
36
+ | **発見** | 手動検索 + 設定コピー | `"ファイルシステム MCP を探して"` → 数秒でインストール |
37
+
38
+ ---
39
+
40
+ ## クイックスタート(30秒)
41
+
42
+ ### 1. エージェントに AAI Gateway を追加
43
+
44
+ **Claude Code**
45
+
46
+ ```bash
47
+ claude mcp add --scope user --transport stdio aai-gateway -- npx -y aai-gateway
48
+ ```
49
+
50
+ **Codex**
51
+
52
+ ```bash
53
+ codex mcp add aai-gateway -- npx -y aai-gateway
54
+ ```
55
+
56
+ **OpenCode** — `~/.config/opencode/opencode.json` に追加:
57
+
58
+ ```json
59
+ {
60
+ "mcp": {
61
+ "aai-gateway": {
62
+ "type": "local",
63
+ "command": ["npx", "-y", "aai-gateway"],
64
+ "enabled": true
65
+ }
66
+ }
67
+ }
68
+ ```
69
+
70
+ ### 2. 使用開始
71
+
72
+ AI エージェントに直接話しかけます:
73
+
74
+ > "ファイルシステム MCP を検索してインストールして"
75
+
76
+ > "この MCP をインポート:`npx -y @anthropic-ai/mcp-server-fetch`"
77
+
78
+ > "どんなツールをインストールしてる?"
79
+
80
+ それだけ。設定ファイルを編集したり、エージェントを再起動したりする必要はありません。
81
+
82
+ ---
83
+
84
+ ## 動作原理:2段階開示
85
+
86
+ これが核心となるイノベーションです。AAI Gateway はすべてのツールスキーマをプロンプトに投入するのではなく、**プログレッシブ開示**を使用します:
87
+
88
+ ```
89
+ ┌─────────────────────────────────────────────────────────────────────┐
90
+ │ ステージ 1 — エージェントがツールリストで見るもの │
91
+ │ │
92
+ │ guide:filesystem "ローカルファイルの読み書き" │ ~50 文字
93
+ │ guide:github "GitHub リポジトリ、 이슈、PR の管理" │ ~50 文字
94
+ │ guide:slack "メッセージ送信と Slack チャンネル管理" │ ~50 文字
95
+ │ ... (アプリごとに1行、パラメータスキーマなし) │
96
+ ├─────────────────────────────────────────────────────────────────────┤
97
+ │ ステージ 2 — エージェントがファイルシステムを使用を決定 │
98
+ │ │
99
+ │ → guide:filesystem を呼び出す │
100
+ │ ← 完全なツールリスト + パラメータスキーマ + 使用例を取得 │
101
+ │ → aai:exec { app, tool, args } で実行 │
102
+ └─────────────────────────────────────────────────────────────────────┘
103
+ ```
104
+
105
+ **計算**:5つのツールを持つ10の MCP サーバー = 従来のセットアップで **50 の完全なスキーマ**。AAI Gateway では = **10 の短いサマリー** + 必要に応じて詳細をロード。コンテキスト節約 **90%+**。
106
+
107
+ ---
108
+
109
+ ## 主な機能
110
+
111
+ ### 自然言語で検索・インストール
112
+
113
+ 必要さを描述し、AAI Gateway が見つけます。信頼できるソース(公式 MCP レジストリ、厳選リスト)を検索し、オプションを提示し、全体のインポートフローを処理します。
114
+
115
+ > "データベースクエリ用の MCP を探して" → 検索 → 選択 → インポート → 準備完了
116
+
117
+ ### 任意の MCP サーバーをインポート
118
+
119
+ 標準の MCP 設定を貼り付け、エージェントに AAI Gateway を通じてインポートさせます。
120
+
121
+ **stdio MCP:**
122
+
123
+ ```json
124
+ { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"] }
125
+ ```
126
+
127
+ **リモート(Streamable HTTP):**
128
+
129
+ ```json
130
+ { "url": "https://example.com/mcp" }
131
+ ```
132
+
133
+ **リモート(SSE):**
134
+
135
+ ```json
136
+ { "url": "https://example.com/sse", "transport": "sse" }
137
+ ```
138
+
139
+ ### スキルをインポート
140
+
141
+ ローカルまたはリモートのスキルパッケージをインポート。AAI Gateway はそれらを管理ストレージにコピーし、ツールとして公開します。今後の更新:リモートソースからの自動スキル更新 — スキル作成者がユーザーに更新をプッシュできないという課題を 해결。
142
+
143
+ ```json
144
+ { "path": "/path/to/my-skill" }
145
+ ```
146
+
147
+ ### エージェント相互運用性(ACP)
148
+
149
+ AAI Gateway はインストールされたエージェントツール(Claude Code、Codex、OpenCode)を自動検出し、制御可能なアプリとして公開します,这意味着:
150
+
151
+ - **1つのエージェントで別のエージェントをオーケストレーション** — 例如、Claude Code にコードを書かせながら別のツールからレビュー
152
+ - **リモートワーク** — 外出中に電話でコーディングエージェントに指示
153
+
154
+ ### エージェントごとの制御
155
+
156
+ 1回のインポートですべてのエージェントに提供服务,但你可以微调可见性:
157
+
158
+ - `enableApp` / `disableApp` — エージェントごとにツールを切り替え
159
+ - `removeApp` — 完全アンインストール
160
+ - `listAllAaiApps` — 登録されたすべてを表示
161
+
162
+ ### 自動検出
163
+
164
+ 앱は `aai.json` 記述子を特定の場所に配置することで自己登録できます。AAI Gateway はこれらの場所を自動的にスキャンします:
165
+
166
+ - **macOS**:`<App>.app/Contents/Resources/aai.json`
167
+ - **Linux**:`/usr/share`、`/usr/local/share`、`~/.local/share`
168
+ - **Windows**:`Program Files`、`%LOCALAPPDATA%`
169
+
170
+ 手動インポートは不要 — アプリをインストールすると、AAI Gateway が見つけます。
171
+
172
+ ---
173
+
174
+ ## 組み込みツール
175
+
176
+ | ツール | 説明 |
177
+ | ----------------- | ----------------------------------------------------------- |
178
+ | `listAllAaiApps` | AAI Gateway が管理するすべてのアプリを一覧表示 |
179
+ | `enableApp` | 現在のエージェントに対してアプリを有効化 |
180
+ | `disableApp` | 現在のエージェントに対してアプリを無効化 |
181
+ | `removeApp` | システムからアプリを削除 |
182
+ | `aai:exec` | 管理アプリから特定のツールを実行(`app` + `tool` + `args`) |
183
+ | `mcp:import` | MCP サーバーをインポート |
184
+ | `skill:import` | スキルパッケージをインポート |
185
+ | `skill:create` | 新規スキルを作成 |
186
+ | `search:discover` | 自然言語でツールやスキルを検索 |
187
+
188
+ さらに、インポートされたアプリごとの **`guide:<app-id>`** ツール — パラメータなしで、呼び出すと完全な操作ガイドを返します。
189
+
190
+ ---
191
+
192
+ ## アーキテクチャ
193
+
194
+ ```
195
+ ┌─────────────────────────────────────────────────────────────┐
196
+ │ AI エージェント │
197
+ │ Claude Code / Codex / OpenCode / ... │
198
+ └────────────────────────┬────────────────────────────────────┘
199
+ │ 単一 MCP 接続
200
+
201
+ ┌─────────────────────────────────────────────────────────────┐
202
+ │ AAI Gateway │
203
+ │ │
204
+ │ ┌───────────────────────────────────────────────────────┐ │
205
+ │ │ プログレッシブ開示層 │ │
206
+ │ │ サマリーのみ開示 → オンデマンドでツール詳細 │ │
207
+ │ └───────────────────────────────────────────────────────┘ │
208
+ │ ┌───────────────────────────────────────────────────────┐ │
209
+ │ │ アプリレジストリ │ │
210
+ │ │ MCP サーバー · スキル · ACP エージェント · CLI ツール│ │
211
+ │ └───────────────────────────────────────────────────────┘ │
212
+ │ ┌───────────────────────────────────────────────────────┐ │
213
+ │ │ 検出層 │ │
214
+ │ │ デスクトップスキャン · 管理インポート · 内蔵設定 │ │
215
+ │ └───────────────────────────────────────────────────────┘ │
216
+ └────────────────────────┬────────────────────────────────────┘
217
+
218
+ ┌────────────┼────────────┐
219
+ ▼ ▼ ▼
220
+ ┌──────────┐ ┌──────────┐ ┌──────────┐
221
+ │ MCP │ │ スキル │ │ ACP │ ...
222
+ │ サーバー │ │ │ │ エージェント│
223
+ └──────────┘ └──────────┘ └──────────┘
224
+ ```
225
+
226
+ ---
227
+
228
+ ## ユースケース
229
+
230
+ ### 「15個の MCP を持っていて、コンテキストが爆発している」
231
+
232
+ AAI Gateway の2段階開示はコンテキストトークン使用量を 90%+ 削減。あなたのエージェントは15の完全なツールスキーマではなく短いサマリーを見ます。
233
+
234
+ ### 「Claude Code と OpenCode を両方使っている」
235
+
236
+ AAI Gateway を通じて1回インポート。两方のエージェントが同じツールを即座に表示。明日 Codex を追加 — それも取得、ゼロ追加設定。
237
+
238
+ ### 「 Tea を飲みながらコードを書きたい」
239
+
240
+ ACP エージェントを設定。任意のエージェント(甚至电话上的)を使用して、Claude Code や Codex に工作站上的代码编写、测试和提交を指示。
241
+
242
+ ### 「どの MCP を使えばいいか分からない」
243
+
244
+ 只需要描述你的需求:`"PostgreSQL を查询するツールが必要"`。AAI Gateway 搜索可信注册表并处理整个安装过程。
245
+
246
+ ---
247
+
248
+ ## アプリ開発者の方へ:AAI 記述子
249
+
250
+ 让你的应用被 AAI Gateway 自动发现?添加一个 `aai.json` 描述符:
251
+
252
+ ```json
253
+ {
254
+ "schemaVersion": "2.0",
255
+ "version": "1.0.0",
256
+ "app": {
257
+ "name": { "default": "My App" }
258
+ },
259
+ "access": {
260
+ "protocol": "mcp",
261
+ "config": {
262
+ "command": "my-app-mcp",
263
+ "args": ["--stdio"]
264
+ }
265
+ },
266
+ "exposure": {
267
+ "summary": "ユーザーが My App で X を行いたいときに使用。"
268
+ }
269
+ }
270
+ ```
271
+
272
+ 支持的协议:`mcp`、`skill`、`acp-agent`、`cli`
273
+
274
+ 将描述符放置在[自动发现位置](#自动发现)之一,AAI Gateway 会自动获取它。
275
+
276
+ 想将你的描述符默认打包到 AAI Gateway?[提交 PR](../../pulls) — 参考 `src/discovery/descriptors/` 中的示例。
277
+
278
+ ---
279
+
280
+ ## 貢献
281
+
282
+ 貢献は大歓迎!AAI Gateway は積極的に開発中です。
283
+
284
+ - [问题を送信](../../issues) バグ報告や機能提案
285
+ - [PR を提交](../../pulls) コードや新しいアプリ記述子の貢献
package/README.ko.md ADDED
@@ -0,0 +1,285 @@
1
+ [English](README.md) | [简体中文](README.zh-CN.md) | [日本語](README.ja.md) | [한국어](README.ko.md)
2
+
3
+ ---
4
+
5
+ # AAI Gateway — 모든 AI 에이전트를 하나의 MCP로 관리
6
+
7
+ **MCP 서버와 스킬을 한 번만 설치하면 모든 AI 에이전트에서 공유. 재시작 불필요. 컨텍스트 폭발 없음. 그냥 질문하세요.**
8
+
9
+ [![npm 버전](https://img.shields.io/npm/v/aai-gateway)](https://www.npmjs.com/package/aai-gateway)
10
+ [![라이선스](https://img.shields.io/npm/l/aai-gateway)](./LICENSE)
11
+
12
+ <!-- TODO: 검색 → 확인 → 설치 → 에이전트 간 사용을 보여주는 GIF 데모 추가 -->
13
+
14
+ ---
15
+
16
+ ## 문제점
17
+
18
+ MCP 생태계가 성장함에 따라 모든 AI 에이전트 사용자가 같은 벽에 부딪힙니다:
19
+
20
+ | 문제점 | 발생 내용 |
21
+ | -------------------- | ------------------------------------------------------------------------------------------------------------------------- |
22
+ | **컨텍스트 폭발** | 10개 MCP 서버 × 5개 도구 = 50개의 전체 도구 스키마가 모든 프롬프트에 주입되어, 모델이 생각하기 전에 수천 개의 토큰을 소비 |
23
+ | **중복 설정** | Claude Code, Codex, OpenCode — 같은 MCP 서버를 세 번 설정하고 수동으로 동기화 유지 |
24
+ | **재시작 필요** | 새 MCP 추가? 에이전트 재시작. 매번. |
25
+ | **도구 찾기 어려움** | GitHub 검색, README 읽기, JSON 설정 복사, 연결 오류 디버깅 — 도구를 사용하기 전에 모두 필요 |
26
+
27
+ ## 해결책
28
+
29
+ AAI Gateway는 AI 에이전트와 모든 도구 사이에 위치합니다. 하나의 MCP 연결이数十 개를 대체합니다.
30
+
31
+ | | AAI Gateway 없음 | AAI Gateway 있음 |
32
+ | ----------------- | -------------------------------- | ------------------------------------------------------ |
33
+ | **컨텍스트 비용** | 모든 프롬프트에 50개 도구 스키마 | 10개 1줄 요약 (각각 약 200자), 상세내용은 요청 시 로드 |
34
+ | **설정** | 에이전트마다 MCP 설정 | 한 번 가져오기, 모든 에이전트가 즉시 공유 |
35
+ | **새 도구** | 설치 후 에이전트 재시작 | 핫리로딩, 즉시 사용 가능 |
36
+ | **발견** | 수동 검색 + 설정 복사 | `"파일 시스템 MCP 찾아줘"` → 몇 초 내 설치 |
37
+
38
+ ---
39
+
40
+ ## 빠른 시작 (30초)
41
+
42
+ ### 1. 에이전트에 AAI Gateway 추가
43
+
44
+ **Claude Code**
45
+
46
+ ```bash
47
+ claude mcp add --scope user --transport stdio aai-gateway -- npx -y aai-gateway
48
+ ```
49
+
50
+ **Codex**
51
+
52
+ ```bash
53
+ codex mcp add aai-gateway -- npx -y aai-gateway
54
+ ```
55
+
56
+ **OpenCode** — `~/.config/opencode/opencode.json`에 추가:
57
+
58
+ ```json
59
+ {
60
+ "mcp": {
61
+ "aai-gateway": {
62
+ "type": "local",
63
+ "command": ["npx", "-y", "aai-gateway"],
64
+ "enabled": true
65
+ }
66
+ }
67
+ }
68
+ ```
69
+
70
+ ### 2. 사용 시작
71
+
72
+ AI 에이전트에게 직접 말하세요:
73
+
74
+ > "파일 시스템 MCP 찾아서 설치해줘"
75
+
76
+ > "이 MCP 가져와줘: `npx -y @anthropic-ai/mcp-server-fetch`"
77
+
78
+ > "내가 뭘 설치했어?"
79
+
80
+ 그게 끝입니다. 설정 파일 편집이나 에이전트 재시작이 필요 없습니다.
81
+
82
+ ---
83
+
84
+ ## 작동 원리: 2단계 공개
85
+
86
+ 이것이 핵심 혁신입니다. AAI Gateway는 모든 도구 스키마를 프롬프트에 던지는 대신 **점진적 공개**를 사용합니다:
87
+
88
+ ```
89
+ ┌─────────────────────────────────────────────────────────────────────┐
90
+ │ 1단계 — 에이전트가 도구 목록에서 보는 것 │
91
+ │ │
92
+ │ guide:filesystem "로컬 파일 읽기/쓰기" │ ~50자
93
+ │ guide:github "GitHub 저장소, 이슈, PR 관리" │ ~50자
94
+ │ guide:slack "메시지 전송 및 Slack 채널 관리" │ ~50자
95
+ │ ... (앱당 1줄, 파라미터 스키마 없음) │
96
+ ├─────────────────────────────────────────────────────────────────────┤
97
+ │ 2단계 — 에이전트가 파일 시스템 사용 결정 │
98
+ │ │
99
+ │ → guide:filesystem 호출 │
100
+ │ ← 전체 도구 목록 + 파라미터 스키마 + 사용 예제 수신 │
101
+ │ → aai:exec { app, tool, args }로 실행 │
102
+ └─────────────────────────────────────────────────────────────────────┘
103
+ ```
104
+
105
+ **계산**: 5개 도구를 가진 10개 MCP 서버 = 전통적인 설정에서 **50개 전체 스키마**. AAI Gateway = **10개 짧은 요약** + 필요 시 상세 로드. 컨텍스트 절약 **90%+**.
106
+
107
+ ---
108
+
109
+ ## 주요 기능
110
+
111
+ ### 자연어로 검색 및 설치
112
+
113
+ 필요한 것을 설명하면 AAI Gateway가 찾아드립니다. 신뢰할 수 있는 소스(공식 MCP 레지스트리, 큐레이션된 목록)를 검색하고 옵션을 제시하며 전체 가져오기 흐름을 처리합니다.
114
+
115
+ > "데이터베이스 쿼리용 MCP 찾아줘" → 검색 → 선택 → 가져오기 → 준비 완료
116
+
117
+ ### 모든 MCP 서버 가져오기
118
+
119
+ 표준 MCP 설정을 붙여넣고 에이전트에게 AAI Gateway를 통해 가져오라고 요청하세요.
120
+
121
+ **stdio MCP:**
122
+
123
+ ```json
124
+ { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"] }
125
+ ```
126
+
127
+ **원격 (Streamable HTTP):**
128
+
129
+ ```json
130
+ { "url": "https://example.com/mcp" }
131
+ ```
132
+
133
+ **원격 (SSE):**
134
+
135
+ ```json
136
+ { "url": "https://example.com/sse", "transport": "sse" }
137
+ ```
138
+
139
+ ### 스킬 가져오기
140
+
141
+ 로컬 또는 원격 스킬 패키지를 가져옵니다. AAI Gateway는 이를 관리 저장소에 복사하고 도구로 노출시킵니다. 향후 업데이트: 원격 소스からの 자동 스킬 업데이트 — 스킬 작성자가 사용자에게 업데이트를 푸시할 수 없는 문제 해결.
142
+
143
+ ```json
144
+ { "path": "/path/to/my-skill" }
145
+ ```
146
+
147
+ ### 에이전트 상호운용성 (ACP)
148
+
149
+ AAI Gateway는 설치된 에이전트 도구(Claude Code, Codex, OpenCode)를 자동 감지하고 제어 가능한 앱으로 노출합니다. 이것은 다음을 의미합니다:
150
+
151
+ - **한 에이전트로 다른 에이전트 오케스트레이션** — 예: Claude Code에 코드 작성시키고 다른 도구에서 리뷰
152
+ - **원격 작업** — 외출 중에 전화로 코딩 에이전트에 지시
153
+
154
+ ### 에이전트별 제어
155
+
156
+ 한 번의 가져오기가 모든 에이전트에 서비스를 제공하지만, 가시성을 미세 조정할 수 있습니다:
157
+
158
+ - `enableApp` / `disableApp` — 에이전트별로 도구 전환
159
+ - `removeApp` — 완전히アンインストール
160
+ - `listAllAaiApps` — 등록된 모든 항목 보기
161
+
162
+ ### 자동 감지
163
+
164
+ 앱은 `aai.json` 설명자를 특정 위치에 배치하여 자체 등록할 수 있습니다. AAI Gateway는 이러한 위치를 자동으로スキャン합니다:
165
+
166
+ - **macOS**: `<App>.app/Contents/Resources/aai.json`
167
+ - **Linux**: `/usr/share`, `/usr/local/share`, `~/.local/share`
168
+ - **Windows**: `Program Files`, `%LOCALAPPDATA%`
169
+
170
+ 수동 가져오기 불필요 — 앱을 설치하면 AAI Gateway가 자동으로 찾습니다.
171
+
172
+ ---
173
+
174
+ ## 기본 제공 도구
175
+
176
+ | 도구 | 설명 |
177
+ | ----------------- | ---------------------------------------------------- |
178
+ | `listAllAaiApps` | AAI Gateway가 관리하는 모든 앱 나열 |
179
+ | `enableApp` | 현재 에이전트에 대해 앱 활성화 |
180
+ | `disableApp` | 현재 에이전트에 대해 앱 비활성화 |
181
+ | `removeApp` | 시스템에서 앱 제거 |
182
+ | `aai:exec` | 관리 앱에서 특정 도구 실행 (`app` + `tool` + `args`) |
183
+ | `mcp:import` | MCP 서버 가져오기 |
184
+ | `skill:import` | 스킬 패키지 가져오기 |
185
+ | `skill:create` | 새 스킬 생성 |
186
+ | `search:discover` | 자연어로 도구 또는 스킬 검색 |
187
+
188
+ 또한 가져온 각 앱에 대한 **`guide:<app-id>`** 도구 — 파라미터 없음, 호출 시 전체 작업 가이드 반환.
189
+
190
+ ---
191
+
192
+ ## 아키텍처
193
+
194
+ ```
195
+ ┌─────────────────────────────────────────────────────────────┐
196
+ │ AI 에이전트 │
197
+ │ Claude Code / Codex / OpenCode / ... │
198
+ └────────────────────────┬────────────────────────────────────┘
199
+ │ 단일 MCP 연결
200
+
201
+ ┌─────────────────────────────────────────────────────────────┐
202
+ │ AAI Gateway │
203
+ │ │
204
+ │ ┌───────────────────────────────────────────────────────┐ │
205
+ │ │ 점진적 공개 레이어 │ │
206
+ │ │ 요약만 공개 → 요청 시 도구 상세 로드 │ │
207
+ │ └───────────────────────────────────────────────────────┘ │
208
+ │ ┌───────────────────────────────────────────────────────┐ │
209
+ │ │ 앱 레지스트리 │ │
210
+ │ │ MCP 서버 · 스킬 · ACP 에이전트 · CLI 도구 │ │
211
+ │ └───────────────────────────────────────────────────────┘ │
212
+ │ ┌───────────────────────────────────────────────────────┐ │
213
+ │ │ 감지 레이어 │ │
214
+ │ │ 데스크톱 스캔 · 관리 가져오기 · 기본 제공 설정 │ │
215
+ │ └───────────────────────────────────────────────────────┘ │
216
+ └────────────────────────┬────────────────────────────────────┘
217
+
218
+ ┌────────────┼────────────┐
219
+ ▼ ▼ ▼
220
+ ┌──────────┐ ┌──────────┐ ┌──────────┐
221
+ │ MCP │ │ 스킬 │ │ ACP │ ...
222
+ │ 서버 │ │ │ │ 에이전트 │
223
+ └──────────┘ └──────────┘ └──────────┘
224
+ ```
225
+
226
+ ---
227
+
228
+ ## 사용 사례
229
+
230
+ ### "15개의 MCP가 있고 컨텍스트가 폭발하고 있어"
231
+
232
+ AAI Gateway의 2단계 공개는 컨텍스트 토큰 사용량을 90%+ 절감합니다. 에이전트는 15개의 전체 도구 스키마가 아닌 짧은 요약만 봅니다.
233
+
234
+ ### "Claude Code와 OpenCode를 다 써"
235
+
236
+ AAI Gateway를 통해 한 번 가져오기. 두 에이전트가 즉시 같은 도구를 봅니다. 내일 Codex 추가 — 그것도 획득, 추가 설정 제로.
237
+
238
+ ### "차 마시면서 코드 짜고 싶어"
239
+
240
+ ACP 에이전트 설정. 모든 에이전트(甚至电话上的)를 사용하여 Claude Code나 Codex에 워크스테이션에서 코드 작성, 테스트 및 커밋 지시.
241
+
242
+ ### "어떤 MCP를 써야 할지 모르겠어"
243
+
244
+ 只需要描述你的需求:`"PostgreSQL을 查询하는 도구가 필요해"`. AAI Gateway가 신뢰할 수 있는 레지스트리를 검색하고 전체 설치 처리.
245
+
246
+ ---
247
+
248
+ ## 앱 개발자를 위한: AAI 설명자
249
+
250
+ 앱을 AAI Gateway에 의해 자동 감지되게 하고 싶으신가요? `aai.json` 설명자를 추가하세요:
251
+
252
+ ```json
253
+ {
254
+ "schemaVersion": "2.0",
255
+ "version": "1.0.0",
256
+ "app": {
257
+ "name": { "default": "My App" }
258
+ },
259
+ "access": {
260
+ "protocol": "mcp",
261
+ "config": {
262
+ "command": "my-app-mcp",
263
+ "args": ["--stdio"]
264
+ }
265
+ },
266
+ "exposure": {
267
+ "summary": "사용자가 My App으로 X를 하고 싶을 때 사용."
268
+ }
269
+ }
270
+ ```
271
+
272
+ 지원되는 프로토콜: `mcp`, `skill`, `acp-agent`, `cli`
273
+
274
+ 설명자를 [자동 감지 위치](#자동-감지) 중 하나에 놓으면 AAI Gateway가 자동으로拾います.
275
+
276
+ 설명자를 기본적으로 AAI Gateway에 번들로 제공하고 싶으신가요? [PR 열기](../../pulls) — `src/discovery/descriptors/`의 예제를 참조하세요.
277
+
278
+ ---
279
+
280
+ ## 기여
281
+
282
+ 기여는 환영합니다! AAI Gateway는 активно 개발 중입니다.
283
+
284
+ - [이슈 열기](../../issues) 버그 신고 또는 기능 제안
285
+ - [PR 제출](../../pulls) 코드 또는 새로운 앱 설명자 기여