Dart MCP服务器模板

一个用于创建兼容MCP(模型控制协议)的Dart服务器应用程序的模板仓库,提供Docker配置、服务器实现和基本项目结构。

  • by jhgaylor
  • Dart
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 jhgaylor/dart-mcp-server-template

使用说明

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和整个代码库中更新包名。

入门指南

从此模板创建项目后:

  1. 更新 pubspec.yaml 包含您的项目详细信息
  2. 在中修改配置 lib/src/config.dart 根据需要
  3. 实现您的自定义服务器逻辑
  4. 使用提供的入口点之一运行服务器:
    • 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许可证下发布。当您根据此模板生成自己的应用程序时,您可以自由选择项目的任何许可证;该模板不会对您生成的代码强制实施特定的许可证。