buildin-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BUILDIN_API_TOKEN | Yes | Plugin token from Buildin.ai | |
| BUILDIN_MCP_DEBUG | No | Set to 1 for verbose debug logging to stderr | |
| BUILDIN_API_BASE_URL | No | Override API base (default: https://api.buildin.ai/v1) |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| buildin_create_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. |
| buildin_get_pageA | Retrieve a Buildin.ai page by its id. Returns the page object including properties, icon, cover, parent and url. |
| buildin_update_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. |
| buildin_archive_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. |
| buildin_get_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. |
| buildin_create_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. |
| buildin_get_databaseA | Retrieve a Buildin.ai database by id, including its property schema. |
| buildin_query_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. |
| buildin_update_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. |
| buildin_get_blockA | Retrieve a single block object by ID. Does not include children. |
| buildin_get_block_childrenB | List immediate children of a block (or page) with pagination. Use this instead of scraping a page to render its contents. |
| buildin_append_block_childrenC | Append one or more child blocks to a parent block (or page). |
| buildin_update_blockA | Update a block's content or state. For text blocks, pass |
| buildin_delete_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. |
| buildin_get_meA | Return information about the bot that owns the current API token (GET /v1/users/me). Use this to verify authentication is working. |
| buildin_searchC | Search across all pages the bot has access to. Returns a paginated list of page objects. |
| buildin_append_markdownA | 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. |
| buildin_get_page_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. |
| buildin_search_and_fetchA | 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. |
| buildin_insert_blocksA | 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. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 20 tools
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.
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.
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.
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.