mcpField
D
Dart MCP Server Template

Dart MCP Server Template

Local
github.com/jhgaylorDeveloper Tools1Updated 79w ago

About Dart MCP Server Template

Dart MCP Server Template is a starter repository for developers building MCP-compatible server applications in Dart. It provides server entrypoints for several transports, a basic project structure, and Docker configuration.

Key features

  1. 01Entrypoints for stdio, SSE, and HTTP streaming
  2. 02Basic MCP server implementation
  3. 03Integration with mcp_dart
  4. 04Docker configuration included

Use cases

  1. 01Start a Dart MCP server project
  2. 02Run a server with a selected transport
  3. 03Build and run the server with Docker

MCP support

The template provides an MCP server implementation that MCP clients can connect to over stdio, SSE, or HTTP streaming.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"dart-mcp-server-template": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
Run commanddocker run -i --rm build

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
ocibuild

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Dart MCP Server Template

A template repository for creating Dart server applications compatible with MCP (Model Control Protocol). This template provides a starting point with Docker configuration, server implementations, and basic project structure.

About This Template

This template includes:

  • A streamable HTTP server implementation for MCP
  • Docker configuration for easy deployment
  • Basic project structure with lib, bin, and test directories
  • Integration with the mcp_dart package

Project Structure and Features

Server Implementation
  • bin/ - Contains executable Dart files to start the server via different transport methods:

    • dart bin/stdio_server.dart: Start server with standard I/O transport.
    • dart bin/sse_server.dart: Start server with Server-Sent Events transport.
    • dart bin/streamable_http_server.dart: Start server with HTTP streaming transport.
    • All these executables use the core server implementation defined in lib/src/server.dart.
  • lib/src/server.dart - Sets up a basic MCP server. This is where the bulk of your custom code will go.

In-Memory Stream Transport

You can connect a Dart client and server entirely in memory using the IOStreamTransport. Here is an end-to-end example.

Using This Template

Clone this repository and manually update the package name:

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

Then update the package name in pubspec.yaml and throughout the codebase.

Getting Started

After creating your project from this template:

  1. Update the pubspec.yaml with your project details
  2. Modify the configuration in lib/src/config.dart as needed
  3. Implement your custom server logic
  4. Run the server using one of the provided entrypoints:
    • dart bin/stdio_server.dart (Standard I/O)
    • dart bin/sse_server.dart (Server-Sent Events)
    • dart bin/streamable_http_server.dart (HTTP streaming)

Docker Deployment

This template includes a Dockerfile for easy containerization:

# Build the Docker image
docker build -t my-mcp-server .

# Run the container
docker run -p 3000:3000 my-mcp-server

License

This template is released under the MIT License. When you generate your own application from this template, you are free to choose any license for your project; the template does not impose a specific license on your generated code.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.