Skip to main content
Glama

buildin-mcp

An MCP (Model Context Protocol) server for Buildin.ai — gives LLMs (Claude Desktop, Claude Code, Cursor, etc.) full access to pages, databases, blocks, search, users, and Markdown helpers. 19 tools total.

Getting your API token

  1. Go to Buildin.ai Integrations

  2. Create a new Plugin

  3. In the permissions section, enable:

    • Read data

    • Write data

    • Edit data

  4. Copy the generated token (starts with sk-...)

Related MCP server: Notion MCP Server

Quick start

BUILDIN_API_TOKEN=sk-... npx buildin-mcp

The server starts on stdio and is ready to accept MCP requests.

Usage with MCP clients

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "buildin": {
      "command": "npx",
      "args": ["-y", "buildin-mcp"],
      "env": {
        "BUILDIN_API_TOKEN": "sk-..."
      }
    }
  }
}

Claude Code

claude mcp add buildin -e BUILDIN_API_TOKEN=sk-... -- npx -y buildin-mcp

Cursor

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "buildin": {
      "command": "npx",
      "args": ["-y", "buildin-mcp"],
      "env": {
        "BUILDIN_API_TOKEN": "sk-..."
      }
    }
  }
}

Windsurf / any stdio MCP client

BUILDIN_API_TOKEN=sk-... npx -y buildin-mcp

OpenCode

Add to your project's opencode.jsonc or global ~/.config/opencode/opencode.jsonc (inside the "mcp" section):

"buildin": {
  "type": "local",
  "command": ["npx", "-y", "buildin-mcp"],
  "environment": {
    "BUILDIN_API_TOKEN": "sk-..."
  },
  "enabled": true
}

Note: OpenCode uses "environment" (not "env") for passing environment variables to local MCP servers.

Install from source (optional)

git clone https://github.com/ekho/buildin-mcp.git
cd buildin-mcp
npm install
npm run build
node dist/index.js

Environment variables

Variable

Required

Description

BUILDIN_API_TOKEN

yes

Plugin token from Buildin.ai

BUILDIN_API_BASE_URL

no

Override API base (default: https://api.buildin.ai/v1)

BUILDIN_MCP_DEBUG

no

Set to 1 for verbose debug logging to stderr


Tools (19 total)

Pages (5)

  • buildin_create_page — POST /v1/pages

  • buildin_get_page — GET /v1/pages/{id}

  • buildin_update_page — PATCH /v1/pages/{id}

  • buildin_archive_page — PATCH /v1/pages/{id} with archived=true

  • buildin_get_page_children — GET /v1/blocks/{page_id}/children

Databases (4)

  • buildin_create_database — POST /v1/databases

  • buildin_get_database — GET /v1/databases/{id}

  • buildin_query_database — POST /v1/databases/{id}/query

  • buildin_update_database — PATCH /v1/databases/{id}

Blocks (5)

  • buildin_get_block — GET /v1/blocks/{id}

  • buildin_get_block_children — GET /v1/blocks/{id}/children

  • buildin_append_block_children — PATCH /v1/blocks/{id}/children

  • buildin_update_block — PATCH /v1/blocks/{id}

  • buildin_delete_block — DELETE /v1/blocks/{id}

Search & Users (2)

  • buildin_search — POST /v1/search

  • buildin_get_me — GET /v1/users/me

Markdown helpers (3)

  • buildin_append_markdown — convert Markdown to Buildin blocks and append

  • buildin_get_page_markdown — read a page's contents as Markdown

  • buildin_search_and_fetch — search + auto-fetch contents of the top N pages

Buildin.ai does not expose a Comments API or a hard-delete for pages — archive is the documented way to remove pages.

Development

  • Runtime: Node 18+, TypeScript 5.6, ESM.

  • Transport: stdio only.

  • Logging: stderr only — stdout is reserved for MCP JSON-RPC. Never console.log.

  • Retries: automatic on 429 and 5xx (except 501), exponential backoff, 3 attempts.

Verify

npm run typecheck        # tsc --noEmit
npm run build            # compiles to dist/
npm test                 # unit tests for markdown converters
npm run smoke            # stdio JSON-RPC: initialize + tools/list must return 19 tools

License

MIT

Available Tools

20 tools
buildin_append_block_childrenAppend children blocksC

Append one or more child blocks to a parent block (or page). children is an array of block objects ({type, data}). Returns the list of created blocks.

ParametersJSON Schema
NameRequiredDescriptionDefault
block_idYesBuildin object ID (UUID-like).
childrenYes
afterNoOptional: ID of the child to insert the new children after.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It states that the tool appends children and returns created blocks, but does not mention that this is a write operation, potential for data modification, permission requirements, rate limits, or error scenarios.

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

Conciseness5/5

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

The description is highly concise: two sentences that front-load the purpose and quickly explain the children format and return value. Every sentence earns its place without redundancy.

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

Completeness2/5

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

Given the complexity of the input schema (many block types, nested rich text), the description is too sparse. It lacks information on allowed block types, nesting capabilities, error handling, and pagination of results. No output schema is provided, but the return value is mentioned, though not fully specified.

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 67%, so the description adds some value by summarizing the children parameter as an array of {type, data} objects. However, it does not elaborate on block_id or after beyond what the schema provides, and the schema already contains detailed structure for block objects.

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

Purpose4/5

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

The description clearly states the action (append child blocks to a parent block/page) and the resource (parent block/page). It indicates the input format (array of block objects with type and data) and the return value (list of created blocks). However, it does not distinguish from similar sibling tools like buildin_insert_blocks.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as buildin_insert_blocks or buildin_append_markdown. The description does not specify prerequisites, limitations, or contexts where this tool is appropriate.

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

buildin_append_markdownAppend Markdown to a Buildin pageA

Convert a Markdown string into Buildin blocks and append them to the given page/block. Supports headings (# ## ###), lists, task lists, code fences, blockquotes, dividers, and inline bold/italic/code/link. Returns the Buildin response with the created block ids.

ParametersJSON Schema
NameRequiredDescriptionDefault
block_idYesThe page id or parent block id to append to.
markdownYesMarkdown source. Each top-level block becomes one Buildin block.
afterNoOptional: id of the existing child to insert after.

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses conversion, supported formats, and that it returns block ids. Lacks details on error handling or idempotency, but is transparent enough.

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

Conciseness5/5

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

Two sentences, no wasted words, well-structured. Efficiently conveys purpose, supported elements, and return value.

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?

Lacks output schema but description mentions return includes block ids. Covers parameters and conversion behavior. Could mention error cases or prerequisites, but overall adequate.

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% with descriptions for all parameters. The description adds value by clarifying that 'Each top-level block becomes one Buildin block' for the markdown parameter, going beyond the schema.

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 the tool converts Markdown to Buildin blocks and appends them to a given page or block, listing supported elements like headings and lists. This distinguishes it from siblings like buildin_insert_blocks and buildin_get_page_markdown.

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 implies use for converting Markdown into blocks, which is clear. It does not explicitly state when not to use or mention alternatives, but the context of sibling tools provides differentiation.

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

buildin_archive_pageArchive or unarchive Buildin pageA

Convenience wrapper over update_page: sets archived=true by default (pass archived=false to restore). Buildin.ai does not expose hard-delete for pages.

ParametersJSON Schema
NameRequiredDescriptionDefault
page_idYes
archivedNoDefaults to true (archive). Pass false to unarchive.

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, description carries full burden; it discloses default action, reversibility, and absence of hard-delete. Could mention idempotency or side effects, but sufficient for simple tool.

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

Conciseness5/5

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

Two concise sentences with no fluff. Front-loaded with key information, earning each word.

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?

Complete for a simple wrapper: explains purpose, default, and limitation. Lacks mention of idempotency or error scenarios, but not critical for this tool.

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?

Adds meaning to archived parameter (defaults and restore) beyond schema's description and default. For page_id, it's implied through context but no extra detail. Compensates for 50% schema coverage.

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?

Description clearly states verb (archive/unarchive), resource (page), and positions as convenience wrapper over update_page. Distinguishes from sibling update_page by adding context about no hard-delete.

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 explains default behavior (archived=true) and how to reverse (pass archived=false). Implicitly suggests using update_page for other updates, but lacks explicit when-not or alternative list.

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

buildin_create_databaseCreate Buildin databaseA

Create a new Buildin.ai database under a page parent. Must include at least one property of type 'title'. Set is_inline=true for inline databases.

ParametersJSON Schema
NameRequiredDescriptionDefault
parentYesUsually a page parent: { page_id: '...' }.
titleYesArray of rich-text runs.
propertiesYesMap of property name -> schema definition. At least one property of type 'title' must be present.
iconNoIcon: emoji or external url. Both discriminator-less and typed forms accepted to match Buildin examples.
coverNoCover image (external url only).
is_inlineNotrue for inline databases embedded on a page, false for full-page databases.

TDQS

A3.7/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It does not mention permissions, side effects, idempotency, or what happens on success/failure. The only behavioral information is the requirement for a title property and the is_inline flag, which are more like input constraints than behavioral traits.

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

Conciseness5/5

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

The description is three concise sentences that front-load the main action (create database) and then add key constraints. No redundant or extraneous information.

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 essential constraints for creation (parent, title property, is_inline) but does not describe the return value (no output schema) or any error conditions. Given the tool's complexity (6 parameters, nested objects), the description is somewhat brief but adequate for a basic create operation.

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 description coverage is 100%, but the description adds practical meaning beyond the schema by clarifying that the parent should be a 'page parent', emphasizing that properties must include a title type, and noting that is_inline=true is for inline databases. This provides extra guidance that the schema's individual property descriptions do not.

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 the action (Create) and resource (Buildin.ai database under a page parent), with specific constraints (must include at least one title property, is_inline for inline databases). This distinguishes it from sibling tools like buildin_create_page, which create pages, not databases.

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

Usage Guidelines3/5

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

The description provides basic context on where to create (under a page parent) and key constraints (title property, is_inline), but does not explicitly state when to use this tool versus alternatives like query_database or update_database. It offers implied usage but no exclusions or alternative guidance.

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

buildin_create_pageCreate Buildin pageA

Create a new page in Buildin.ai. The parent may be a page_id, database_id, space_id, or block_id. When parent is a database, properties must match the database schema. Returns the created page object.

ParametersJSON Schema
NameRequiredDescriptionDefault
parentYesParent reference. Accepts both {type, <id_field>} and the shorter {<id_field>} form.
propertiesYesPage properties. For database children, must match the database schema. For other parents, typically { title: { title: [{ text: { content: '...' } }] } }.
iconNoIcon: emoji or external url. Both discriminator-less and typed forms accepted to match Buildin examples.
coverNoCover image (external url only).
childrenNoInitial child blocks to append after creation.

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It accurately states that the tool returns the created page object and mentions the parent types and property requirement for databases. However, it does not disclose potential side effects, error conditions, authentication needs, rate limits, or what happens if properties do not match the database schema (e.g., validation errors). This is adequate but not comprehensive.

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

Conciseness5/5

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

The description is extremely concise with two sentences, front-loading the primary purpose immediately ("Create a new page in Buildin.ai"). Every sentence adds value without redundancy or fluff.

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 (5 parameters, nested objects) and lack of annotations or output schema, the description covers the key aspects: purpose, parent types, database-specific requirement, and return object. It could mention potential error scenarios or prerequisites, but the schema fills in the details, making this reasonably complete.

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%, meaning the schema already provides descriptions for all parameters. The description adds a bit of context by enumerating parent types and restating the database property requirement, but it does not add significant new meaning beyond the schema. Baseline of 3 is appropriate.

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 explicitly states the verb 'create' and resource 'page in Buildin.ai', distinguishing it from sibling tools like 'buildin_create_database' or 'buildin_append_block_children'. It also specifies the parent types (page_id, database_id, etc.), making the purpose clear and unique.

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 context on when to use the tool, explaining the acceptable parent types and the special case for database parents requiring matching properties. However, it does not explicitly state when not to use it or compare with alternatives like 'buildin_update_page' or 'buildin_archive_page', but the provided context is sufficient for most scenarios.

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

buildin_delete_blockDelete Buildin blockA

Hard-delete a block by ID (DELETE /v1/blocks/{block_id}). This is NOT the same as archiving a page — it's a permanent removal.

ParametersJSON Schema
NameRequiredDescriptionDefault
block_idYesBuildin object ID (UUID-like).

TDQS

A4/5.0
Behavior3/5

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

Declares 'permanent removal' which is critical behavioral info, but lacks details on error handling, idempotency, or required permissions. Given no annotations, more transparency would be beneficial.

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

Conciseness5/5

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

Two short sentences, no fluff. Action and key differentiator presented upfront. Optimal length for a simple tool.

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?

Adequately describes the core action and key distinction from archiving. Missing mention of error scenarios or idempotency, but given simplicity (one param, no output schema), it is largely 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?

The single parameter block_id is fully documented in the schema (100% coverage). The description only restates it as 'Buildin object ID (UUID-like)', adding no extra meaning beyond the schema.

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?

Clearly states 'hard-delete a block by ID' and explicitly distinguishes from archiving a page, making its purpose unambiguous relative to the sibling tool buildin_archive_page.

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?

Provides explicit guidance on when not to use it (not the same as archiving), but does not mention any prerequisites or alternative deletion tools. Still helpful for differentiating from the archive sibling.

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

buildin_get_blockGet Buildin blockA

Retrieve a single block object by ID. Does not include children.

ParametersJSON Schema
NameRequiredDescriptionDefault
block_idYesBuildin object ID (UUID-like).

TDQS

A4.2/5.0
Behavior4/5

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

Clearly states it does not include children, a key behavioral trait. No annotations exist, but description covers basic read behavior.

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

Conciseness5/5

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

Single succinct sentence, front-loaded with purpose, zero wasted words.

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?

Adequate for a simple retrieval tool with one parameter and no output schema. Describes operation and a key behavioral constraint, though no mention of error handling or return format.

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 coverage is 100% with description for block_id. Tool description adds no new meaning beyond the schema's 'Buildin object ID (UUID-like).' Baseline 3 applies.

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?

Verb 'Retrieve' + resource 'single block object by ID' explicitly states purpose. Differentiates from sibling buildin_get_block_children by noting it does not include children.

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?

Implies when to use (retrieve block without children) and differentiates from children-fetching sibling, but no explicit mention of when-not or alternative tools.

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

buildin_get_block_childrenList children of a blockB

List immediate children of a block (or page) with pagination. Use this instead of scraping a page to render its contents.

ParametersJSON Schema
NameRequiredDescriptionDefault
block_idYesBuildin object ID (UUID-like).
page_sizeNo
start_cursorNo

TDQS

B3.3/5.0
Behavior3/5

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

The description indicates a read-only operation ('List') and immediate children, but with no annotations provided, it misses details like error handling, rate limits, or pagination behavior (default page size, cursor format). The description is adequate but not fully transparent.

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

Conciseness5/5

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

The description is a single sentence with a clear recommendation, front-loading the core purpose. No unnecessary words or repetition.

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 basic purpose and a usage scenario, but lacks details on pagination mechanics, response format (no output schema), and how to interpret the start_cursor. For a simple list tool, it is minimally complete.

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

Parameters2/5

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

Only the block_id parameter has a schema description ('Buildin object ID (UUID-like).'), and the tool description does not add meaning for page_size or start_cursor. With 33% schema coverage, the description fails to compensate, leaving users to guess parameter usage.

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

Purpose4/5

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

The description clearly states the action ('List immediate children'), the resource ('block (or page)'), and includes pagination. However, it does not differentiate from the sibling tool 'buildin_get_page_children', which may cause confusion about which to use for page children.

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

Usage Guidelines3/5

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

The description advises using this tool instead of scraping, providing a clear alternative. But it lacks guidance on when to use this versus sibling tools like buildin_get_block_children vs buildin_get_page_children, and no mention of prerequisites or limitations.

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

buildin_get_databaseGet Buildin databaseA

Retrieve a Buildin.ai database by id, including its property schema.

ParametersJSON Schema
NameRequiredDescriptionDefault
database_idYes

TDQS

A3.5/5.0
Behavior3/5

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

The description adds that the response includes the property schema, which is helpful. However, with no annotations provided, the description does not explicitly state that this is a read-only operation or disclose any other behavioral traits (e.g., authentication, rate limits).

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 a single concise sentence with no wasted words. It could be slightly more structured but is effective.

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?

Given the tool's low complexity (1 param, no output schema, no annotations), the description is adequate but lacks detail on return format or any limitations. The added detail about property schema helps, but overall it is minimally complete.

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

Parameters2/5

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

Schema coverage is 0%; the description does not add any meaning to the single parameter 'database_id' beyond stating it is an id. No example or format guidance is given.

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 the action ('Retrieve'), the resource ('Buildin.ai database'), and what is included ('property schema'). This distinguishes it from sibling tools like query_database or create_database.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives such as query_database or get_page. The context is implied but not stated.

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

buildin_get_meGet current Buildin bot identityA

Return information about the bot that owns the current API token (GET /v1/users/me). Use this to verify authentication is working.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the full burden. It describes the return value but does not explicitly state that it is a safe, read-only operation or mention any behavioral traits like idempotency or rate limits. Basic transparency is present but could be improved.

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

Conciseness5/5

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

The description is two sentences long, front-loads the purpose, and includes a usage hint. Every word is useful with no redundancy.

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?

For a simple tool with no parameters and no output schema, the description adequately explains the tool's purpose and a key use case. However, it does not describe the return format or fields, which would be helpful for an agent to interpret the result.

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?

There are no parameters, and the input schema is empty with 100% coverage. The description does not add parameter info because none are needed. Baseline for 0 params is 4.

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 returns bot identity info and includes the HTTP endpoint. It is distinct from sibling tools that deal with blocks, pages, databases, and search.

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 explicitly says to use this for verifying authentication. While it doesn't specify when not to use, the context of siblings makes the tool's niche clear.

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

buildin_get_pageGet Buildin pageA

Retrieve a Buildin.ai page by its id. Returns the page object including properties, icon, cover, parent and url.

ParametersJSON Schema
NameRequiredDescriptionDefault
page_idYes

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations provided, the description must fully disclose behavioral traits. It describes the return object but doesn't mention read-only nature, error handling, or authorization requirements, which are important for a simple read operation.

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

Conciseness5/5

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

The description is two sentences long, front-loaded with purpose, and contains no extraneous information. Every word contributes value.

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 single parameter and no output schema, the description covers the return object details adequately. However, it could be more complete by mentioning read-only behavior or common error scenarios.

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

Parameters2/5

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

Schema description coverage is 0% for the only parameter 'page_id', and the description adds no additional meaning beyond 'by its id'. It does not provide format, constraints, or examples.

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 'Retrieve a Buildin.ai page by its id', specifying a specific verb and resource. It distinguishes from sibling tools like buildin_get_block and buildin_get_database by focusing on pages.

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

Usage Guidelines3/5

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

The description implies usage for retrieving a page by ID but provides no explicit guidance on when to use this tool versus alternatives, nor any context on when not to use it.

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

buildin_get_page_childrenGet Buildin page childrenA

List top-level children blocks of a page using GET /v1/blocks/{page_id}/children. Returns a paginated list with next_cursor and has_more.

ParametersJSON Schema
NameRequiredDescriptionDefault
page_idYesThe page id — Buildin exposes page children through /v1/blocks/{page_id}/children.
start_cursorNo
page_sizeNo

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description should disclose behavioral traits. It mentions pagination but does not state that the operation is read-only (safe) or any auth/rate limit considerations.

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

Conciseness5/5

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

Two short sentences: one for purpose and endpoint, one for pagination. No extraneous information. Front-loaded with the core action.

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?

Provides the endpoint and pagination details, but omits the structure of the response (no output schema) and does not mention authorization or error conditions. Adequate for a simple tool but with gaps.

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 coverage is 33% (only page_id described). The description adds context about pagination (next_cursor, has_more) but fails to describe start_cursor and page_size parameters explicitly.

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 the action 'List', the resource 'top-level children blocks of a page', and the API endpoint. It distinguishes from sibling tools like buildin_get_block_children by specifying 'page children'.

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

Usage Guidelines3/5

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

The description implies usage context by specifying 'top-level children', suggesting recursion for nested blocks, but does not explicitly mention when to use this vs alternatives like buildin_get_block_children.

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

buildin_get_page_markdownRead a Buildin page as MarkdownA

Fetch every child block of a page (walks pagination, follows has_children) and render the result as Markdown. Useful for quickly summarising or ingesting a page.

ParametersJSON Schema
NameRequiredDescriptionDefault
page_idYesPage id whose content to read.
max_depthNoHow deep to recurse into child blocks (default 2).

TDQS

A4.4/5.0
Behavior4/5

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

The description discloses key behaviors: walking pagination, following has_children, and rendering Markdown. With no annotations, this is sufficient transparency. It could mention that the operation is read-only, but that is implied.

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

Conciseness5/5

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

The description is two sentences, each adding distinct value. It is front-loaded with the action and purpose, with no wasted words. Ideal conciseness.

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?

The description explains pagination and recursion, which are important for a tool that traverses blocks. It does not describe the output format beyond Markdown, but since there is no output schema, this suffices. Could be more complete, but adequate.

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?

The input schema fully describes both parameters. The description adds behavioral context: 'walks pagination, follows has_children' and clarifies the meaning of max_depth with a default value. This provides added value beyond the schema.

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 the tool fetches child blocks and renders them as Markdown, which is a specific resource and output format. It distinguishes from siblings like buildin_get_page (likely JSON) and buildin_get_block_children (raw blocks).

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 a clear use case ('quickly summarising or ingesting a page') and implies when to use it over alternative tools. However, it does not explicitly state when not to use it or list alternative tools for comparison.

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

buildin_insert_blocksInsert blocks at a specific positionA

Insert new blocks after a specific child block within a parent. Since the Buildin.ai API only supports appending to the end, this works by: 1) deep-cloning all blocks after the insertion point, 2) deleting them, 3) appending the new blocks, 4) re-appending the cloned blocks. WARNING: block IDs of re-created blocks will change. This is NOT atomic — if interrupted mid-operation, blocks may be lost. Use with caution.

ParametersJSON Schema
NameRequiredDescriptionDefault
parent_idYesPage or parent block ID containing the children.
afterYesID of the existing child block to insert after.
childrenYesNew blocks to insert.

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are provided, so the description fully bears the burden. It details the workaround steps (clone, delete, append, re-append) and warns about side effects: block ID changes and non-atomicity. It does not mention rate limits or auth, but for a mutation tool with no annotations, this is transparent.

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

Conciseness5/5

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

The description is concise with three parts: purpose, workaround steps, and warnings. Every sentence adds value. Front-loaded with the main action.

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?

For a complex tool with a workaround, the description covers implementation and risks. It lacks details on return values or error handling, but given no output schema, it provides enough context for an agent to choose and use safely.

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 does not add parameter-level semantics beyond what the schema provides (parent_id, after, children). It implies the role of 'after' but no extra detail.

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 the verb 'Insert' and resource 'blocks after a specific child block within a parent'. It distinguishes itself from sibling tools like 'buildin_append_block_children' by specifying insertion position and workaround.

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 explains when to use (insert at specific position) and provides warnings about non-atomicity and ID changes. It implicitly guides against using when atomicity is needed, but does not explicitly compare to all siblings.

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

buildin_query_databaseQuery Buildin databaseA

Query rows (pages) of a Buildin.ai database with optional filter and sort. Returns a paginated list; use next_cursor / has_more to continue.

ParametersJSON Schema
NameRequiredDescriptionDefault
database_idYes
filterNoBuildin filter object. Structure mirrors Notion-style filters.
sortsNoArray of sort specs, e.g. [{ property: 'Name', direction: 'ascending' }].
start_cursorNo
page_sizeNo

TDQS

A3.8/5.0
Behavior4/5

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

The description discloses pagination behavior with next_cursor/has_more, which is important for a query tool. No annotations exist, so the description carries the transparency burden and does so adequately.

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

Conciseness5/5

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

Two concise sentences that front-load the purpose and key behavior (pagination), with no redundant information.

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?

Given no output schema and five parameters, the description is basic. It covers core functionality and pagination but omits explanation of start_cursor relative to next_cursor, and lacks details on filter/sort structure.

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

Parameters2/5

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

With only 40% schema description coverage, the description adds no additional parameter details beyond mentioning optional filter and sort. It does not explain the structure of filter or sort objects or the start_cursor/page_size parameters.

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 queries rows of a Buildin database with optional filter and sort, distinguishing it from sibling tools that create, update, or archive pages.

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

Usage Guidelines3/5

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

The description implies usage for querying database rows but does not explicitly guide when to use this tool over alternatives like buildin_search or buildin_search_and_fetch.

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

buildin_search_and_fetchSearch Buildin and fetch top results as MarkdownA

Run /v1/search and, for each hit that is a page, fetch its full content as Markdown. Returns an array of { id, title, url, markdown }. Limit defaults to 3 to stay within rate limits.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query.
limitNoMax pages to fetch (1..10, default 3).
max_depthNoRecursion depth for each page (default 1).

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses the rate-limitation behavior via the limit default and return structure, but does not mention error handling, authentication requirements, or what happens when a page fetch fails. The transparency is adequate but not thorough.

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

Conciseness5/5

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

Two sentences, front-loaded with the core action. No redundant or extraneous information. Every sentence contributes to understanding the tool's function.

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 explains the return format and limit's purpose, which is helpful given no output schema. However, it fails to mention the max_depth parameter, leaving a gap in completeness for a tool with three parameters.

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 a rate-limit context for the limit parameter but does not explain max_depth. For query, it merely restates 'Search query.' which is already in schema. Thus, minimal additional meaning beyond the schema.

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 specifies the action: search and fetch page content as Markdown. It distinguishes from siblings like buildin_search (which likely only returns search results) and buildin_get_page_markdown (single page fetch) by combining both steps and returning an array with id, title, url, markdown.

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

Usage Guidelines3/5

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

The description mentions the limit defaults to 3 to stay within rate limits, providing a usage hint. However, it does not explicitly state when to use this tool versus alternatives (e.g., buildin_search then buildin_get_page_markdown separately), nor does it provide exclusions or prerequisites.

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

buildin_update_blockUpdate Buildin blockA

Update a block's content or state. For text blocks, pass data: { rich_text: [...] }. To toggle a to_do, pass data: { checked: true }. To archive, pass archived: true.

ParametersJSON Schema
NameRequiredDescriptionDefault
block_idYesBuildin object ID (UUID-like).
dataNoPartial data for the block's type-specific payload.
archivedNo

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description discloses mutation behaviors (update, toggle, archive) but omits side effects (e.g., versioning, permissions) and error handling. Adequate but not thorough.

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

Conciseness5/5

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

Three sentences, each purposeful: general purpose, text block example, to_do and archive examples. No redundant text.

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?

Covers the most common updates (text, to_do, archive) but does not mention other block types or error scenarios. Given the absence of output schema, it is reasonably complete for a typical agent.

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?

The description adds meaning beyond the schema by explaining how to use the data and archived parameters for common tasks. The schema coverage is 67%, and the description compensates well, though it does not cover all possible block types.

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 updates a block's content or state, and provides specific examples (text blocks, to_do toggle, archive). This distinguishes it from sibling tools like delete or page updates.

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 examples guide when to use specific parameters (e.g., for text blocks vs. to_do). However, it lacks explicit mention of when not to use this tool compared to update_page or update_database.

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

buildin_update_databaseUpdate Buildin databaseA

Update a database's title, icon, cover, properties schema, or archive flag. Only fields you pass are modified. To remove a property, set its value to null.

ParametersJSON Schema
NameRequiredDescriptionDefault
database_idYes
titleNoArray of rich-text runs.
iconNoIcon: emoji or external url. Both discriminator-less and typed forms accepted to match Buildin examples.
coverNoCover image (external url only).
propertiesNoPass null for a property to remove it.
archivedNo

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are present, so the description bears full responsibility. It discloses partial update behavior ('Only fields you pass are modified') and property removal specifics, but does not cover idempotency, side effects on existing data, or authorization requirements.

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 concise at two sentences with no redundant text. However, it could be slightly more structured or include a brief summary of the return value.

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?

For a complex update tool with 6 parameters and nested objects, the description covers core functionality but omits details on response format, error scenarios, or behavior when updating schema that affects existing data. With no output schema, some return value context would improve completeness.

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 67% (4 of 6 parameters have descriptions). The description adds minimal value beyond the schema, mainly reiterating the removal behavior already noted in the properties parameter's schema 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 database's title, icon, cover, properties schema, or archive flag' using a specific verb and resource. It lists the modifiable fields and distinguishes from siblings like buildin_create_database and buildin_update_page.

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

Usage Guidelines3/5

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

The description implies usage when modifying an existing database but lacks explicit when-to-use, when-not-to-use, or comparisons with alternatives. It does not provide guidance on prerequisites or context.

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

buildin_update_pageUpdate Buildin pageA

Update a Buildin.ai page: change properties, icon, cover, or archive/unarchive it. Only the fields you pass are modified. Pass archived=true to soft-delete.

ParametersJSON Schema
NameRequiredDescriptionDefault
page_idYes
propertiesNoRecord of page properties keyed by property name or id.
iconNoIcon: emoji or external url. Both discriminator-less and typed forms accepted to match Buildin examples.
coverNoCover image (external url only).
archivedNoSet true to soft-delete (archive) the page.

TDQS

A4.1/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. Discloses partial update behavior and soft-delete capability, but lacks details on authentication, rate limits, idempotency, or side effects on unchanged fields. Adequate but not comprehensive.

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

Conciseness5/5

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

Two sentences—no wasted words. Front-loaded with purpose, then key behavioral note. Highly efficient.

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?

Given 5 parameters, no output schema, and nested objects, the description covers the main functionality but omits return value details and explicit differentiation from sibling tools. Sufficient for basic use, but lacks completeness for advanced scenarios.

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 description coverage is high (80%), so baseline is 3. Description adds value by explaining partial application of parameters and clarifying the archived parameter semantics (soft-delete). Not redundant, though could elaborate on property structure.

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?

Description clearly states the verb and resource ('Update a Buildin.ai page') and lists specific modifiable aspects (properties, icon, cover, archive/unarchive). It distinguishes itself from siblings like buildin_archive_page by offering archival as an option within the update, though not explicitly differentiating.

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?

Provides clear context for partial updates ('Only the fields you pass are modified') and mentions specific use case for archiving. However, it does not explicitly exclude use of sibling tool buildin_archive_page for sole archiving, leaving ambiguity.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 20 tool updatesv0.3.1
    • First observedbuildin_append_block_children
    • First observedbuildin_append_markdown
    • First observedbuildin_archive_page
    • First observedbuildin_create_database
    • First observedbuildin_create_page
    • First observedbuildin_delete_block
    • First observedbuildin_get_block
    • First observedbuildin_get_block_children
    • First observedbuildin_get_database
    • First observedbuildin_get_me
    • First observedbuildin_get_page
    • First observedbuildin_get_page_children
    • First observedbuildin_get_page_markdown
    • First observedbuildin_insert_blocks
    • First observedbuildin_query_database
    • First observedbuildin_search
    • First observedbuildin_search_and_fetch
    • First observedbuildin_update_block
    • First observedbuildin_update_database
    • First observedbuildin_update_page

TDQS

A3.8/5.0
Disambiguation5/5

Each tool targets a distinct resource and action: pages, blocks, databases, search, and special operations like markdown import. There is no ambiguity, as even similar operations like get_block and get_page are clearly differentiated by resource type.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with the server prefix 'buildin_' (e.g., create_page, get_block, query_database). The naming is uniform and predictable, making it easy for an agent to infer functionality from the name.

Tool Count5/5

20 tools are well-scoped for a knowledge management API covering pages, blocks, databases, and search. Each tool serves a distinct purpose, and the count is neither too small to be useful nor too large to be unwieldy.

Completeness4/5

The tool surface covers CRUD for pages, blocks, and databases, plus search, user info, and convenience functions like markdown conversion. Minor gaps exist (e.g., no explicit 'create block' tool, but block creation is achieved via append operations), but overall it supports all major workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

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/ekho/buildin-mcp'

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