代理感谢: dank-mcp
dank-mcp 是用于查询大麻数据集的模型上下文协议(MCP)服务器。它是由AgentBank出于教育和法律目的带给您的。
\[!注意\]
______________________________________________________________________
大麻数据集的快照在 代理感谢 dank-data 知识库;你可以指出 dank-mcp 通过任何DuckDB文件 --db.
安装
虽然我们希望有预构建的二进制文件和Homebrew包,但我们现在遇到了一个问题。因此,首选的安装方式是使用 go install 或 从源头建造:
$ go install github.com/AgentDank/dank-mcp@latest它将安装在您的 $GOPATH/bin 目录,通常 ~/go/bin.
与LLM一起使用
要使用此 dank-mcp MCP服务器,您必须配置主机程序才能使用它。我们将用 克劳德桌面我们必须找到 dank-mcp 我们系统上的程序;下面的示例显示了 dank-mcp 已安装我的 go install.
以下配置JSON(同样在回购中 mcp-config.json)设置此项:
{
"mcpServers": {
"dank": {
"command": "~/go/bin/dank-mcp",
"args": [
"--root", "~"
]
}
}
}克劳德桌面
使用Claude Desktop,您可以按照以下步骤操作 他们的配置教程 但替换上述配置。有了这个,你可以问克劳德问题,它会使用 dank-mcp 服务器。
奥拉玛和 mcphost
我目前对此工作有问题,但会给感兴趣的人留下指示。
以下是如何使用存储在中的上述配置安装和运行它 mcp-config.json:
$ go install github.com/mark3labs/mcphost@latest
$ ollama pull llama3.3
$ mcphost -m ollama:llama3.3 --config mcp-config.json
...chat away...加载数据
dank-mcp 可以从以下位置下载预构建的DuckDB快照 代理感谢 dank-data 回购:
$ dank-mcp --list # show available datasets
$ dank-mcp --fetch us/ct # download and serve
$ dank-mcp --fetch us/ct --fetch-only # download and exit
$ dank-mcp --fetch us/ct --force # force re-download下载被缓存在 .dank/cache//dank-data.duckdb 在...之下 --root (或当前目录)。在新的下载发生之前,缓存会被重复使用7天;使用 --force 以覆盖。
安装前,快照的SHA-256会根据目录进行验证,本地文件会通过重命名进行原子替换——没有可见撕裂文件的窗口。
命令行用法
以下是命令行帮助:
usage: ./bin/dank-mcp [opts]
--db string DuckDB data file to use, use ':memory:' for in-memory. Default is '.dank/dank-mcp.duckdb' under --root
--fetch string Dataset id to download from dank-data (e.g., us/ct)
--fetch-only Download only; do not start the MCP server
--force Force re-download even if cache is fresh (requires --fetch)
-h, --help Show help
--list List datasets from the dank-data catalog and exit
-l, --log-file string Log file destination (or MCP_LOG_FILE envvar). Default is stderr
-j, --log-json Log in JSON (default is plaintext)
--root string Set root location of '.dank' dir (Default: current dir)
--sse Use SSE Transport (default is STDIO transport)
--sse-host string host:port to listen to SSE connections
-v, --verbose Verbose logging服务器当前注册单个MCP工具, query,这需要一个 sql 字符串参数,并返回CSV。DuckDB以只读方式打开,并通过以下方式进一步锁定 SET enable_external_access=false,因此只允许在本地数据上使用纯SQL。
建筑
建筑是通过以下方式进行的 任务:
$ task
task: [build] go build -o bin/dank-mcp设计注意事项
dank-mcp 正在围绕一小部分想法进行重新设计:
- 锁定只读DuckDB --服务器打开DuckDB
access_mode=read_only并适用SET enable_external_access=false因此公开通用SQL工具是安全的。 - 通用的
queryMCP工具 --而不是手动滚动每个数据集工具,dank-mcp暴露一个query(sql)该工具可以针对您指向的任何DuckDB运行。 - 声明性数据集绑定 (进行中)--
pkg/dank定义aRegistrar接口和JSON标记Binding/ResourceQuery/ToolQuery结构。其目的是,新的数据集可以作为配置驱动的绑定添加,而不是定制的Go代码。
之前的曲面将康涅狄格州大麻品牌数据集直接捆绑到二进制文件中。该代码已被删除;数据集将通过上述绑定机制重新引入。
如果你只想用SQL访问DuckDB文件,MotherDuck的 mcp-server-motherduck 是一种更通用的替代方案。目标 dank-mcp 将大麻特定的提示、资源和工具捆绑在一起。
______________________________________________________________________
贡献与行为
欢迎提交请求和问题。或者用叉子叉,你自己动手。
无论哪种方式,遵守我们的 行为准则要遮遮掩掩,但不要做混蛋。
学分和许可证
版权所有(c)2025 Neomantra Corp.由Evan Wies为 代理感谢.
根据 MIT许可证,请参阅 LICENSE.txt.
______________________________________________________________________
由:草药:和:火:由背后的团队制作 代理感谢.
