README Documentation
dt_mcp Server (Decision Tree & Task Management MCP Server)
This project implements a Node.js-based Model Context Protocol (MCP) server designed to manage and interact with decision trees defined in .rtdq files and handle a basic to-do list. It uses Redis as a backend for storing parsed .rtdq data and the to-do list.
Features
- RTDQ Handling:
- Loads
.rtdqfiles (v2.1 format) from a specified directory. - Parses
.rtdqfiles asynchronously. - Stores parsed decision tree data in Redis.
- Provides an MCP tool (
get_dt_node_from_redis) to retrieve specific nodes from a loaded tree.
- Loads
- To-Do Management:
- Provides MCP tools (
add_todo,list_todos,mark_todo_done) to manage a simple to-do list. - Stores to-do items in Redis.
- Provides MCP tools (
- MCP Integration:
- Acts as a standard MCP server.
- Communicates via HTTP Server-Sent Events (SSE) on the
/mcpendpoint. - Exposes capabilities via standard MCP
tools/listandtools/callmethods.
Prerequisites
- Node.js (v16+ recommended for ES Modules and top-level await)
- npm (or yarn)
- Redis server running and accessible
Setup
-
Clone Repository:
git clone <your-repo-url> cd dt-mcp-server -
Install Dependencies:
npm install -
Configure Environment: Create a
.envfile in the project root (and add it to.gitignore) or set environment variables:REDIS_URL: The connection URL for your Redis server (e.g.,redis://localhost:6379). Defaults toredis://localhost:6379.RTDQ_DIR: (Optional) Absolute path to the directory containing your.rtdqfiles. Defaults to a subdirectory namedrtdq_fileswithin the project.PORT: (Optional) Port for the server to listen on. Defaults to3000.
-
Create RTDQ Directory: Ensure the directory specified by
RTDQ_DIR(or the defaultrtdq_filessubdirectory) exists. Place your.rtdqfiles inside it.
Running the Server
npm start
Quick Actions
Key Features
Model Context Protocol
Secure Communication
Real-time Updates
Open Source