- Explore MCP Servers
- dart-mcp-server-template
Dart Mcp Server Template
What is Dart Mcp Server Template
dart-mcp-server-template is a template repository for creating Dart server applications that are compatible with the Model Control Protocol (MCP). It provides a foundational setup including Docker configuration, server implementations, and a basic project structure.
Use cases
Use cases for dart-mcp-server-template include building real-time applications, creating IoT device communication servers, and developing applications that require efficient streaming of data over HTTP.
How to use
To use dart-mcp-server-template, clone the repository and update the package name throughout the codebase. You can start the server using different transport methods by executing the Dart files located in the ‘bin’ directory.
Key features
Key features include a streamable HTTP server implementation for MCP, Docker configuration for easy deployment, a basic project structure with lib, bin, and test directories, and integration with the mcp_dart package.
Where to use
dart-mcp-server-template can be used in various fields that require server applications compatible with MCP, including IoT systems, real-time data processing, and any application needing efficient data transport.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Overview
What is Dart Mcp Server Template
dart-mcp-server-template is a template repository for creating Dart server applications that are compatible with the Model Control Protocol (MCP). It provides a foundational setup including Docker configuration, server implementations, and a basic project structure.
Use cases
Use cases for dart-mcp-server-template include building real-time applications, creating IoT device communication servers, and developing applications that require efficient streaming of data over HTTP.
How to use
To use dart-mcp-server-template, clone the repository and update the package name throughout the codebase. You can start the server using different transport methods by executing the Dart files located in the ‘bin’ directory.
Key features
Key features include a streamable HTTP server implementation for MCP, Docker configuration for easy deployment, a basic project structure with lib, bin, and test directories, and integration with the mcp_dart package.
Where to use
dart-mcp-server-template can be used in various fields that require server applications compatible with MCP, including IoT systems, real-time data processing, and any application needing efficient data transport.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Content
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:
- Update the
pubspec.yaml
with your project details - Modify the configuration in
lib/src/config.dart
as needed - Implement your custom server logic
- 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.
Dev Tools Supporting MCP
The following are the main code editors that support the Model Context Protocol. Click the link to visit the official website for more information.