Dropstone CLI

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": {
      // ...
    },
  },
}

enabledfalseに設定して、サーバーを無効にすることもできます。これは、設定からサーバーを削除せずに一時的に無効にしたい場合に便利です。


リモートのデフォルトを上書きする

組織は、.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サーバーを設定するためのすべてのオプションは次のとおりです。

オプション必須説明
typeStringYMCPサーバー接続のタイプ。"local"である必要があります。
commandArrayYMCPサーバーを実行するコマンドと引数。
environmentObjectサーバー実行時に設定する環境変数。
enabledBoolean起動時にMCPサーバーを有効または無効にします。
timeoutNumberMCPサーバーからツールを取得する際のタイムアウト(ミリ秒)。デフォルトは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オプションでヘッダーのリストを渡すことができます。


オプション

オプション必須説明
typeStringYMCPサーバー接続のタイプ。"remote"である必要があります。
urlStringYリモートMCPサーバーのURL。
enabledBoolean起動時にMCPサーバーを有効または無効にします。
headersObjectリクエストとともに送信するヘッダー。
oauthObjectOAuth認証設定。以下のOAuthセクションを参照してください。
timeoutNumberMCPサーバーからツールを取得する際のタイムアウト(ミリ秒)。デフォルトは5000(5秒)です。

OAuth

Dropstoneは、リモートMCPサーバーのOAuth認証を自動的に処理します。サーバーが認証を必要とする場合、Dropstoneは次のことを行います:

  1. 401レスポンスを検出し、OAuthフローを開始します
  2. サーバーがサポートしている場合は、**動的クライアント登録(RFC 7591)**を使用します
  3. 将来のリクエストのためにトークンを安全に保存します

自動

ほとんどの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キーを使用するサーバーなど)、oauthfalseに設定します:

{
  "$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オプション

オプション説明
oauthObject | falseOAuth設定オブジェクト、またはOAuth自動検出を無効にする場合はfalse
clientIdStringOAuthクライアントID。指定しない場合、動的クライアント登録が試行されます。
clientSecretString認可サーバーが必要とする場合のOAuthクライアントシークレット。
scopeString認可中に要求する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サーバーがある場合、グローバルに無効にして、エージェントごとにのみ有効にしたい場合があります。これを行うには:

  1. ツールとしてグローバルに無効にします。
  2. エージェント設定で、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_searchmy-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.
Ctrl+I