Dropstone Docs

MCPサーバー

ローカルおよびリモートMCPツールを追加します。

Dropstone に外部ツールを追加するには、Model Context Protocol(MCP)を使用します。Dropstone はローカルサーバーとリモートサーバーの両方をサポートしています。

MCPツールを追加すると、組み込みツールと一緒にLLMで自動的に利用可能になります。


注意事項

MCPサーバーを使用すると、コンテキストに追加されます。多くのツールがある場合、これはすぐに増加する可能性があります。したがって、使用するMCPサーバーに注意することをお勧めします。

ヒント:

MCPサーバーはコンテキストに追加されるため、有効にするサーバーに注意してください。

GitHub MCPサーバーなどの特定のMCPサーバーは、多くのトークンを追加する傾向があり、コンテキスト制限を簡単に超える可能性があります。


有効化

MCPサーバーは、mcpの下のDropstone設定で定義できます。各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",
      // または ["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. サーバーがサポートしている場合、**Dynamic Client Registration (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。指定しない場合、動的クライアント登録が試行されます。
clientSecretStringOAuth クライアント シークレット(認可サーバーで必要な場合)。
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