MCPサーバー
ローカルおよびリモートのMCPツールを追加します。
Model Context Protocol(MCP)を使用して、Dropstoneに外部ツールを追加できます。Dropstoneはローカルサーバーとリモートサーバーの両方をサポートしています。
追加すると、MCPツールは組み込みツールと同様にLLMで自動的に利用可能になります。
注意事項
MCPサーバーを使用すると、コンテキストに追加されます。ツールが多い場合は、すぐにコンテキストが増えてしまう可能性があります。そのため、使用するMCPサーバーには注意することをお勧めします。
Tip
MCPサーバーはコンテキストに追加されるため、有効にするサーバーには注意してください。
GitHub MCPサーバーなどの一部のMCPサーバーは、多くのトークンを追加する傾向があり、コンテキスト制限を簡単に超えてしまう可能性があります。
有効化
Dropstone設定のmcpでMCPサーバーを定義できます。各MCPに一意の名前を付けて追加します。LLMにプロンプトを送信するときに、その名前でMCPを参照できます。
{
"$schema": "https://dropstone.io/schema/config.json",
"mcp": {
"name-of-mcp-server": {
// ...
"enabled": true,
},
"name-of-other-mcp-server": {
// ...
},
},
}
enabledをfalseに設定して、サーバーを無効にすることもできます。これは、設定からサーバーを削除せずに一時的に無効にしたい場合に便利です。
リモートのデフォルトを上書きする
組織は、.well-known/dropstoneエンドポイントを介してデフォルトのMCPサーバーを提供できます。これらのサーバーはデフォルトで無効になっている場合があり、ユーザーは必要なサーバーをオプトインできます。
組織のリモート設定から特定のサーバーを有効にするには、ローカル設定にenabled: trueを指定して追加します:
{
"$schema": "https://dropstone.io/schema/config.json",
"mcp": {
"jira": {
"type": "remote",
"url": "https://jira.example.com/mcp",
"enabled": true
}
}
}
ローカル設定の値はリモートのデフォルトを上書きします。詳細については、設定の優先順位を参照してください。
ローカル
MCPオブジェクト内でtypeを"local"に設定して、ローカルMCPサーバーを追加します。
{
"$schema": "https://dropstone.io/schema/config.json",
"mcp": {
"my-local-mcp-server": {
"type": "local",
// Or ["bun", "x", "my-mcp-command"]
"command": ["npx", "-y", "my-mcp-command"],
"enabled": true,
"environment": {
"MY_ENV_VAR": "my_env_var_value",
},
},
},
}
コマンドは、ローカルMCPサーバーを起動する方法です。環境変数のリストも渡すことができます。
たとえば、テスト用の@modelcontextprotocol/server-everything MCPサーバーを追加する方法は次のとおりです。
{
"$schema": "https://dropstone.io/schema/config.json",
"mcp": {
"mcp_everything": {
"type": "local",
"command": ["npx", "-y", "@modelcontextprotocol/server-everything"],
},
},
}
そして、これを使用するには、プロンプトにuse the mcp_everything toolを追加できます。
use the mcp_everything tool to add the number 3 and 4
オプション
ローカルMCPサーバーを設定するためのすべてのオプションは次のとおりです。
| オプション | 型 | 必須 | 説明 |
|---|---|---|---|
type | String | Y | MCPサーバー接続のタイプ。"local"である必要があります。 |
command | Array | Y | MCPサーバーを実行するコマンドと引数。 |
environment | Object | サーバー実行時に設定する環境変数。 | |
enabled | Boolean | 起動時にMCPサーバーを有効または無効にします。 | |
timeout | Number | MCPサーバーからツールを取得する際のタイムアウト(ミリ秒)。デフォルトは5000(5秒)です。 |
リモート
typeを"remote"に設定して、リモートMCPサーバーを追加します。
{
"$schema": "https://dropstone.io/schema/config.json",
"mcp": {
"my-remote-mcp": {
"type": "remote",
"url": "https://my-mcp-server.com",
"enabled": true,
"headers": {
"Authorization": "Bearer MY_API_KEY"
}
}
}
}
urlはリモートMCPサーバーのURLで、headersオプションでヘッダーのリストを渡すことができます。
オプション
| オプション | 型 | 必須 | 説明 |
|---|---|---|---|
type | String | Y | MCPサーバー接続のタイプ。"remote"である必要があります。 |
url | String | Y | リモートMCPサーバーのURL。 |
enabled | Boolean | 起動時にMCPサーバーを有効または無効にします。 | |
headers | Object | リクエストとともに送信するヘッダー。 | |
oauth | Object | OAuth認証設定。以下のOAuthセクションを参照してください。 | |
timeout | Number | MCPサーバーからツールを取得する際のタイムアウト(ミリ秒)。デフォルトは5000(5秒)です。 |
OAuth
Dropstoneは、リモートMCPサーバーのOAuth認証を自動的に処理します。サーバーが認証を必要とする場合、Dropstoneは次のことを行います:
- 401レスポンスを検出し、OAuthフローを開始します
- サーバーがサポートしている場合は、**動的クライアント登録(RFC 7591)**を使用します
- 将来のリクエストのためにトークンを安全に保存します
自動
ほとんどのOAuth対応MCPサーバーでは、特別な設定は必要ありません。リモートサーバーを設定するだけです:
{
"$schema": "https://dropstone.io/schema/config.json",
"mcp": {
"my-oauth-server": {
"type": "remote",
"url": "https://mcp.example.com/mcp"
}
}
}
サーバーが認証を必要とする場合、Dropstoneは初めて使用しようとしたときに認証を促します。そうでない場合は、dropstone mcp auth <server-name>で手動でフローをトリガーできます。
事前登録済み
MCPサーバープロバイダーからクライアント認証情報を取得している場合は、それらを設定できます:
{
"$schema": "https://dropstone.io/schema/config.json",
"mcp": {
"my-oauth-server": {
"type": "remote",
"url": "https://mcp.example.com/mcp",
"oauth": {
"clientId": "{env:MY_MCP_CLIENT_ID}",
"clientSecret": "{env:MY_MCP_CLIENT_SECRET}",
"scope": "tools:read tools:execute"
}
}
}
}
認証
認証を手動でトリガーしたり、認証情報を管理したりできます。
特定のMCPサーバーで認証する:
dropstone mcp auth my-oauth-server
すべてのMCPサーバーとその認証ステータスを一覧表示する:
dropstone mcp list
保存された認証情報を削除する:
dropstone mcp logout my-oauth-server
mcp authコマンドは、ブラウザで認証を開きます。承認後、Dropstoneはトークンを~/.local/share/dropstone/mcp-auth.jsonに安全に保存します。
OAuthの無効化
サーバーで自動OAuthを無効にしたい場合(APIキーを使用するサーバーなど)、oauthをfalseに設定します:
{
"$schema": "https://dropstone.io/schema/config.json",
"mcp": {
"my-api-key-server": {
"type": "remote",
"url": "https://mcp.example.com/mcp",
"oauth": false,
"headers": {
"Authorization": "Bearer {env:MY_API_KEY}"
}
}
}
}
OAuthオプション
| オプション | 型 | 説明 |
|---|---|---|
oauth | Object | false | OAuth設定オブジェクト、またはOAuth自動検出を無効にする場合はfalse。 |
clientId | String | OAuthクライアントID。指定しない場合、動的クライアント登録が試行されます。 |
clientSecret | String | 認可サーバーが必要とする場合のOAuthクライアントシークレット。 |
scope | String | 認可中に要求するOAuthスコープ。 |
デバッグ
リモートMCPサーバーの認証に失敗する場合、次のコマンドで問題を診断できます:
# OAuth対応サーバーの認証ステータスを表示
dropstone mcp auth list
# 特定のサーバーの接続とOAuthフローをデバッグ
dropstone mcp debug my-oauth-server
mcp debugコマンドは、現在の認証ステータスを表示し、HTTP接続をテストし、OAuthディスカバリーフローを試行します。
管理
MCPはDropstoneで組み込みツールと同様にツールとして利用できます。そのため、他のツールと同様にDropstone設定で管理できます。
グローバル
つまり、グローバルに有効または無効にできます。
{
"$schema": "https://dropstone.io/schema/config.json",
"mcp": {
"my-mcp-foo": {
"type": "local",
"command": ["bun", "x", "my-mcp-command-foo"]
},
"my-mcp-bar": {
"type": "local",
"command": ["bun", "x", "my-mcp-command-bar"]
}
},
"tools": {
"my-mcp-foo": false
}
}
グロブパターンを使用して、一致するすべてのMCPを無効にすることもできます。
{
"$schema": "https://dropstone.io/schema/config.json",
"mcp": {
"my-mcp-foo": {
"type": "local",
"command": ["bun", "x", "my-mcp-command-foo"]
},
"my-mcp-bar": {
"type": "local",
"command": ["bun", "x", "my-mcp-command-bar"]
}
},
"tools": {
"my-mcp*": false
}
}
ここでは、グロブパターンmy-mcp*を使用してすべてのMCPを無効にしています。
エージェントごと
多数のMCPサーバーがある場合、グローバルに無効にして、エージェントごとにのみ有効にしたい場合があります。これを行うには:
- ツールとしてグローバルに無効にします。
- エージェント設定で、MCPサーバーをツールとして有効にします。
{
"$schema": "https://dropstone.io/schema/config.json",
"mcp": {
"my-mcp": {
"type": "local",
"command": ["bun", "x", "my-mcp-command"],
"enabled": true
}
},
"tools": {
"my-mcp*": false
},
"agent": {
"my-agent": {
"tools": {
"my-mcp*": true
}
}
}
}
グロブパターン
グロブパターンは、単純な正規表現のグロブパターンを使用します:
*は任意の文字の0回以上の繰り返しに一致します(例:"my-mcp*"はmy-mcp_search、my-mcp_listなどに一致)?は正確に1文字に一致します- その他の文字はリテラルに一致します
Note
MCPサーバーツールはサーバー名がプレフィックスとして登録されるため、サーバーのすべてのツールを無効にするには次を使用します:
"mymcpservername_*": false
例
以下は、一般的なMCPサーバーの例です。他のサーバーのドキュメントが必要な場合は、お問い合わせください。
Sentry
Sentry MCPサーバーを追加して、Sentryプロジェクトとイシューを操作します。
{
"$schema": "https://dropstone.io/schema/config.json",
"mcp": {
"sentry": {
"type": "remote",
"url": "https://mcp.sentry.dev/mcp",
"oauth": {}
}
}
}
設定を追加した後、Sentryで認証します:
dropstone mcp auth sentry
これにより、ブラウザウィンドウが開き、OAuthフローを完了してDropstoneをSentryアカウントに接続します。
認証後、プロンプトでSentryツールを使用して、イシュー、プロジェクト、エラーデータを照会できます。
Show me the latest unresolved issues in my project. use sentry
Context7
Context7 MCPサーバーを追加して、ドキュメントを検索します。
{
"$schema": "https://dropstone.io/schema/config.json",
"mcp": {
"context7": {
"type": "remote",
"url": "https://mcp.context7.com/mcp"
}
}
}
無料アカウントに登録している場合は、APIキーを使用してより高いレート制限を得ることができます。
{
"$schema": "https://dropstone.io/schema/config.json",
"mcp": {
"context7": {
"type": "remote",
"url": "https://mcp.context7.com/mcp",
"headers": {
"CONTEXT7_API_KEY": "{env:CONTEXT7_API_KEY}"
}
}
}
}
ここでは、CONTEXT7_API_KEY環境変数が設定されていることを前提としています。
プロンプトにuse context7を追加して、Context7 MCPサーバーを使用します。
Configure a Cloudflare Worker script to cache JSON API responses for five minutes. use context7
または、AGENTS.mdに次のようなものを追加することもできます。
When you need to search docs, use `context7` tools.
Grep by Vercel
Grep by Vercel MCPサーバーを追加して、GitHubのコードスニペットを検索します。
{
"$schema": "https://dropstone.io/schema/config.json",
"mcp": {
"gh_grep": {
"type": "remote",
"url": "https://mcp.grep.app"
}
}
}
MCPサーバーにgh_grepという名前を付けたので、プロンプトにuse the gh_grep toolを追加して、エージェントにそれを使用させることができます。
What's the right way to set a custom domain in an SST Astro component? use the gh_grep tool
または、AGENTS.mdに次のようなものを追加することもできます。
If you are unsure how to do something, use `gh_grep` to search code examples from GitHub.