Dart MCP服务器模板
用于创建与MCP(模型控制协议)兼容的Dart服务器应用程序的模板存储库。此模板提供了Docker配置、服务器实现和基本项目结构的起点。
关于此模板
此模板包括:
- MCP的流式HTTP服务器实现
- Docker配置,便于部署
- 带有lib、bin和test目录的基本项目结构
- 与mcp_dart软件包集成
项目结构及特点
服务器实现
- 垃圾箱/ -包含可执行的Dart文件,用于通过不同的传输方法启动服务器:
- dart bin/stdio_server.dart:使用标准I/O传输启动服务器。 - dart bin/sse_server.dart:使用服务器发送事件传输启动服务器。 - dart bin/streamable_http_server.dart:使用HTTP流传输启动服务器。 - 所有这些可执行文件都使用中定义的核心服务器实现 lib/src/server.dart.
- lib/src/server.dart -设置基本MCP服务器。这就是你的大部分自定义代码将去的地方。
内存流传输
您可以使用以下命令将Dart客户端和服务器完全连接到内存中 IOStreamTransport. 这里 这是一个端到端的例子。
使用此模板
克隆此存储库并手动更新包名称:
git clone https://github.com/jhgaylor/dart-mcp-server-template.git my_new_mcp_server
cd my_new_mcp_server
# Update the package name throughout the codebase
find . -type f -name "*.dart" -o -name "pubspec.yaml" | xargs sed -i 's/dart_mcp_server_template/my_new_mcp_server/g'
# Update the package name in the repository URL
find . -type f -name "*.md" -o -name "Dockerfile" | xargs sed -i 's/dart-mcp-server-template/my-new-mcp-server/g'
# Rename the files
find . -type f -name "*dart_mcp_server_template*" | while read file; do mv "$file" "${file//dart_mcp_server_template/my_new_mcp_server}"; done
# Remove the .git directory to start fresh
rm -rf .git
# Initialize a new git repository
git init然后在pubspec.yaml和整个代码库中更新包名。
入门指南
从此模板创建项目后:
- 更新
pubspec.yaml包含您的项目详细信息 - 在中修改配置
lib/src/config.dart根据需要 - 实现您的自定义服务器逻辑
- 使用提供的入口点之一运行服务器:
- dart bin/stdio_server.dart (标准I/O) - dart bin/sse_server.dart (服务器发送的事件) - dart bin/streamable_http_server.dart (HTTP流媒体)
Docker部署
此模板包含一个Dockerfile,便于容器化:
# Build the Docker image
docker build -t my-mcp-server .
# Run the container
docker run -p 3000:3000 my-mcp-server许可证
此模板在MIT许可证下发布。当您根据此模板生成自己的应用程序时,您可以自由选择项目的任何许可证;该模板不会对您生成的代码强制实施特定的许可证。
