Skip to main content
Glama

Update Basecamp Message

basecamp_update_message

Modify a Basecamp message by replacing its content or using efficient partial operations (append, prepend, search-replace) to save token usage.

Instructions

Update a message. 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
message_idYesBasecamp resource identifier
subjectNoNew message subject
message_type_idNoOptional message type/category ID
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.
Behavior4/5

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

The description adds significant behavioral context beyond annotations, including detailed HTML rules and auto-enrichment behavior of bc-attachment tags. Annotations (destructiveHint: false) are not contradicted. No mention of authentication or rate limits, but acceptable given openWorldHint: true.

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 relatively long due to the necessary HTML rules, but it is well-structured with clear sections and front-loads the key instruction to use partial updates. Every sentence earns its place, though it could be slightly more concise.

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 the tool's complexity (7 parameters, nested search_replace), the description covers the critical aspects: partial vs full updates, token optimization, and HTML formatting. It lacks error handling or prerequisites like message existence, but the lack of output schema is compensated by the detailed behavioral guidance.

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

Parameters5/5

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

Schema coverage is 100%. The description provides extensive HTML formatting rules that add semantic meaning to the content-related parameters, specifying allowed tags, attributes, and usage patterns for mentions, images, and galleries. This goes well beyond the schema descriptions.

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 message', identifying the specific verb and resource. This distinguishes it from sibling tools like basecamp_create_message and basecamp_get_message.

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?

Explicitly recommends using partial content operations to save tokens, providing clear guidance on when to use content_append, content_prepend, or search_replace instead of full content replacement. However, it does not explicitly exclude using this tool for other message update scenarios.

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