article
README
🚀 Dart MCP 服务器模板
本模板用于创建与 MCP(模型控制协议)兼容的 Dart 服务应用程序。它提供了一个便捷的起点,涵盖 Docker 配置、服务器实现以及基本项目结构,帮助开发者快速搭建项目。
🚀 快速开始
克隆此仓库并手动更新包名:
git clone https://github.com/jhgaylor/dart-mcp-server-template.git my_new_mcp_server
cd my_new_mcp_server
# 更新代码库中的包名
find . -type f -name "*.dart" -o -name "pubspec.yaml" | xargs sed -i 's/dart_mcp_server_template/my_new_mcp_server/g'
# 更新仓库 URL 中的包名
find . -type f -name "*.md" -o -name "Dockerfile" | xargs sed -i 's/dart-mcp-server-template/my-new-mcp-server/g'
# 重命名文件
find . -type f -name "*dart_mcp_server_template*" | while read file; do mv "$file" "${file//dart_mcp_server_template/my_new_mcp_server}"; done
# 删除旧的 .git 目录以开始 fresh
rm -rf .git
# 初始化新的 Git 仓库
git init
然后更新 pubspec.yaml 和代码库中的包名。
在从模板创建项目后:
- 更新
pubspec.yaml中的项目详细信息。 - 根据需要修改
lib/src/config.dart中的配置。 - 实现自定义服务器逻辑。
- 使用提供的入口点运行服务器:
dart bin/stdio_server.dart(标准 I/O)dart bin/sse_server.dart(Server-Sent Events)dart bin/streamable_http_server.dart(HTTP 流式)
✨ 主要特性
- 提供使用标准 I/O、Server-Sent Events 和 HTTP 流式传输的可执行 Dart 服务器实现。
- 具备 Docker 配置,可实现轻松部署。
- 拥有基本项目结构,包含
lib、bin和test目录。 - 与
mcp_dart包集成。
📦 安装指南
克隆仓库
git clone https://github.com/jhgaylor/dart-mcp-server-template.git my_new_mcp_server
cd my_new_mcp_server
更新包名
# 更新代码库中的包名
find . -type f -name "*.dart" -o -name "pubspec.yaml" | xargs sed -i 's/dart_mcp_server_template/my_new_mcp_server/g'
# 更新仓库 URL 中的包名
find . -type f -name "*.md" -o -name "Dockerfile" | xargs sed -i 's/dart-mcp-server-template/my-new-mcp-server/g'
# 重命名文件
find . -type f -name "*dart_mcp_server_template*" | while read file; do mv "$file" "${file//dart_mcp_server_template/my_new_mcp_server}"; done
初始化新的 Git 仓库
# 删除旧的 .git 目录以开始 fresh
rm -rf .git
# 初始化新的 Git 仓库
git init
💻 使用示例
基础用法
启动服务器
# 使用标准 I/O 传输启动服务器
dart bin/stdio_server.dart
# 使用 Server-Sent Events 传输启动服务器
dart bin/sse_server.dart
# 使用 HTTP 流式传输启动服务器
dart bin/streamable_http_server.dart
高级用法
内存流传输
您可以使用 IOStreamTransport 在内存中完全连接 Dart 客户端和服务器。这里 是一个端到端的示例。
📚 详细文档
项目结构和功能
服务器实现
- bin/ - 包含用于通过不同传输方法启动服务器的可执行 Dart 文件:
dart bin/stdio_server.dart:使用标准 I/O 传输启动服务器。dart bin/sse_server.dart:使用 Server-Sent Events 传输启动服务器。dart bin/streamable_http_server.dart:使用 HTTP 流式传输启动服务器。- 所有这些可执行文件都使用在
lib/src/server.dart中定义的核心服务器实现。
- lib/src/server.dart - 设置基本 MCP 服务器。这是您大部分自定义代码将要编写的地方。
Docker 部署
此模板包含一个 Dockerfile 以实现轻松容器化:
# 构建 Docker 映像
docker build -t my-mcp-server .
# 运行容器
docker run -p 3000:3000 my-mcp-server
📄 许可证
此模板在 MIT License 下发布。当您从这个模板生成自己的应用程序时,您可以自由选择您的项目的许可;该模板不会强制对您的生成代码施加特定许可证。
Scan to join WeChat group