README
🚀 项目介绍:dank-mcp
dank-mcp 是一个实验性的开源工具,专注于特定领域的数据分析。它通过爬取、清洗和存储数据,并提供机器可读规范(MCP)服务接口,为数据分析工作提供了全面的支持。
🚀 快速开始
用户可以通过以下命令快速上手:
# 克隆仓库
git clone https://github.com/AgentDank/dank-mcp.git
cd dank-mcp
# 安装依赖
go mod tidy
# 启动服务
./dank-mcp
✨ 主要特性
- 数据获取与存储:支持从
ct.data.gov等数据源获取公开数据,并将其存储在 DuckDB 数据库中。默认数据库文件为dank-mcp.duckdb,支持内存模式和文件模式。 - 数据清洗:考虑到上游数据可能存在质量问题,项目提供了数据清洗功能。主要处理包括删除异常字符、处理检测到的“trace”值(视为0)、过滤明显错误的数据项。
- MCP 服务接口:实现了自定义的 MCP 服务器,允许通过 HTTP 或 SSE 协议进行交互。
📦 安装指南
克隆仓库
git clone https://github.com/AgentDank/dank-mcp.git
cd dank-mcp
安装依赖
go mod tidy
启动服务
./dank-mcp
💻 使用示例
基础用法
快速启动
# 下载并运行Docker镜像(需先构建镜像)
docker build -t dank-mcp .
docker run -it --rm Dank-Mcp
高级用法
指定DuckDB文件路径
# 指定DuckDB文件路径
./dank-mcp --db /path/to/database.db
启动数据下载和清洗
# 启动数据下载和清洗
./dank-mcp --dump
使用SSE协议提供服务
# 使用SSE协议提供服务
./dank-mcp --sse-host 0.0.0.0:8080
设置API令牌并启动服务
# 设置API令牌并启动服务
./dank-mcp --token your_api_token_here
📚 详细文档
核心功能模块
数据获取与存储
dank-mcp 支持从 ct.data.gov 等数据源获取公开数据,并将其存储在 DuckDB 数据库中。默认数据库文件为 dank-mcp.duckdb,支持内存模式和文件模式。
数据清洗
考虑到上游数据可能存在质量问题,项目提供了数据清洗功能。主要处理包括:
- 删除异常字符
- 处理检测到的“trace”值(视为0)
- 过滤明显错误的数据项
MCP 服务接口
该项目实现了自定义的 MCP 服务器,允许通过 HTTP 或 SSE 协议进行交互。
项目架构
- 数据获取层:负责从指定接口抓取公开数据。
- 数据处理层:执行数据清洗和预处理操作。
- 存储层:使用 DuckDB 进行数据持久化。
- 服务层:提供 MCP 标准接口,支持多种传输协议。
🔧 技术细节
数据获取与存储
dank-mcp 支持从 ct.data.gov 等数据源获取公开数据,并将其存储在 DuckDB 数据库中。默认数据库文件为 dank-mcp.duckdb,支持内存模式和文件模式。
数据清洗
考虑到上游数据可能存在质量问题,项目提供了数据清洗功能。主要处理包括:
- 删除异常字符
- 处理检测到的“trace”值(视为0)
- 过滤明显错误的数据项
MCP 服务接口
该项目实现了自定义的 MCP 服务器,允许通过 HTTP 或 SSE 协议进行交互。
⚠️ 注意事项
- 日志记录:默认情况下,日志输出到标准错误流。用户可以通过
--log-file参数指定日志文件。 - 数据一致性:项目依赖的数据源可能存在延迟或变更,建议定期同步数据。
📖 项目背景与展望
dank-mcp 是一个快速实验项目,旨在探索 MCP 技术在特定领域的应用潜力。未来计划扩展其功能,包括:
- 支持更多数据源
- 增强数据清洗规则
- 提供多模态数据处理能力(如图像分析)
🤝 贡献指南
欢迎社区贡献代码和问题反馈。请遵循项目 CODE_OF_CONDUCT.md 规范,保持良好的协作环境。
📄 许可证
本项目由 Neomantra Corp. 于2025年授权,采用 MIT License 开源协议,详细内容见 LICENSE.txt。
👥 团队介绍
dank-mcp 是由 AgentDank 团队开发的开源项目。我们致力于通过技术创新推动数据分析领域的进步,欢迎更多志同道合的朋友加入!
扫码联系在线客服