Skip to main content
Glama

Update Basecamp Document

basecamp_update_document

Update a Basecamp document: change title, replace entire content, or apply partial edits (append, prepend, search-replace) to minimize token usage.

Instructions

Update a document. Use partial content operations when possible to save on token usage.

HTML rules for content:

  • Allowed tags: p, span, h2, h3, h4, br, strong, em, strike, code, a (with href attribute), pre, ol, ul, li, blockquote, mark, figure, figcaption, table, tbody, tr, th, td, div, bc-attachment.

  • Use for paragraphs. Use for empty line spacing between paragraphs.

  • Headings: use , , as appropriate.

  • Inline code: text. Preformatted blocks: text.

  • Ordered lists: .... Unordered: ....

  • Tables: Heading...Cell...

  • To mention people:

  • Single image:

  • Image gallery: wrap multiple in a .

  • Basecamp auto-enriches bc-attachment tags after saving (adds url, href, filename, content-type, etc.) — you never need to write those.

  • To consume less tokens, existing tags can be rewritten keeping only: sgid, presentation, caption. For mentions also keep content-type="application/vnd.basecamp.mention". Drop everything else including inner HTML.

  • Background highlights: ...

  • Text color highlights: ...

  • For both, N is 1 (yellow), 2 (amber), 3 (red), 4 (pink), 5 (purple), 6 (blue), 7 (teal), 8 (near-white), or 9 (light gray).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
document_idYesDocument ID to update
titleNoNew document title
contentNoIf provided, replaces entire HTML content. Cannot be used with content_append, content_prepend, or search_replace.
content_appendNoText to append to the end of current content. Cannot be used with content.
content_prependNoText to prepend to the beginning of current content. Cannot be used with content.
search_replaceNoArray of search-replace operations to apply to current content. Cannot be used with content.
Behavior2/5

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

Annotations already indicate mutability (readOnlyHint=false), non-destructiveness, non-idempotency, and open world. The description merely restates 'Update a document' and adds no behavioral details about permissions, side effects, or failure modes. The bar is lower due to annotations, but the description adds minimal value beyond them.

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 front-loaded with a clear purpose and usage hint. The HTML rules are lengthy but necessary for precise content formatting, and they are well-organized by category. Minor inefficiency: the list uses a lot of text, but it serves a clear purpose.

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

Completeness3/5

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

The description covers the content format thoroughly but does not mention the return value or behavior after update (e.g., whether it returns the updated document). Given no output schema, this omission leaves the agent guessing. Also, it does not explain the effect of partial operations relative to full replacement, though the schema covers mutual exclusivity.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds substantial value by detailing HTML formatting rules for the 'content' parameter, including allowed tags and how to create mentions and attachments. This significantly clarifies what the string values should contain, going beyond the schema's simple description.

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 'Update a document' with a specific verb and resource. It distinguishes from sibling update tools (e.g., update_comment, update_message) by the resource type, and adds guidance on using partial operations to save tokens, reinforcing the specific use case.

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 advises 'Use partial content operations when possible to save on token usage,' providing clear usage guidance. It implies the alternatives (content, content_append, etc.) but does not explicitly state when to use this tool over creating a new document or when not to use it. Lacks contrast with siblings but sufficient for the tool's focused function.

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