backlog-mcp-server 0.4.0
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/LICENSE +21 -0
- package/README.ja.md +440 -0
- package/README.md +501 -0
- package/build/backlog/backlogErrorHandler.js +8 -0
- package/build/backlog/customFields.js +16 -0
- package/build/backlog/parseBacklogAPIError.js +38 -0
- package/build/createTranslationHelper.js +28 -0
- package/build/handlers/builders/composeToolHandler.js +26 -0
- package/build/handlers/transformers/wrapWithErrorHandling.js +4 -0
- package/build/handlers/transformers/wrapWithFieldPicking.js +55 -0
- package/build/handlers/transformers/wrapWithTokenLimit.js +21 -0
- package/build/handlers/transformers/wrapWithToolResult.js +39 -0
- package/build/index.js +102 -0
- package/build/registerTools.js +37 -0
- package/build/tools/addIssue.js +94 -0
- package/build/tools/addIssueComment.js +44 -0
- package/build/tools/addProject.js +39 -0
- package/build/tools/addPullRequest.js +65 -0
- package/build/tools/addPullRequestComment.js +52 -0
- package/build/tools/addWiki.js +29 -0
- package/build/tools/countIssues.js +111 -0
- package/build/tools/deleteIssue.js +29 -0
- package/build/tools/deleteProject.js +29 -0
- package/build/tools/downloadDocumentAttachment.js +1 -0
- package/build/tools/dynamicTools/toolsets.js +103 -0
- package/build/tools/getCategories.js +30 -0
- package/build/tools/getCustomFields.js +37 -0
- package/build/tools/getDocument.js +20 -0
- package/build/tools/getDocumentTree.js +20 -0
- package/build/tools/getDocuments.js +25 -0
- package/build/tools/getGitRepositories.js +29 -0
- package/build/tools/getGitRepository.js +41 -0
- package/build/tools/getIssue.js +29 -0
- package/build/tools/getIssueComments.js +45 -0
- package/build/tools/getIssueTypes.js +30 -0
- package/build/tools/getIssues.js +155 -0
- package/build/tools/getMyself.js +14 -0
- package/build/tools/getNotifications.js +35 -0
- package/build/tools/getNotificationsCount.js +20 -0
- package/build/tools/getPriorities.js +13 -0
- package/build/tools/getProject.js +29 -0
- package/build/tools/getProjectList.js +23 -0
- package/build/tools/getPullRequest.js +44 -0
- package/build/tools/getPullRequestComments.js +60 -0
- package/build/tools/getPullRequests.js +65 -0
- package/build/tools/getPullRequestsCount.js +57 -0
- package/build/tools/getResolutions.js +13 -0
- package/build/tools/getSpace.js +14 -0
- package/build/tools/getUsers.js +14 -0
- package/build/tools/getWatchingListCount.js +17 -0
- package/build/tools/getWatchingListItems.js +17 -0
- package/build/tools/getWiki.js +21 -0
- package/build/tools/getWikiPages.js +37 -0
- package/build/tools/getWikisCount.js +29 -0
- package/build/tools/markNotificationAsRead.js +26 -0
- package/build/tools/resetUnreadNotificationCount.js +13 -0
- package/build/tools/tools.js +143 -0
- package/build/tools/updateIssue.js +116 -0
- package/build/tools/updateProject.js +57 -0
- package/build/tools/updatePullRequest.js +68 -0
- package/build/tools/updatePullRequestComment.js +51 -0
- package/build/types/mcp.js +1 -0
- package/build/types/result.js +3 -0
- package/build/types/tool.js +1 -0
- package/build/types/toolsets.js +1 -0
- package/build/types/zod/backlogOutputDefinition.js +468 -0
- package/build/utils/generateFieldsDescription.js +47 -0
- package/build/utils/resolveIdOrKey.js +25 -0
- package/build/utils/runToolSafely.js +18 -0
- package/build/utils/tokenCounter.js +11 -0
- package/build/utils/toolRegistrar.js +12 -0
- package/build/utils/toolsetUtils.js +48 -0
- package/build/utils/wrapServerWithToolRegistry.js +16 -0
- package/build/version.js +1 -0
- package/build/version.template.js +1 -0
- package/package.json +52 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Nulab Inc.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.ja.md
ADDED
|
@@ -0,0 +1,440 @@
|
|
|
1
|
+
# Backlog MCP Server(日本語版)
|
|
2
|
+
|
|
3
|
+

|
|
4
|
+

|
|
5
|
+

|
|
6
|
+
|
|
7
|
+
[🇬🇧 English README](./README.md)
|
|
8
|
+
|
|
9
|
+
Backlog API とやり取りするための Model Context Protocol(MCP)サーバーです。このサーバーは、Claude Desktop / Cline / Cursor などのAIエージェントを通じて、Backlog 上でプロジェクト、課題、Wikiページなどを管理するためのツールを提供します。
|
|
10
|
+
|
|
11
|
+
## 主な機能
|
|
12
|
+
|
|
13
|
+
- プロジェクトツール(作成、読み取り、更新、削除)
|
|
14
|
+
- 課題とコメントの追跡(作成、更新、削除、一覧表示)
|
|
15
|
+
- Wikiページサポート
|
|
16
|
+
- Gitリポジトリとプルリクエストツール
|
|
17
|
+
- 通知ツール
|
|
18
|
+
- 最適化されたレスポンスのためのGraphQLスタイルのフィールド選択
|
|
19
|
+
- 大規模なレスポンスに対するトークン制限
|
|
20
|
+
|
|
21
|
+
## 利用開始
|
|
22
|
+
|
|
23
|
+
### 必要条件
|
|
24
|
+
|
|
25
|
+
- Docker
|
|
26
|
+
- APIアクセスが可能なBacklogアカウント
|
|
27
|
+
- BacklogアカウントのAPIキー
|
|
28
|
+
|
|
29
|
+
### オプション1: Docker経由でのインストール
|
|
30
|
+
|
|
31
|
+
このMCPサーバーを使用する最も簡単な方法は、MCP設定を利用することです:
|
|
32
|
+
|
|
33
|
+
1. MCP設定を開きます
|
|
34
|
+
2. MCP設定セクションに移動します
|
|
35
|
+
3. 次の設定を追加します:
|
|
36
|
+
|
|
37
|
+
```json
|
|
38
|
+
{
|
|
39
|
+
"mcpServers": {
|
|
40
|
+
"backlog": {
|
|
41
|
+
"command": "docker",
|
|
42
|
+
"args": [
|
|
43
|
+
"run",
|
|
44
|
+
"--pull", "always",
|
|
45
|
+
"-i",
|
|
46
|
+
"--rm",
|
|
47
|
+
"-e", "BACKLOG_DOMAIN",
|
|
48
|
+
"-e", "BACKLOG_API_KEY",
|
|
49
|
+
"ghcr.io/nulab/backlog-mcp-server"
|
|
50
|
+
],
|
|
51
|
+
"env": {
|
|
52
|
+
"BACKLOG_DOMAIN": "your-domain.backlog.com",
|
|
53
|
+
"BACKLOG_API_KEY": "your-api-key"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
`your-domain.backlog.com` を実際のBacklogドメインに、`your-api-key` を実際のBacklog APIキーに置き換えてください。
|
|
61
|
+
|
|
62
|
+
✅ `--pull always` を使用できない場合は、次のコマンドで手動でイメージを更新できます:
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
docker pull ghcr.io/nulab/backlog-mcp-server:latest
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### オプション2: 手動セットアップ (Node.js)
|
|
69
|
+
|
|
70
|
+
1. クローンしてインストール:
|
|
71
|
+
```bash
|
|
72
|
+
git clone https://github.com/nulab/backlog-mcp-server.git
|
|
73
|
+
cd backlog-mcp-server
|
|
74
|
+
npm install
|
|
75
|
+
npm run build
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
2. MCPとして使用するJSONを設定します:
|
|
79
|
+
```json
|
|
80
|
+
{
|
|
81
|
+
"mcpServers": {
|
|
82
|
+
"backlog": {
|
|
83
|
+
"command": "node",
|
|
84
|
+
"args": [
|
|
85
|
+
"your-repository-location/build/index.js"
|
|
86
|
+
],
|
|
87
|
+
"env": {
|
|
88
|
+
"BACKLOG_DOMAIN": "your-domain.backlog.com",
|
|
89
|
+
"BACKLOG_API_KEY": "your-api-key"
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## ツール設定
|
|
97
|
+
|
|
98
|
+
`--enable-toolsets` コマンドラインフラグまたは `ENABLE_TOOLSETS` 環境変数を使用して、特定の **ツールセット** を選択的に有効または無効にすることができます。これにより、AIエージェントが利用できるツールをより細かく制御し、コンテキストサイズを削減するのに役立ちます。
|
|
99
|
+
|
|
100
|
+
### 利用可能なツールセット
|
|
101
|
+
|
|
102
|
+
次のツールセットが利用可能です(`"all"` が使用されるとデフォルトで有効になります):
|
|
103
|
+
|
|
104
|
+
| ツールセット | 説明 |
|
|
105
|
+
|-----------------|--------------------------------------------------------------------------------------|
|
|
106
|
+
| `space` | Backlogスペース設定と一般情報を管理するためのツール |
|
|
107
|
+
| `project` | プロジェクト、カテゴリ、カスタムフィールド、課題タイプを管理するためのツール |
|
|
108
|
+
| `issue` | 課題とそのコメントを管理するためのツール |
|
|
109
|
+
| `wiki` | Wikiページを管理するためのツール |
|
|
110
|
+
| `git` | Gitリポジトリとプルリクエストを管理するためのツール |
|
|
111
|
+
| `notifications` | ユーザー通知を管理するためのツール |
|
|
112
|
+
| `document` | ドキュメントおよびドキュメントツリーを参照するためのツール |
|
|
113
|
+
|
|
114
|
+
### ツールセットの指定
|
|
115
|
+
|
|
116
|
+
次の方法でツールセットのアクティベーションを制御できます:
|
|
117
|
+
|
|
118
|
+
CLI経由での使用:
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
--enable-toolsets space,project,issue
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
または環境変数経由:
|
|
125
|
+
|
|
126
|
+
```
|
|
127
|
+
ENABLE_TOOLSETS="space,project,issue"
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
`all` が指定された場合、利用可能なすべてのツールセットが有効になります。これはデフォルトの動作でもあります。
|
|
131
|
+
|
|
132
|
+
ツールセットリストがAIエージェントにとって大きすぎる場合や、特定のツールがパフォーマンスの問題を引き起こしている場合に、選択的なツールセットの使用が役立つことがあります。そのような場合、未使用のツールセットを無効にすると安定性が向上する可能性があります。
|
|
133
|
+
|
|
134
|
+
> 🧩 ヒント: `project` ツールセットは、他の多くのツールがエントリポイントとしてプロジェクトデータに依存しているため、強く推奨されます。
|
|
135
|
+
|
|
136
|
+
### 動的なツールセット検出(実験的)
|
|
137
|
+
|
|
138
|
+
MCPサーバーをAIエージェントと共に使用している場合、実行時にツールセットの動的な検出を有効にすることができます:
|
|
139
|
+
|
|
140
|
+
CLI経由での有効化:
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
--dynamic-toolsets
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
または環境変数経由:
|
|
147
|
+
|
|
148
|
+
```
|
|
149
|
+
-e DYNAMIC_TOOLSETS=1 \
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
動的ツールセットを有効にすると、LLMはツールインターフェースを介してオンデマンドでツールセットを一覧表示およびアクティブ化できるようになります。
|
|
153
|
+
|
|
154
|
+
## 利用可能なツール
|
|
155
|
+
|
|
156
|
+
以下のような Backlog 機能に対応するツールを提供しています:
|
|
157
|
+
|
|
158
|
+
[Available Tools セクションへ](https://github.com/nulab/backlog-mcp-server?tab=readme-ov-file#available-tools)
|
|
159
|
+
|
|
160
|
+
## 使用例
|
|
161
|
+
|
|
162
|
+
MCPサーバーがAIエージェントで設定されると、会話で直接ツールを使用できます。以下にいくつかの例を示します:
|
|
163
|
+
|
|
164
|
+
- プロジェクトの一覧表示
|
|
165
|
+
```
|
|
166
|
+
私のBacklogプロジェクトをすべてリストアップしてください。
|
|
167
|
+
```
|
|
168
|
+
- 新しい課題の作成
|
|
169
|
+
```
|
|
170
|
+
PROJECT-KEYプロジェクトに「ログインページのエラーを修正」というタイトルの高優先度のバグ課題を作成してください。
|
|
171
|
+
```
|
|
172
|
+
- プロジェクト詳細の取得
|
|
173
|
+
```
|
|
174
|
+
PROJECT-KEYプロジェクトの詳細を表示してください。
|
|
175
|
+
```
|
|
176
|
+
- Gitリポジトリの操作
|
|
177
|
+
```
|
|
178
|
+
PROJECT-KEYプロジェクト内のすべてのGitリポジトリをリストアップしてください。
|
|
179
|
+
```
|
|
180
|
+
- プルリクエストの管理
|
|
181
|
+
```
|
|
182
|
+
PROJECT-KEYプロジェクトの「repo-name」リポジトリ内のすべてのオープンなプルリクエストを表示してください。
|
|
183
|
+
```
|
|
184
|
+
```
|
|
185
|
+
PROJECT-KEYプロジェクトの「repo-name」リポジトリで、ブランチ「feature/new-feature」から「main」への新しいプルリクエストを作成してください。
|
|
186
|
+
```
|
|
187
|
+
- ウォッチアイテム
|
|
188
|
+
```
|
|
189
|
+
私がウォッチしているすべてのアイテムを表示してください。
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### i18n / 説明のオーバーライド
|
|
193
|
+
|
|
194
|
+
**ホームディレクトリ** に `.backlog-mcp-serverrc.json` ファイルを作成することで、ツールの説明をオーバーライドできます。
|
|
195
|
+
|
|
196
|
+
ファイルには、ツール名をキーとし、新しい説明を値とするJSONオブジェクトを含める必要があります。
|
|
197
|
+
例:
|
|
198
|
+
|
|
199
|
+
```json
|
|
200
|
+
{
|
|
201
|
+
"TOOL_ADD_ISSUE_COMMENT_DESCRIPTION": "代替の説明文",
|
|
202
|
+
"TOOL_CREATE_PROJECT_DESCRIPTION": "Backlogに新しいプロジェクトを作成します"
|
|
203
|
+
}
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
サーバー起動時、各ツールの最終的な説明は次の優先順位に基づいて決定されます:
|
|
207
|
+
|
|
208
|
+
1. 環境変数(例:`BACKLOG_MCP_TOOL_ADD_ISSUE_COMMENT_DESCRIPTION`)
|
|
209
|
+
2. `.backlog-mcp-serverrc.json` 内のエントリ - サポートされる設定ファイル形式:.json、.yaml、.yml
|
|
210
|
+
3. 組み込みのフォールバック値(英語)
|
|
211
|
+
|
|
212
|
+
サンプル設定:
|
|
213
|
+
|
|
214
|
+
```json
|
|
215
|
+
{
|
|
216
|
+
"mcpServers": {
|
|
217
|
+
"backlog": {
|
|
218
|
+
"command": "docker",
|
|
219
|
+
"args": [
|
|
220
|
+
"run",
|
|
221
|
+
"-i",
|
|
222
|
+
"--rm",
|
|
223
|
+
"-e", "BACKLOG_DOMAIN",
|
|
224
|
+
"-e", "BACKLOG_API_KEY",
|
|
225
|
+
"-v", "/yourcurrentdir/.backlog-mcp-serverrc.json:/root/.backlog-mcp-serverrc.json:ro",
|
|
226
|
+
"ghcr.io/nulab/backlog-mcp-server"
|
|
227
|
+
],
|
|
228
|
+
"env": {
|
|
229
|
+
"BACKLOG_DOMAIN": "your-domain.backlog.com",
|
|
230
|
+
"BACKLOG_API_KEY": "your-api-key"
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
### 現在の翻訳のエクスポート
|
|
238
|
+
|
|
239
|
+
`--export-translations` フラグを指定してバイナリを実行することで、現在のデフォルト翻訳(オーバーライドを含む)をエクスポートできます。
|
|
240
|
+
|
|
241
|
+
これにより、行ったカスタマイズを含むすべてのツール説明が標準出力に出力されます。
|
|
242
|
+
|
|
243
|
+
例:
|
|
244
|
+
|
|
245
|
+
```bash
|
|
246
|
+
docker run -i --rm ghcr.io/nulab/backlog-mcp-server node build/index.js --export-translations
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
または
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
npx github:nulab/backlog-mcp-server --export-translations
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
### 日本語翻訳テンプレートの使用
|
|
256
|
+
サンプルの日本語設定ファイルは次の場所に提供されています:
|
|
257
|
+
|
|
258
|
+
```bash
|
|
259
|
+
translationConfig/.backlog-mcp-serverrc.json.example
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
これを使用するには、ホームディレクトリに `.backlog-mcp-serverrc.json` としてコピーします:
|
|
263
|
+
|
|
264
|
+
その後、必要に応じてファイルを編集して説明をカスタマイズできます。
|
|
265
|
+
|
|
266
|
+
### 環境変数の使用
|
|
267
|
+
または、環境変数を介してツールの説明をオーバーライドすることもできます。
|
|
268
|
+
|
|
269
|
+
環境変数名は、ツールキーに基づいており、`BACKLOG_MCP_` がプレフィックスとして付き、大文字で記述されます。
|
|
270
|
+
|
|
271
|
+
例:
|
|
272
|
+
`TOOL_ADD_ISSUE_COMMENT_DESCRIPTION` をオーバーライドするには:
|
|
273
|
+
|
|
274
|
+
```json
|
|
275
|
+
{
|
|
276
|
+
"mcpServers": {
|
|
277
|
+
"backlog": {
|
|
278
|
+
"command": "docker",
|
|
279
|
+
"args": [
|
|
280
|
+
"run",
|
|
281
|
+
"-i",
|
|
282
|
+
"--rm",
|
|
283
|
+
"-e", "BACKLOG_DOMAIN",
|
|
284
|
+
"-e", "BACKLOG_API_KEY",
|
|
285
|
+
"-e", "BACKLOG_MCP_TOOL_ADD_ISSUE_COMMENT_DESCRIPTION",
|
|
286
|
+
"ghcr.io/nulab/backlog-mcp-server"
|
|
287
|
+
],
|
|
288
|
+
"env": {
|
|
289
|
+
"BACKLOG_DOMAIN": "your-domain.backlog.com",
|
|
290
|
+
"BACKLOG_API_KEY": "your-api-key",
|
|
291
|
+
"BACKLOG_MCP_TOOL_ADD_ISSUE_COMMENT_DESCRIPTION": "代替の説明文"
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
サーバーは起動時に設定ファイルを同期的に読み込みます。
|
|
299
|
+
|
|
300
|
+
環境変数は常に設定ファイルよりも優先されます。
|
|
301
|
+
|
|
302
|
+
## 高度な機能
|
|
303
|
+
|
|
304
|
+
### ツール名のプレフィックス
|
|
305
|
+
|
|
306
|
+
次の方法でツール名にプレフィックスを追加します:
|
|
307
|
+
|
|
308
|
+
```
|
|
309
|
+
--prefix backlog_
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
または環境変数経由:
|
|
313
|
+
|
|
314
|
+
```
|
|
315
|
+
PREFIX="backlog_"
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
これは、同じ環境で複数のMCPサーバーまたはツールを使用していて、名前の衝突を避けたい場合に特に便利です。たとえば、`get_project` は `backlog_get_project` になり、他のサービスによって提供される同様の名前のツールと区別できます。
|
|
319
|
+
|
|
320
|
+
### レスポンスの最適化とトークン制限
|
|
321
|
+
|
|
322
|
+
#### フィールド選択(GraphQLスタイル)
|
|
323
|
+
|
|
324
|
+
```
|
|
325
|
+
--optimize-response
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
または環境変数:
|
|
329
|
+
|
|
330
|
+
```
|
|
331
|
+
OPTIMIZE_RESPONSE=1
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
次に、特定のフィールドのみを要求します:
|
|
335
|
+
|
|
336
|
+
```
|
|
337
|
+
get_project(projectIdOrKey: "PROJECT-KEY", fields: "{ name key description }")
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
AIはフィールド選択を使用してレスポンスを最適化します:
|
|
341
|
+
|
|
342
|
+
```
|
|
343
|
+
get_project(projectIdOrKey: "PROJECT-KEY", fields: "{ name key description }")
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
利点:
|
|
347
|
+
- 必要なフィールドのみを要求することでレスポンスサイズを削減
|
|
348
|
+
- 特定のデータポイントに焦点を当てる
|
|
349
|
+
- 大規模なレスポンスのパフォーマンスを向上
|
|
350
|
+
|
|
351
|
+
#### トークン制限
|
|
352
|
+
|
|
353
|
+
大規模なレスポンスは、トークン制限を超えないように自動的に制限されます:
|
|
354
|
+
- デフォルト制限:50,000トークン
|
|
355
|
+
- `MAX_TOKENS` 環境変数で設定可能
|
|
356
|
+
- 制限を超えるレスポンスはメッセージと共に切り捨てられます
|
|
357
|
+
|
|
358
|
+
これを変更するには、次を使用します:
|
|
359
|
+
|
|
360
|
+
```
|
|
361
|
+
MAX_TOKENS=10000
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
レスポンスが制限を超えた場合、警告と共に切り捨てられます。
|
|
365
|
+
> 注:これはベストエフォートの緩和策であり、保証された強制ではありません。
|
|
366
|
+
|
|
367
|
+
### 完全なカスタム設定例
|
|
368
|
+
|
|
369
|
+
このセクションでは、複数の環境変数を使用した高度な設定を示します。これらは実験的な機能であり、すべてのMCPクライアントでサポートされているとは限りません。これはMCP標準仕様の一部ではなく、注意して使用する必要があります。
|
|
370
|
+
|
|
371
|
+
```json
|
|
372
|
+
{
|
|
373
|
+
"mcpServers": {
|
|
374
|
+
"backlog": {
|
|
375
|
+
"command": "docker",
|
|
376
|
+
"args": [
|
|
377
|
+
"run",
|
|
378
|
+
"-i",
|
|
379
|
+
"--rm",
|
|
380
|
+
"-e", "BACKLOG_DOMAIN",
|
|
381
|
+
"-e", "BACKLOG_API_KEY",
|
|
382
|
+
"-e", "MAX_TOKENS",
|
|
383
|
+
"-e", "OPTIMIZE_RESPONSE",
|
|
384
|
+
"-e", "PREFIX",
|
|
385
|
+
"-e", "ENABLE_TOOLSETS",
|
|
386
|
+
"ghcr.io/nulab/backlog-mcp-server"
|
|
387
|
+
],
|
|
388
|
+
"env": {
|
|
389
|
+
"BACKLOG_DOMAIN": "your-domain.backlog.com",
|
|
390
|
+
"BACKLOG_API_KEY": "your-api-key",
|
|
391
|
+
"MAX_TOKENS": "10000",
|
|
392
|
+
"OPTIMIZE_RESPONSE": "1",
|
|
393
|
+
"PREFIX": "backlog_",
|
|
394
|
+
"ENABLE_TOOLSETS": "space,project,issue",
|
|
395
|
+
"ENABLE_DYNAMIC_TOOLSETS": "1"
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
## 開発
|
|
403
|
+
|
|
404
|
+
### テストの実行
|
|
405
|
+
|
|
406
|
+
```bash
|
|
407
|
+
npm test
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
### 新しいツールの追加
|
|
411
|
+
|
|
412
|
+
1. 既存のツールのパターンに従って `src/tools/` に新しいファイルを作成します
|
|
413
|
+
2. 対応するテストファイルを作成します
|
|
414
|
+
3. 新しいツールを `src/tools/tools.ts` に追加します
|
|
415
|
+
4. 変更をビルドしてテストします
|
|
416
|
+
|
|
417
|
+
### コマンドラインオプション
|
|
418
|
+
|
|
419
|
+
サーバーはいくつかのコマンドラインオプションをサポートしています:
|
|
420
|
+
|
|
421
|
+
- `--export-translations`: すべての翻訳キーと値をエクスポート
|
|
422
|
+
- `--optimize-response`: GraphQLスタイルのフィールド選択を有効にする
|
|
423
|
+
- `--max-tokens=NUMBER`: レスポンスの最大トークン制限を設定
|
|
424
|
+
- `--prefix=STRING`: すべてのツール名に付加するオプションの文字列プレフィックス(デフォルト:"")
|
|
425
|
+
- `--enable-toolsets <toolsets...>`: 有効にするツールセットを指定します(カンマ区切りまたは複数の引数)。デフォルトは "all" です。
|
|
426
|
+
例:`--enable-toolsets space,project` または `--enable-toolsets issue --enable-toolsets git`
|
|
427
|
+
利用可能なツールセット:`space`、`project`、`issue`、`wiki`、`git`、`notifications`。
|
|
428
|
+
|
|
429
|
+
例:
|
|
430
|
+
```bash
|
|
431
|
+
node build/index.js --optimize-response --max-tokens=100000 --prefix="backlog_" --enable-toolsets space,issue
|
|
432
|
+
```
|
|
433
|
+
|
|
434
|
+
## ライセンス
|
|
435
|
+
|
|
436
|
+
このプロジェクトは [MITライセンス](./LICENSE) のもとでライセンスされています。
|
|
437
|
+
|
|
438
|
+
注意:このツールはMITライセンスのもとで提供されており、**いかなる保証も公式サポートもありません**。
|
|
439
|
+
内容を確認し、ニーズへの適合性を判断した上で、自己責任で使用してください。
|
|
440
|
+
問題が発生した場合は、[GitHub Issues](../../issues) を通じて報告してください。
|