Dropstone Docs

MCP 伺服器

新增本機與遠端 MCP 工具。

您可以使用 Model Context Protocol(簡稱 MCP)將外部工具新增至 Dropstone。Dropstone 同時支援本機與遠端伺服器。

新增後,MCP 工具會與內建工具一起自動提供給 LLM 使用。


注意事項

當您使用 MCP 伺服器時,它會增加上下文的使用量。如果您有大量工具,這可能會快速累積。因此,我們建議謹慎選擇要使用的 MCP 伺服器。

提示:

MCP 伺服器會增加您的上下文使用量,因此請謹慎啟用。

某些 MCP 伺服器(例如 GitHub MCP 伺服器)往往會增加大量 token,且容易超出上下文限制。


啟用

您可以在 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",
      },
    },
  },
}

command 是啟動本機 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"
commandArrayY執行 MCP 伺服器的命令與參數。
environmentObject執行伺服器時設定的環境變數。
enabledBoolean啟動時啟用或停用 MCP 伺服器。
timeoutNumber從 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 選項傳入標頭清單。


選項

選項類型必填說明
typeStringYMCP 伺服器連線類型,必須為 "remote"
urlStringY遠端 MCP 伺服器的 URL。
enabledBoolean啟動時啟用或停用 MCP 伺服器。
headersObject隨請求傳送的標頭。
oauthObjectOAuth 驗證設定。請參閱下方 OAuth 小節。
timeoutNumber從 MCP 伺服器取得工具的逾時時間(毫秒)。預設為 5000(5 秒)。

OAuth

Dropstone 會自動處理遠端 MCP 伺服器的 OAuth 驗證。當伺服器需要驗證時,Dropstone 將:

  1. 偵測 401 回應並啟動 OAuth 流程
  2. 若伺服器支援,使用 Dynamic Client Registration(RFC 7591)
  3. 安全地儲存 token 以供後續請求使用

自動

對於大多數啟用 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 會將 token 安全地儲存在 ~/.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 選項

選項類型說明
oauthObject | falseOAuth 設定物件,或設為 false 以停用 OAuth 自動偵測。
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
  }
}

我們也可以使用 glob 模式來停用所有相符的 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
  }
}

這裡我們使用 glob 模式 my-mcp* 來停用所有 MCP。


依代理(Agent)

如果您有大量的 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
      }
    }
  }
}

Glob 模式

Glob 模式使用簡單的正規表示式比對模式:

  • * 比對零個或多個任意字元(例如 "my-mcp*" 會比對 my-mcp_searchmy-mcp_list 等)
  • ? 精確比對一個字元
  • 其他所有字元皆為字面比對

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