Dart MCP Server for Task, Docs, Project Data
Interact with task, doc, and project data via the Dart MCP server to streamline AI-native project management and integrations.
npx -y @its-dart/dart-mcp-serverOverview
The Dart MCP Server provides a lightweight implementation of a Model Context Protocol (MCP) server that stores and exposes task, document, and project data for AI-native workflows. It’s written in Dart and intended to act as a local or self-hosted source-of-truth for contextual data you want to surface into LLMs, agents, or other automation tools. By centralizing project artifacts (tasks, docs, metadata) behind a simple API, the server helps teams and integrations reliably supply context to models and downstream services.
This server is useful when you need a predictable, developer-friendly endpoint for programmatically reading and writing project context. Typical uses include feeding documents and tasks into vector-indexing pipelines, letting agents query current project state, or synchronizing task lists between tools and model-driven assistants. The implementation aims to be minimal, easy to run, and easy to integrate into existing Dart or HTTP-based workflows.
Features
- CRUD storage for tasks, documents, and projects (create, read, update, delete)
- HTTP API for programmatic access (REST-style endpoints)
- Simple configuration via environment variables or a .env file
- Docker-friendly: build and run as a container for deployment
- Implements the MCP pattern so model-driven components can request and consume context
- Low-dependency Dart codebase that’s straightforward to inspect and extend
- Example request/response formats to make integration predictable
Installation / Configuration
Clone the repository and run with Dart:
Run with Docker:
# build the image
# run the container (exposes port 8080 by default)
Example environment variables (use a .env file or container env):
PORT=8080
DATABASE_URL=file:./data.db
LOG_LEVEL=info
# optional: AUTH_TOKEN=your-token-here
Notes:
- The server reads configuration from environment variables; check the repository for exact variable names if you need advanced settings.
- If the project uses a local SQLite file or other persistence, ensure file permissions allow the server to create and write the database.
Available Resources
- GitHub repository: https://github.com/its-dart/dart-mcp-server — source code, issues, and examples
- Example request formats and example clients are included in the repo (see examples/ or docs/ folders)
- Open an issue on GitHub for API clarifications or feature requests
Common API resources you can expect (exact paths may vary; consult the repo for the definitive schema):
| Resource | Purpose |
|---|---|
| /projects | List, create, update, delete projects |
| /projects/{id} | Retrieve or modify a single project |
| /tasks | Create and query tasks; supports metadata like status, assignee, due date |
| /tasks/{id} | Task-level operations |
| /docs | Upload or fetch documents, notes, and attachments |
| /search or /query | Query context by text or metadata (for indexing/search integrations) |
Example: create a document (placeholder URL and payload):
Use Cases
- Feeding project context into an embedding/indexing pipeline
- Periodically export or stream docs and tasks from the MCP server to an embedding service (e.g., FAISS, Pinecone) so an LLM has up-to-date retrieval capabilities.
- Agent-driven task management
- Use an LLM agent to query /tasks and /projects to determine next actions, claim or update tasks, and write results back to the MCP server to maintain single-source-of-truth.
- Synchronization between tools
- Integrate the MCP server as a middle layer that normalizes data between a task tracker, documentation system, and model-powered automations. Each tool pushes and pulls from the server rather than directly coupling to other services.
- Prototyping AI-native features
- Rapidly prototype model integrations without changing your main project database. Use the Dart MCP server for experiment data and to expose context to models during development.
Getting Started Tips
- Inspect the repository for example clients and sample payloads to understand the API contract.
- Run locally behind a reverse proxy in front of the container when deploying (for TLS and routing).
- If you need authentication, add an API gateway or token check in front of the server; the codebase is small and easy to extend with middleware hooks for auth and rate limiting.
- Back up any persistent databases used by the server as part of production hygiene.
For full details, API docs, and code examples, consult the GitHub repository: https://github.com/its-dart/dart-mcp-server.