Skip to main content
Glama
thefactremains

Just Claude Things

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
things3_get_todosA

List todos from Things 3 with optional filters and pagination.

Returns todos matching the specified criteria. Use "status" to filter by list (inbox, today, upcoming, anytime, someday, logbook). Combine with projectId, areaId, tag, or search filters to narrow results.

Args:

  • status: Filter by Things 3 list name

  • projectId: Filter by project ID (get IDs from things3_get_projects)

  • areaId: Filter by area ID (get IDs from things3_get_areas)

  • tag: Filter by tag name (get names from things3_get_tags)

  • search: Case-insensitive substring match against title and notes

  • limit: Max results to return (default 50, max 200)

  • offset: Number of results to skip for pagination (default 0)

Returns: { items: Todo[], total_available, offset, limit, has_more }

things3_get_todoA

Get a single todo by its ID from Things 3.

Returns full details including title, notes, checklist items, due date, tags, project, and area.

Args:

  • id: The unique Things 3 todo ID

Returns: Todo object with all fields

things3_get_projectsA

List all projects in Things 3 with pagination.

Returns projects with their status, area, tags, and dates. Use the returned project IDs to filter todos or assign new todos to a project.

Args:

  • limit: Max results to return (default 50, max 200)

  • offset: Number of results to skip for pagination (default 0)

Returns: { items: Project[], total_available, offset, limit, has_more }

things3_get_areasA

List all areas of responsibility in Things 3.

Returns area IDs, names, and tags. Use area IDs to filter todos or assign projects to an area.

Returns: Array of { id, name, tags }

things3_get_tagsA

List all tags defined in Things 3.

Returns tag IDs and names. Use tag names to filter todos or apply tags when creating/updating todos.

Returns: Array of { id, name }

things3_create_todoA

Create a new todo in Things 3.

Supports title, notes, scheduling, deadline, tags, project assignment, heading placement, and checklist items.

Args:

  • title: Title of the todo (required)

  • notes: Markdown notes/description

  • when: Schedule — "today", "evening", "tomorrow", "someday", or a date (YYYY-MM-DD)

  • deadline: Deadline date in YYYY-MM-DD format

  • tags: Array of tag names to apply (tags must already exist in Things 3)

  • projectId: ID of the project to add this todo to (get IDs from things3_get_projects)

  • heading: Heading within the project to place this todo under (requires projectId)

  • checklistItems: Array of checklist item strings

Returns: { id, name } of the created todo

things3_create_projectA

Create a new project in Things 3.

Args:

  • title: Title of the project (required)

  • notes: Markdown notes/description

  • areaId: ID of the area to assign this project to (get IDs from things3_get_areas)

  • tags: Array of tag names to apply (tags must already exist in Things 3)

  • when: Schedule — "today", "evening", "tomorrow", "someday", or YYYY-MM-DD

  • deadline: Deadline date in YYYY-MM-DD format

Returns: { id, name } of the created project

things3_update_todoA

Update an existing todo in Things 3 by ID.

Only provided fields are updated; omitted fields are left unchanged. Note: tags specified in addTags are added to existing tags, not replaced.

Args:

  • id: The unique ID of the todo to update (required)

  • title: New title

  • notes: New notes (replaces existing notes via URL scheme — append manually if needed)

  • when: Reschedule — "today", "evening", "tomorrow", "someday", or YYYY-MM-DD

  • deadline: New deadline in YYYY-MM-DD format

  • addTags: Tag names to add to the todo

  • completed: Set to true to mark complete, false to mark incomplete

Returns: { success, id, name }

things3_complete_todoA

Mark a todo as complete in Things 3.

Args:

  • id: The unique ID of the todo to complete (required)

Returns: { success, id, name }

things3_delete_todoA

Move a todo to the Trash in Things 3.

This does NOT permanently delete it — the todo can be recovered from Trash inside Things 3.

Args:

  • id: The unique ID of the todo to trash (required)

Returns: { success, id, name }

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.4/5.0

Scored across 10 tools

Disambiguation5/5

Each tool targets a distinct operation on clearly separate entities (todos, projects, areas, tags). No two tools perform the same function, and the slight overlap between complete_todo and update_todo with completed=true is mitigated by the dedicated convenience tool.

Naming Consistency5/5

All tools follow a strict `things3_<verb>_<noun>` pattern. Verbs are consistently in imperative form (create, get, update, delete, complete), and nouns are singular or plural appropriately. No mixing of styles or irregular names.

Tool Count5/5

With 10 tools covering the basic lifecycle of tasks and supporting entities, the count is well-scoped for a task management MCP server. It provides enough functionality without being bloated or too sparse.

Completeness4/5

Core CRUD for todos is complete, and project/area/tag retrieval is present. However, there is no update_project, delete_project, or get_single_project endpoint, and the update_todo lacks a projectId parameter, creating minor gaps for project management workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues