Servidor Dart MCP
Una implementación de servidor de Protocolo de Contexto de Modelo (MCP) para Dart, que proporciona capacidades de gestión de tareas, manejo de documentos y organización del espacio de trabajo a través de herramientas MCP.
Prerrequisitos
Node.js 16.x o superior
Python 3.8 o superior
SDK de Dart Python instalado (
pip install dart-sdk)Un token de API de Dart válido
Related MCP server: Dart MCP Server
Características
Gestión de tareas
Crear y actualizar tareas
Establecer prioridades y estados de las tareas
Asignar tareas a los miembros del equipo
Gestión de documentos
Crear y organizar documentos
Soporte para contenido rebajado
Generación de informes
Gestión del espacio
Crear y gestionar espacios de trabajo
Organizar el contenido con carpetas
Controlar permisos de acceso
Integración de dardos
Gestión del estado predeterminado
Organización de tareas
Colaboración en equipo
Instalación
Instalación mediante herrería
Para instalar Dart MCP Server para Claude Desktop automáticamente a través de Smithery :
npx -y @smithery/cli install @jmanhype/dart-mcp-server --client claudeInstalación manual
Clonar el repositorio:
git clone https://github.com/jmanhype/dart-mcp-server.git
cd dart-mcp-serverInstalar las dependencias de Node.js:
npm installConfigurar el entorno de Python e instalar Dart SDK:
# Create and activate virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install Dart SDK
pip install dart-sdkConfigurar variables de entorno:
# Copy example environment file
cp .env.example .env
# Edit .env with your configuration
# Required: DART_TOKEN
# Optional: PYTHONPATH (path to dart sdk)Uso
Construya el código TypeScript:
npm run buildInicie el servidor MCP:
npm startDesarrollo
# Watch for TypeScript changes
npm run dev
# Run tests
npm testVariables de entorno
Crea un archivo .env con las siguientes variables:
# Required: Your Dart API token
DART_TOKEN=your_dart_token_here
# Optional: Path to your Dart SDK installation
PYTHONPATH=/path/to/dart/sdk
# Optional: Python executable path (defaults to system Python)
PYTHON_PATH=/path/to/pythonHerramientas MCP disponibles
create_task: Crea nuevas tareas con título, descripción, prioridad, etc.update_task: Actualizar el estado, el título y la descripción de las tareas existentesget_default_status: Obtener DUID de estado predeterminadoget_default_space: Obtener el DUID del espacio predeterminadoget_dartboards: Lista de dianas disponiblesget_folders: Lista las carpetas en un espaciocreate_folder: Crea nuevas carpetascreate_doc: Crea nuevos documentos o informescreate_space: Crea nuevos espacios de trabajodelete_space: Eliminar espacios de trabajo existentes
Solución de problemas
Si encuentra problemas:
Verificar el entorno de Python:
python --version pip list | grep dartCompruebe la instalación del SDK de Dart:
python -c "import dart; print(dart.__version__)"Verificar variables de entorno:
echo $DART_TOKEN echo $PYTHONPATH
Licencia
Licencia MIT
Herramientas de dardos
Licencia de versiones de Python compatibles con PyPI
Dart es gestión de proyectos impulsada por IA.
dart-tools es la biblioteca de Dart CLI y Python. Permite la integración directa con Dart mediante una CLI de terminal o mediante Python.
Instalación
Usando la CLI
Uso de la biblioteca de Python
Uso de la biblioteca Python en funciones AWS Lambda
Uso del servidor MCP
Uso avanzado
Ayuda y recursos
Contribuyendo
Licencia
Instalación
En la terminal, instale ejecutando
pip install dart-toolsUsando la CLI
Comience configurando la autenticación con
dart loginLuego, puedes crear una nueva tarea con un comando como el siguiente:
dart createtask "Update the landing page" -p0 --tag marketinglo que creará una nueva tarea llamada 'Actualizar la página de destino' con prioridad 'Crítica' (es decir, P0) y con la etiqueta 'marketing'.
Puede explorar todas estas opciones y muchas más con dart --help o la ayuda más específica para subcomandos, en este caso dart createtask --help .
Otro flujo de trabajo común es actualizar una tarea preexistente. Para ello, ejecute algo como
dart updatetask [DUID] -s DoneEste comando marcará la tarea referenciada como "Finalizada". En este caso, [DUID] debe reemplazarse (incluidos los corchetes) por el ID de Dart de una tarea existente. Puede obtener el DUID de cualquier tarea existente de varias maneras, como copiándolo del final de la URL de la tarea o haciendo clic en el botón "..." en la página de una tarea en Dart y seleccionando "Copiar ID".
Uso de la biblioteca de Python
Primero, configure la autenticación. Ejecute dart login en la terminal para un proceso interactivo, o visite su perfil de Dart y luego ejecute dart.login(token) o guarde el token en la variable de entorno DART_TOKEN .
Luego puedes ejecutar algo como
import os
from dart import create_task, is_logged_in, update_task
# Check that auth is set up and stop if not, can remove this once everything is set up
is_logged_in(should_raise=True)
# Create a new task called 'Update the landing page' with priority 'Critical' (i.e. p0) and with the 'marketing' tag
new_task = create_task(
"Update the landing page", priority_int=0, tag_titles=["marketing"]
)
# Update the task to be 'Done'
update_task(new_task.duid, status_title="Done")Uso del servidor MCP
La implementación del servidor del Protocolo de Contexto de Modelo (MCP) permite que los asistentes de IA (como Claude) interactúen con Dart mediante herramientas estandarizadas. Esto facilita una integración fluida de las capacidades de IA con el sistema de gestión de tareas de Dart.
Instalación
# Clone the repository
git clone https://github.com/its-dart/dart-tools.git
cd dart-tools/dart/mcp
# Install dependencies
npm install
# Set up Python environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install dart-tools
# Configure environment
cp .env.example .env
# Edit .env with your DART_TOKENHerramientas MCP disponibles
El servidor proporciona estas herramientas MCP:
Gestión de tareas (crear/actualizar tareas)
Gestión de documentos (crear/organizar documentos)
Gestión del espacio (espacios de trabajo/carpetas)
Integración de dardos
Para obtener documentación detallada, consulte el archivo README del servidor MCP .
Uso avanzado
Casi todo lo que se puede hacer en Dart se puede hacer con la biblioteca de Python, pero no existen funciones contenedoras convenientes para todo. Para usos más avanzados, lo mejor es contactarnos y podemos ayudarle.
Sin embargo, si desea explorar por su cuenta, el cliente está bien tipificado, así que puede simplemente explorar el código para ver qué es posible. Todas las actualizaciones se realizarán mediante la función dart.transact .
Como ejemplo, podrías ejecutar algo parecido a update_task con
from dart import (
Dart,
Operation,
OperationKind,
OperationModelKind,
TaskUpdate,
TransactionKind,
)
# Initialize the inner client
dart = Dart()
# Prepare the update operation
task_update = TaskUpdate(
duid="[DUID]",
size=5,
)
task_update_op = Operation(
model=OperationModelKind.TASK,
kind=OperationKind.UPDATE,
data=task_update,
)
# Call the operation transactionally to perform the update
response = dart.transact([task_update_op], TransactionKind.TASK_UPDATE)Ayuda y recursos
Página principal
Aplicación web
Centro de ayuda
Errores y características
Fuente de la biblioteca
Chat en Discord
Envíenos un correo electrónico a support@itsdart.com
Contribuyendo
¡Agradecemos sus contribuciones! Abra un problema o envíe una solicitud de incorporación de cambios.
Licencia
Este proyecto está licenciado bajo la licencia MIT.