Dopesecurity
БесплатноНе проверенLocal MCP server for the dope.security Flightdeck partner API
Описание
Local MCP server for the dope.security Flightdeck partner API
README
The Dope MCP is a local Model Context Protocol server that lets an AI assistant talk to your dope.security tenant — look at endpoints, read and tweak policies, and curate custom URL categories. It wraps most of the Flightdeck partner API, runs on your machine, and is read-only out of the box: nothing changes in your tenant until you explicitly turn writes on. It's currently in beta, we hope you enjoy using it.
Installation
Installation is via uvx.
Runs the server on demand. Nothing is installed globally.
Prerequisites
Install
uv— see Astral's install guide.Install a Python runtime with
uv:uv python install 3.11
MCP client config
Add the server to your MCP client configuration:
{
"mcpServers": {
"dope-security": {
"command": "uvx",
"args": ["dopesecurity-mcp-server"],
"env": {
"DOPE_CLIENT_ID": "your-client-id",
"DOPE_CLIENT_SECRET": "your-client-secret",
"DOPE_ENABLE_MUTATIONS": "false",
"DOPE_ENABLE_DESTRUCTIVE": "false"
}
}
}
}
Three tiers of access
The tool surface is gated by two environment variables, both false
by default. Tools that aren't enabled by the active combination are
not registered at all — they don't exist on the MCP wire.
DOPE_ENABLE_MUTATIONS |
DOPE_ENABLE_DESTRUCTIVE |
What the agent can do |
|---|---|---|
false |
false |
Read-only. Inspect endpoints, policies, custom categories. Cannot modify the tenant. |
true |
false |
Read + write. Per-entry creates, updates, upserts, assigns, unassigns, and per-entry deletes. Cannot drop a whole policy or wipe a section. |
true |
true |
Read + write + destructive. Adds whole-policy drops, whole-section resets to base, whole-custom-category deletes, and wipe-all-URLs. |
false |
true |
Invalid — the server refuses to start. |
Flightdeck RBAC still applies on top of whichever tier you enable: even when a tool is registered, Flightdeck may reject the call because your OAuth client's role doesn't permit it. Start with read-only, flip to mutations when you trust the agent's workflow, and only enable destructive when you explicitly want the agent to be able to start over.
Configuration reference
| Env var | CLI flag | Default | Description |
|---|---|---|---|
DOPE_CLIENT_ID |
— | — | API client ID issued from the dope console. Required. |
DOPE_CLIENT_SECRET |
— | — | API client secret issued from the dope console. Required. |
DOPE_ENABLE_MUTATIONS |
--enable-mutations |
false |
Expose write tools that modify tenant state. |
DOPE_ENABLE_DESTRUCTIVE |
--enable-destructive |
false |
Additionally expose destructive tools (whole-policy drops, whole-section resets). Requires mutations. |
DOPE_TIMEOUT_SECONDS |
--timeout-seconds |
30 |
HTTP timeout for Flightdeck calls. |
DOPE_LOG_LEVEL |
--log-level |
INFO |
Log verbosity (logs go to stderr only). |
DOPE_CLIENT_ID and DOPE_CLIENT_SECRET should be provided as
environment variables. You can grab the credentials from the
dope console.
Available tools
Endpoints (read-only)
| Tool | Description |
|---|---|
search_endpoints |
List or search endpoints (cursor paged). |
Policies (read)
| Tool | Description |
|---|---|
list_policies |
List all policies. |
get_policy_assignments |
Show users/groups assigned to a policy. |
get_policy_restrictions |
Show per-category restrictions. |
get_policy_exceptions |
Show per-category exceptions. |
get_policy_url_bypass |
List URL bypass entries. |
get_policy_application_bypass_entries |
List application bypass entries. |
Policies (write — only when mutations enabled)
| Tool | Description |
|---|---|
create_policy |
Create a new policy. |
assign_policy_principals |
Add users/groups to a policy. |
unassign_policy_principals |
Remove users/groups from a policy. |
update_policy_restrictions |
Update per-category restrictions. |
replace_policy_category_exceptions |
Replace exceptions for the submitted category. |
upsert_policy_url_bypass |
Add or update URL bypass entries. |
delete_policy_url_bypass_entries |
Delete named URL bypass entries. |
upsert_policy_application_bypass |
Add or update application bypass entries. |
delete_policy_application_bypass_entries |
Delete named application bypass entries. |
Policies (destructive — only when both mutations and destructive are enabled)
| Tool | Description |
|---|---|
delete_policy |
Delete a whole policy. |
reset_policy_restrictions_to_base |
Reset all restrictions to Base. |
reset_policy_url_bypass_to_base |
Reset URL bypass to Base. |
reset_policy_application_bypass_to_base |
Reset application bypass to Base. |
Custom categories (read)
| Tool | Description |
|---|---|
list_custom_categories |
List all custom categories. |
get_custom_category_urls |
List URLs in a custom category. |
Custom categories (write — only when mutations enabled)
| Tool | Description |
|---|---|
create_custom_category |
Create a new custom category. |
add_urls_to_custom_category |
Add URLs to a custom category. |
delete_single_url_from_custom_category |
Remove one URL from a category. |
Custom categories (destructive — only when both mutations and destructive are enabled)
| Tool | Description |
|---|---|
delete_custom_category |
Delete a whole custom category. |
delete_all_urls_from_custom_category |
Wipe every URL from a category. |
Developing
Setup and verification
From the repository root:
make install # uv sync --locked
make check # lint + typecheck + unit tests
make integration-tests # requires DOPE_MCP_TESTS_CLIENT_SECRET
uv run dopesecurity-mcp-server --help
Run make help to see all available targets.
Known limitations
assign_policy_principalsandunassign_policy_principalsare read-merge-write on top of Flightdeck's overwrite-only assignments endpoint, so concurrent edits to the same policy may be clobbered.- Pagination is cursor-based; the mcp server does not auto-fetch all pages.
Flightdeck routes deliberately omitted from MCP
Some Flightdeck partner API routes are intentionally not exposed as MCP tools and will not be added. This is the list — treat it as a "don't bother proposing this" register.
PUT /custom_categories/{name}/urls— overwrite-all semantics. An agent calling this with a partial list silently destroys every URL it didn't mention. Useadd_urls_to_custom_category,delete_single_url_from_custom_category, anddelete_all_urls_from_custom_categoryinstead, which force the agent to state intent explicitly.
Running a local checkout from an MCP client
To point an MCP client (Amp, Claude Desktop, etc.) at your local checkout
instead of the published uvx package, replace the command/args so the
client launches the server through uv run --directory:
{
"mcpServers": {
"dope-security-dev": {
"command": "uv",
"args": [
"run",
"--directory",
"/absolute/path/to/dopemcp",
"dopesecurity-mcp-server"
],
"env": {
"DOPE_CLIENT_ID": "your-client-id",
"DOPE_CLIENT_SECRET": "your-client-secret",
"DOPE_ENABLE_MUTATIONS": "true",
"DOPE_ENABLE_DESTRUCTIVE": "true",
"DOPE_LOG_LEVEL": "DEBUG"
}
}
}
}
Replace /absolute/path/to/dopemcp with the path to your clone. The MCP
client spawns the server over stdio on demand.
Установка Dopesecurity
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/dopesecurity/mcpFAQ
Dopesecurity MCP бесплатный?
Да, Dopesecurity MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Dopesecurity?
Нет, Dopesecurity работает без API-ключей и переменных окружения.
Dopesecurity — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Dopesecurity в Claude Desktop, Claude Code или Cursor?
Открой Dopesecurity на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
автор: modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
автор: xuzexin-hzCompare Dopesecurity with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории ai
