mcpField
D
Dart MCP Server Template

Dart MCP Server Template

本地服务
github.com/jhgaylor开发工具179 周前更新

关于 Dart MCP Server Template

Dart MCP Server Template 是用于创建 MCP 兼容 Dart 服务端应用的模板,面向 Dart 开发者。它提供多种传输入口、基础项目结构和 Docker 配置。

主要功能

  1. 01stdio、SSE 与 HTTP 流式传输入口
  2. 02基础 MCP 服务端实现
  3. 03集成 mcp_dart 包
  4. 04包含 Docker 配置

适用场景

  1. 01启动 Dart MCP 服务端项目
  2. 02选择不同传输方式运行服务端
  3. 03通过 Docker 构建和运行服务

MCP 相关

模板提供 MCP 服务端实现,可通过 stdio、SSE 或 HTTP 流式传输供 MCP 客户端连接。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"dart-mcp-server-template": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
启动命令docker run -i --rm build

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocibuild

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Dart MCP 服务模板

用于创建兼容 MCP(Model Control Protocol)的 Dart 服务端应用的模板仓库。此模板提供了一个起点,包含 Docker 配置、服务端实现和基本项目结构。

关于此模板

此模板包含:

  • MCP 的流式 HTTP 服务端实现
  • 便于部署的 Docker 配置
  • 包含 lib、bin 和 test 目录的基本项目结构
  • 与 mcp_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 服务端。大部分自定义代码都将在此处编写。

内存流传输

你可以使用 IOStreamTransport 在内存中连接 Dart 客户端和服务端。此处提供了一个端到端示例。

使用此模板

克隆此仓库并手动更新包名称:

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(Server-Sent Events)
    • 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 许可证发布。使用此模板生成自己的应用程序时,你可以为项目选择任何许可证;此模板不会对生成的代码施加特定许可证。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。