Skip to main content
Glama

List Basecamp Activity (Recordings)

basecamp_list_recordings
Read-onlyIdempotent

List recent Basecamp recordings across projects. Filter activity by project, person, content type (todos, messages, documents, comments, uploads), time period, or title text to find specific changes.

Instructions

Browse recent activity across Basecamp by listing recordings. Recordings represent all content in Basecamp: todos, messages, documents, comments, uploads, and more.

Use this tool to:

  • See what's been happening across all projects or specific projects

  • Find recent activity by one or more people

  • Review changes since a specific date or time period

  • Filter activity by content type (todos, messages, documents, etc.)

  • Search activity by title text

All filters support multiple values for OR-matching.

Examples:

  • "What happened in the last 24 hours?" → since: "24h"

  • "Show recent todos in project 12345" → project_ids: [12345], type: ["todo"]

  • "What did Alice and Bob do this week?" → person_ids: [111, 222], since: "7d"

  • "Find messages mentioning launch across projects 1 and 2" → project_ids: [1, 2], type: ["message"], query: ["launch"]

  • "Find items about design or UX" → query: ["design", "UX"]

  • "List all messages across projects" → type: ["message"]

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
project_idsNoFilter to specific projects (bucket IDs). Supports multiple IDs for OR-matching. Omit to browse across all projects.
typeNoRecording type filter. Options: "todo", "message", "document", "comment", "upload", "todolist", "question", "schedule", "vault". Supports multiple values for OR-matching. Omit to fetch all common types (todo, message, document, comment, upload, card).
sinceNoShow activity since this time. Accepts ISO 8601 dates (e.g., "2024-01-15"), relative durations ("24h", "7d", "2w"), or keywords ("today", "yesterday").
person_idsNoFilter by creator person IDs. Supports multiple IDs for OR-matching. Use basecamp_list_people to find person IDs.
queryNoCase-insensitive text search against recording titles. Supports multiple terms for OR-matching.
sortNoSort field: "created_at" (default) or "updated_at".
directionNoSort direction: "desc" (default, newest first) or "asc" (oldest first).
statusNoRecording status filter: "active" (default), "archived", or "trashed".
limitNoMaximum number of recordings to return (default: 20, max: 100).
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, destructiveHint, idempotentHint, and openWorldHint. The description adds context by explaining that recordings are read-only and filter behavior (OR-matching). It does not contradict annotations and provides additional usage insights.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a header, bullet points, and examples. It is front-loaded with the main purpose. It could be slightly shorter, but the examples are valuable for usage guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 9 optional parameters and no output schema, the description covers the main use cases and explains the concept of recordings. It does not describe pagination or output format, but for a list tool with rich annotations, this is sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds examples that illustrate parameter combinations but does not provide new semantic information beyond the schema. The examples are helpful but not essential.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it lists 'recordings' (all content types) and distinguishes from sibling list tools by emphasizing its breadth. It uses a specific verb ('list') and resource ('recordings'), and explains that recordings represent all Basecamp content.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit use cases (e.g., 'See what's been happening across all projects', 'Find recent activity by one or more people') and gives concrete examples mapping parameters to real queries. It could be more explicit about when not to use (e.g., for specific types, use sibling tools), but the examples imply differentiation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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/stefanoverna/basecamp-mcp'

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