telos-mcp
Provides task management with full Obsidian compatibility, including markdown files, YAML frontmatter, wiki links, Dataview queries, and graph view integration.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@telos-mcpcreate a task to add rate limiting to the API"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
telos-mcp
Task planning and tracking for AI agents. An MCP server with project-based organization and Obsidian-compatible markdown storage.
What it does
Gives any MCP-compatible AI agent persistent task management:
Create, update, list, delete tasks with full status tracking
Projects — organize tasks by project with metadata (tech stack, repo URL, sources)
Dependencies — blockedBy/blocks relationships between tasks
Bulk operations — create multiple tasks at once
Task tree — hierarchical view of tasks with parent-child relationships
Markdown files — each task is a folder with README.md and YAML frontmatter
Obsidian integration — full compatibility with Obsidian vaults, Dataview, and wiki links
Zero native addons — pure JavaScript, works on any Node version without rebuild
Multi-agent — owner tracking so you know who's doing what
Related MCP server: Plate MCP
Quick start
npx telos-mcpStable install
npm install -g telos-mcpOr from source:
git clone https://github.com/skye-flyhigh/telos-mcp.git
cd telos-mcp && npm install && npm run buildThen point your client to "command": "node", "args": ["/path/to/telos-mcp/dist/index.js"].
Configuration
Variable | Default | Description |
|
| Directory where task files are stored |
Set TELOS_DIR to override the default storage location:
TELOS_DIR=/custom/path npx telos-mcpOr in the MCP config:
{
"mcpServers": {
"telos": {
"command": "npx",
"args": ["telos-mcp"],
"env": { "TELOS_DIR": "/custom/path" }
}
}
}Client Setup
Claude Code
Add to .claude.json:
{
"mcpServers": {
"telos": {
"type": "stdio",
"command": "npx",
"args": ["telos-mcp"],
"env": {}
}
}
}Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"telos": {
"command": "npx",
"args": ["telos-mcp"]
}
}
}Tools
Task Management
Tool | Description |
| Create a new task with subject, description, tags, dependencies, project_id |
| Update status, dependencies, project, or details of an existing task |
| Get full details of a task by ID |
| List all tasks (summary view), with optional filters |
| Delete a task by ID (removes the folder) |
| Move a task to a different project (or to global tasks) |
| Create multiple tasks at once |
| Get task hierarchy tree with all descendants |
Project Management
Tool | Description |
| Create a new project for organizing tasks |
| Get full project information by key |
| List all projects with optional filtering |
| Update project metadata |
| Archive a project (moves to archive/year/) |
Status Workflow
pending → planning → in_progress → reviewing → completed
↓ ↓ ↓ ↓
blocked archived deletedUse status: "deleted" in task_update to remove a task (same as task_delete).
Use status: "archived" to preserve task history without active tracking.
Dependencies
Tasks can block each other:
blockedBy: [1, 3]— this task can't start until tasks 1 and 3 completeWhen a task is completed, it's automatically removed from dependents'
blockedByWhen a task is deleted, all dependency references are cleaned up
Storage Format
Directory Structure
~/.telos/
├── tasks/ # Global tasks (no project)
│ └── {id}-{slug}/
│ └── README.md
├── projects/
│ └── {key}/ # e.g., "mnemo", "black-cat"
│ ├── project.md # Project metadata
│ └── tasks/
│ └── {id}-{slug}/
│ └── README.md
└── archive/
└── {year}/
└── {key}/ # Archived projects preserved
├── project.md
└── tasks/Task Format
Each task is a folder with a README.md containing YAML frontmatter:
---
id: 1
project_id: mnemo
subject: Fix authentication bug
status: in_progress
created: 2026-03-06T10:00:00.000Z
updated: 2026-03-06T12:30:00.000Z
owner: claude
activeForm: Fixing authentication bug
blockedBy: [3]
blocks: [5, 7]
tags: [backend, auth]
depth: 0
sources:
- https://docs.example.com
- https://github.com/org/repo/issues/42
---
Detailed description with full markdown support.Project Format
Each project is a project.md file with YAML frontmatter and markdown body:
---
key: mnemo
display_name: Mnemo MCP
tech_stack: [typescript, mcp]
repo_url: "https://github.com/skye-flyhigh/mnemo"
status: active
created: "2026-03-06T10:00:00.000Z"
updated: "2026-03-06T12:00:00.000Z"
archived_at: null
archived_reason: null
sources:
- https://modelcontextprotocol.io
---
Memory management for AI agents. Description goes here as markdown body.Obsidian Integration
Telos is designed for Obsidian compatibility:
Markdown files — Every task is a README.md, every project is a project.md
YAML frontmatter — Metadata in standard YAML format
Wiki links —
[[project-key]]links between tasks and projectsDataview queries — Dynamic tables for task and project lists
Graph view — Visual task ↔ project relationships
Open ~/.telos as an Obsidian vault for full visualization.
License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Skye-flyhigh/telos-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server