Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PRODUCTIVE_API_KEYYesYour Productive API token
PRODUCTIVE_TIMEOUTNoRequest timeout in seconds30
PRODUCTIVE_BASE_URLNoBase URL for Productive APIhttps://api.productive.io/api/v2
PRODUCTIVE_ORGANIZATIONYesYour Productive organization ID

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
quick_search

Quick search across projects, tasks, pages, and actions.

This tool provides fast, comprehensive search across all Productive content types including projects, tasks, pages, and actions. It's optimized for quick lookups and general search queries.

Returns: Search results from Productive API including: - Matching projects, tasks, pages, and actions - Relevance scores and metadata - Full entity details for each match

Examples: quick_search("red") # Search for "red" across all content types quick_search("project", search_types=["project"]) # Search only in projects quick_search("meeting", deep_search=False) # Quick search without deep scan

list_recent_activity

Get a summarized feed of recent activities and updates.

Returns recent changes, task updates, comments, new documents and activities in chronological order.

Examples: list_recent_activity() # Last 24 hours, all activity list_recent_activity(hours=168) # Last week list_recent_activity(hours=48, project_id=343136) # Last 2 days on specific project list_recent_activity(hours=24, user_id=12345) # What a specific user did today list_recent_activity(hours=24, activity_type=1) # Only comments from last day list_recent_activity(hours=168, item_type='Task') # Task activities from last week list_recent_activity(hours=168, event_type='edit') # Task edits from last week list_tasks(extra_filters={'filter[status][eq]': 2}, sort='-updated_at', page_size=10) # Recently closed tasks

list_projects

List all projects with basic information.

Returns project data including:

  • Project ID, name, and number

  • Creation and last activity timestamps

  • Archived status (if applicable)

  • Webapp URL for direct access

list_foldersA

List folders in a project.

Productive exposes folders through the /folders endpoint.

Returns folder data including:

  • Folder ID and name

  • Archived status

  • Position/order within the project

  • Hidden flag and project relationship

get_folder

Get folder details by folder ID.

Productive exposes folders through the /folders endpoint.

list_workflow_statusesA

List workflow statuses from Productive.

Useful for understanding valid task status values by workflow.

list_time_entriesA

List time entries with optional date and relationship filters.

Returns logged work records and related references (person/service/task).

list_tasksA

List tasks with optional filtering and pagination.

Supports filtering by project, assignee, status, and other criteria. All parameters are optional - omit to fetch all tasks.

Example of extra_filters:

  • filter[status][eq]=1: Open tasks

  • filter[status][eq]=2: Closed tasks

  • filter[workflow_status_category_id][eq]=3: Workflow closed status

  • filter[board_status][eq]=1: Active board tasks

Returns: Dictionary of tasks matching the provided filters

get_taskA

Get detailed task information by its internal task ID (e.g., 14677418).

Returns task details including:

  • Title, description, status (open/closed), due date, and timestamps

  • Time tracking: initial estimate, remaining, billable, and worked time (in minutes)

  • Todo counts: total and open

get_task_historyA

Get comprehensive history for a specific task.

Returns aggregated task history including:

  • Status history: Timeline of status changes with timestamps and responsible users

  • Assignment history: Who worked on the task and when assignments changed

  • Milestones: Key deliverables and completion markers from comments and activities

  • Activity summary: Counts of comments, changes, status updates, assignments, and milestones

Examples: get_task_history(14677921) # Default 30-day history get_task_history(14677921, hours=168) # Last week only get_task_history(14677921, hours=24) # Last 24 hours

list_comments

List comments with optional filtering by project or task.

Use this when: You need full comment metadata (text, author, timestamps, attachments, mentions) and want to filter by specific project, task, or discussion thread.

Returns:

  • Comment text, author, and timestamp

  • Parent entity (project or task) with details

  • Discussion threads and replies

  • Attachments and file references

  • Mentions of team members or clients

Use extra_filters with filter[discussion_id][eq] to target a specific thread.

list_todosA

List todo checklist items with optional filtering by task.

Use this when: You need to browse or filter checklist items across tasks (e.g., find all open todos in a project, filter by assignee). Use get_todo when you need full details of a specific todo.

Returns:

  • Checkbox item text and completion status

  • Assignee information

  • Parent task details with project context

  • Due dates and priority relative to parent task

  • Estimated vs actual time for checklist items

Filter by task_id to get all checklist items for a specific task.

get_todoA

Get a specific todo checklist item by ID.

Use this when: You need full details of a specific todo (including project/client context, time estimates, related comments/attachments).

Returns:

  • Checkbox item text and completion status

  • Parent task with project and client details

  • Assignee and team member information

  • Due date relative to parent task timeline

  • Time estimates vs actual completion time

  • Related comments and file attachments

list_pages

List pages/documents with optional filtering by project or creator.

Use this when: You need to browse or search for pages by project, creator, or to retrieve page metadata/titles without full content.

Pages in Productive are documents that can contain rich text content, attachments, and are organized within projects.

Returns page titles, content, metadata, and project relationships.

Examples: list_pages(project_id=1234) # All pages in a project list_pages(creator_id=567) # Pages created by a specific person

get_pageA

Get a specific page/document by ID, including full content body.

Use this when: You need the full content body of a specific page (not just metadata or titles).

list_peopleA

List all team members with optional pagination.

Returns:

  • Person ID, name, and email

  • Role and title information

  • Last seen and join dates

  • Avatar and contact information

get_personA

Get detailed information about a specific team member by ID.

Use this when: You need detailed information about a specific person (full name, email, role, title, activity timestamps, custom fields, avatar). Use list_people when you need to browse or search multiple people.

Returns:

  • Full name, email, and contact information

  • Role, title, and organizational details

  • Activity timestamps (joined, last seen)

  • Custom fields and additional metadata

  • Avatar and profile information

list_attachmentsA

List attachment/file metadata with optional filtering.

Use this when: You need to browse or search attachments (files associated with tasks, comments, expenses). Note: returns metadata only — actual file content is not included.

Attachments are files (PDFs, images, documents) associated with tasks, comments, expenses, etc.

Returns:

  • File name, type, and size

  • Associated entity relationships (task, project, etc.)

Note: returns metadata only — actual file content is not included.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/druellan/Productive-Simple-MCP'

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