Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
DOCS_DIRNoCustom documentation directory path

Tools

Functions exposed to the LLM to take actions

NameDescription
search_project

Search across project sources with smart intent detection. IMPORTANT: "project docs" means APPLICATION documentation (docs/ + DECISIONS.md), NOT project management. Use intent "project_docs" when user says "project docs/documents/documentation" to search application documentation. Use intent "plan" for project management (status, todos, roadmap, backlog).

search_docs

Search only the docs/ directory for reference documentation. Use this when the user specifically asks for "docs" or "documentation". Returns relevant documentation chunks with file paths and content snippets.

get_doc

Get the full content of a specific file. Supports files from .project/, root-level, or docs/. Use the path as returned from search results.

list_docs

List all available documentation files organized by category. Use this to discover what documentation is available or to get an overview of the documentation structure.

get_doc_structure

Get the complete documentation directory structure with file paths and descriptions. Useful for understanding the organization of documentation.

manage_project_file

Smart tool that automatically determines which project file to create or update based on context. Use this when making changes to the project - it will check project state and determine if index.md, ROADMAP.md, TODO.md, STATUS.md, or DECISIONS.md should be created/updated. This is the primary tool for managing project documentation during development.

check_project_state

Checks the current state of project management files. Returns which files exist (.project/index.md, ROADMAP.md, TODO.md, STATUS.md, DECISIONS.md) and provides a summary of project state. Use this before making changes to understand what exists.

create_or_update_roadmap

Creates or updates the ROADMAP.md file in .project/ directory. Use this when planning future work, milestones, or phases. If the file exists, intelligently merges new content with existing roadmap.

create_or_update_todo

Creates or updates the TODO.md file in .project/ directory. Use this when adding tasks, marking items complete, or updating task status. Intelligently organizes tasks into sections (In Progress, Next Up, Blocked, Completed).

create_or_update_status

Creates or updates the STATUS.md file in .project/ directory. Use this when updating project health, recent changes, metrics, or current phase. Automatically updates the "Last Updated" timestamp.

create_or_update_index

Creates or updates the index.md file in .project/ directory. This is the contract file that defines how agents should interpret sources. Use this when setting up project structure or updating source mappings.

create_or_update_decisions

Creates or updates the DECISIONS.md file in .project/ directory. Use this when documenting architecture decisions, trade-offs, or rationale. Helps maintain a decision log for the project.

add_decision

Adds a single architecture decision record (ADR) to DECISIONS.md. Creates a structured entry with title, context, decision, and consequences sections.

list_decisions

Lists all architecture decisions from DECISIONS.md with optional filtering by status or tag.

update_project_status

Quick status update for the project. Adds a timestamped entry to STATUS.md with the current status, changes, or notes.

add_roadmap_milestone

Adds a milestone or phase to ROADMAP.md. Creates a structured entry with title, description, target date, and deliverables.

get_decision

Reads a specific architecture decision by ADR ID. Returns the full decision content including context, decision, and consequences.

get_roadmap

Reads the current roadmap content from ROADMAP.md. Returns milestones, phases, and planned work.

create_task

Creates a new task with YAML frontmatter metadata. Uses Jira-like IDs (e.g., AUTH-001, API-042) for stable references. Supports dependencies, priorities, estimates, due dates, and tags. Agents can determine execution order by checking dependencies and priorities.

update_task

Updates an existing task by ID. Can update any field including status, priority, owner, dependencies, etc. Use this to transition tasks through workflow states.

get_task

Reads and returns a specific task by ID. Shows all metadata including frontmatter, description, subtasks, and notes.

delete_task

Permanently deletes a task from todos/. Use with caution - this cannot be undone. Consider using archive_task instead for completed tasks.

get_next_task

Returns the next task(s) that should be worked on. Considers: dependencies (only returns tasks whose dependencies are done), priority (P0 first), status (excludes done/blocked), and optionally filters by owner or project. This is the key tool for agentic execution - call this to know what to do next.

list_tasks

Lists all tasks with optional filtering. Returns a summary view of tasks organized by status and priority.

search_tasks

Search tasks by keyword in title, description, or content. Returns matching tasks with relevance ranking.

sync_todo_index

Syncs the parent TODO.md file with all tasks. Generates a dashboard view with tasks organized by status, priority counts, dependency graph, and execution order. This provides a bird's eye view of all work.

import_tasks

Parses a plan document and imports tasks to BACKLOG.md (not individual files). Use this to populate the backlog from a roadmap or requirements doc. Tasks stay in BACKLOG until promoted to active work via promote_task.

promote_task

Promotes a task from BACKLOG.md to an active YAML task file in todos/. Use this when starting work on a backlog item. Creates a full task file with YAML frontmatter, dependencies, and metadata.

archive_task

Archives a completed task by moving it from todos/ to archive/. Keeps the active task queue small and focused. Archived tasks are preserved for history but excluded from get_next_task.

add_to_backlog

Adds a single item to BACKLOG.md. Use this for quick task creation without bulk import. Items are added to the specified priority section and can later be promoted to active work.

get_backlog

Reads and returns the current backlog contents with optional filtering. Shows tasks organized by priority with counts and summary.

update_backlog_item

Updates an item in BACKLOG.md. Can change priority, title, tags, or phase without promoting to active work.

remove_from_backlog

Removes an item from BACKLOG.md without promoting it. Use for tasks that are no longer needed or were added by mistake.

list_archived_tasks

Lists tasks in the archive/ directory. Shows completed work history with optional filtering by project or date.

unarchive_task

Restores a task from archive/ back to todos/ for further work. Use when a completed task needs to be reopened.

lint_project_docs

Validates project documentation against standards. Checks for required files, valid frontmatter, broken dependencies, missing fields, and formatting issues. Can auto-fix common problems. Run this before commits to ensure documentation quality.

init_project

Initializes the .project/ directory with all standard files following strict templates. Creates index.md (contract), TODO.md (dashboard), BACKLOG.md (prioritized work queue), ROADMAP.md, STATUS.md, DECISIONS.md, and todos/ directory. Use this to bootstrap a new project with proper structure.

process_thoughts

Reads brain dump markdown files from .project/thoughts/todos/ and returns the content along with project context for analysis.

This tool gathers:

  1. Raw thought content - The unstructured brain dump as written

  2. Project context - Existing tasks, roadmap milestones, decisions for reference

  3. Task format guide - The YAML structure for creating tasks

YOU (the LLM) should then analyze the content to:

  • Understand the user's intent (explicit, shadow/underlying, practical)

  • Identify logical task groupings (consolidate related items)

  • Determine appropriate priorities based on context

  • Create well-structured tasks using create_task

  • After creating tasks, use archive_thought to archive the processed file

The tool does NOT automatically create tasks - it provides you with everything needed to make intelligent decisions about task creation.

archive_thought

Archives a processed thought file by moving it to .project/thoughts/todos/.archive/. Use this after you've created tasks from a thought file to keep the active thoughts folder clean. Also logs the archive action with timestamp and created task IDs.

list_thoughts

Lists all thought files in the .project/thoughts/ directory structure. Shows available brain dump files organized by category.

list_archived_thoughts

Lists all archived thought files with their processing history. Shows what thoughts were processed, when, and what tasks were created.

get_thought

Reads a specific thought file and returns its raw content for review.

Prompts

Interactive templates invoked by user choice

NameDescription
project_overviewGet an overview of the project, its status, and what work is in progress. Use when user asks "tell me about this project", "what is this project", "project status", or "what's going on".
get_next_taskFind the next task to work on based on priorities and dependencies. Use when user asks "what should I do", "what's next", "what to work on", or "next task".
init_projectInitialize a new project with standard documentation structure. Use when user says "start a project", "new project", "initialize project", or "set up project docs".
import_tasksImport tasks from a roadmap or plan document into BACKLOG.md. Use when user says "import tasks", "add tasks from roadmap", "populate backlog", or "convert plan to tasks".
promote_taskPromote a task from backlog to active work. Use when user says "start task", "work on X", "begin task", or "activate task".
lint_projectValidate project documentation and check for issues. Use when user says "lint project", "check project files", "validate docs", or "project health check".
list_tasksShow all tasks with their status. Use when user asks "show tasks", "list todos", "what tasks exist", or "task list".
update_taskUpdate the status of a task. Use when user says "mark task done", "complete task", "task is blocked", or "start task".
add_to_backlogAdd a single item to the backlog. Use when user says "add to backlog", "queue this task", "backlog item", or "add future task".
get_backlogView the current backlog. Use when user asks "show backlog", "what's in the queue", "backlog items", or "pending tasks".
add_decisionRecord an architecture decision. Use when user says "record decision", "document decision", "ADR", or "architecture decision".
update_statusUpdate project status. Use when user says "update status", "project status", "status update", or "how's the project".
update_project_docsUpdate project documentation - the APPLICATION documentation that explains how the system works. Use when user says "update project docs", "update project documents", "update project documentation", "update application docs", or "document this". This is DIFFERENT from project management (status, todos, roadmap) - this updates the docs/ folder and DECISIONS.md which contain reference documentation about the application itself.

Resources

Contextual data attached and managed by the client

NameDescription
ChangelogAll notable changes to this project will be documented in this file.
Code of ConductWe are committed to providing a welcoming and inspiring community for all. We
Contributing to Project MCPThank you for your interest in contributing to Project MCP! This document
Usage ExamplesAdd to `.mcp.json` in your project root:
Quick Start GuideGet up and running with `project-mcp` in 5 minutes.
project-mcp> **Intent-based MCP server for project documentation** — Maps natural language
Security PolicyWe release patches for security vulnerabilities. Which versions receive security
Setup Instructions1. **Install the package**:
Release NotesThis directory contains detailed release notes for each version of
Release v1.0.0 - First Stable Release**Release Date:** December 29, 2024
Release v1.1.0 - Task Management & Documentation Linting**Release Date:** December 29, 2024
Release v1.2.0 - Project Initialization & Task Import**Release Date:** December 29, 2024
Release v1.3.0 - Backlog-First Architecture**Release Date:** December 29, 2024
Release v2.0.0 - Modular Architecture & Code Quality**Release Date:** December 29, 2024

Latest Blog Posts

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/pouyanafisi/project-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server