The Fibery MCP connector routes your AI agent's tool calls to Fibery's own MCP server through Scalekit. Each user signs in to Fibery once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 92 tools.
- Tools
- 92
- What they doRead · write · destructive
- 28 · 34 · 3028 read34 write30 destructive
- Users sign in with
- OAuth
- OAuth app
- Scalekit's or your own
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Fibery MCP connection
In AgentKit > Connections, create a Fibery MCP connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Scalekit credentials are available for Fibery MCP server, so you don't need to register an OAuth app.
Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'fiberymcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Fibery MCP:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'fiberymcp_get_me',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "fiberymcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Fibery MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="fiberymcp_get_me",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user signs in once. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolfiberymcp_display_entity_capabilities_via_sharingReturns per-entity capabilities derived from sharing for the requested Fibery databases.Read-onlyDisplay Entity Capabilities Via Sharing
Returns per-entity capabilities derived from sharing for the requested Fibery databases. Use this when the user wants to know what access they have at the entity level (not just space- or database-level). For each database, the response includes the entities they can reach and how they reach them. Three access paths are covered: 1. **Direct sharing** — the entity was explicitly shared with the user, returned in `entityLevelGrants`. 2. **Propagated sharing** — access was inherited from a related entity, returned in `indirectEntityLevelGrants`. 3. **Assignment rules** — the user appears in a People-field rule on the entity type, returned in `assigneeGrants`. Capabilities from every source (space-level, database-level, per-entity grants, propagation from other databases) ACCUMULATE — they NEVER override. To compute effective capabilities on a specific entity, take the UNION of all sources. Limitations for assignee grants: sample only (up to 10 entities per rule) Per-database result fields: - `spaceLevelCapabilities` — capabilities granted at the space level. - `databaseLevelCapabilities` — capabilities granted at the database level. - `entityLevelGrants` — per-entity grants from direct sharing. - `indirectEntityLevelGrants` — grants propagated from related entities. - `assigneeGrants` — grants derived from assignment rules on People-type fields. If a database can't be resolved in the schema, its entry is `{database, error}` instead.
Inputs
databasesarrayrequired- Full database names in "Space/Database" format (e.g. ["Project Management/Feature"]).
fiberymcp_display_report_schemaGet the vizydrop report source schema for one or more Fibery databases.Read-onlyDisplay Report Schema
Get the vizydrop report source schema for one or more Fibery databases. This is distinct from the Fibery type/relation schema returned by `schema` or `schema_detailed`. Returns the flat set of fields and enum values usable in report dimension/metric expressions and filter conditions. Call this before configuring chart, table, or metric dimensions so you know the valid field names and types. **`sourceMode`**: `current` (default) for live entity state; `historical` for modification events (time-in-state data). When multiple databases are specified, a synthetic `Entity Database` field is added to allow splitting results by source. Reports are a specialized domain — call `get_fibery_skill` with `skill: "reports"` for the full report model, expression syntax, palettes, conditions, and workflow.
Inputs
databasesarrayrequired- List of database names in 'Space/Database' format to get the report source schema for.
sourceModestring- Source mode: 'current' (default) queries live entity state; 'historical' resolves a history-timeline source for time-in-state / change-frequency analysis.one of
currenthistorical
fiberymcp_display_schema_capabilitiesReturns the current user's access info per space and per database in the Fibery workspace.Read-onlyDisplay Schema Capabilities
Returns the current user's access info per space and per database in the Fibery workspace. Use this when explaining what the user can/cannot do, or before suggesting an action that requires specific access. URL conventions: - For spaces: user will see anything if they have ANY access to the space. - For databases: user will see anything only if they have architect-level access; otherwise it will render as "No Access". Capabilities from every source (space-level, database-level, per-entity grants, propagation from other databases) ACCUMULATE — they NEVER override. To compute the user's effective capabilities on a specific entity, take the UNION of all sources. The response shape: - `accessInfo.spaces` — map keyed by space namespace. - `accessInfo.databases` — map keyed by `Space/Database` name. Each entry value is one of: - `'no-access'` — the user has no access. - `'entity-level'` — no space/database-level grant, but the user has access to at least one entity via an entity-level access template. - `{level, templateId, isDefault, url}` — standard template-based access. `level` is the template name with the `app.access/` / `type.access/` prefix stripped. `isDefault: false` indicates a custom template. - `'derived-per-field'` — applies only to `fibery/file` and `comments/comment`; access is granted via per-field grants on the owning database, not at the type level. - `levelInfo.space` and `levelInfo.database` — keyed by `level` (the same string as above); each value carries the template's full title, description, and capability set so the caller can explain what a level grants.
Inputs
spacesarray- Optional list of space names to scope the response (e.g. ['Product', 'Sales']). Omit to receive capabilities for every space and database in the workspace.
fiberymcp_download_fileFetches a Fibery file attachment by secret and returns a signed download URL valid for ~60 minutes.Read-onlyDownload File
Fetches a Fibery file attachment by secret and returns a signed download URL valid for ~60 minutes.
Inputs
secretstringrequired- File secret obtained from get_files_meta — opaque identifier returned in each file entry.
fiberymcp_fetch_by_urlFetches entity or view data from a Fibery URL and returns it as Markdown.Read-onlyFetch By Url
Fetches entity or view data from a Fibery URL and returns it as Markdown.
Inputs
urlstringrequired- Fibery URL to fetch data from
limitnumber- Maximum number of items to return for views (default: 20)
fiberymcp_fetch_view_dataFetches entity data from a Fibery view by executing its saved query.Read-onlyFetch View Data
Fetches entity data from a Fibery view by executing its saved query.
Inputs
publicIdstringrequired- Public ID of the view to fetch data from
limitnumber- Max entities to return (default: 100)
offsetnumber- Number of entities to skip (default: 0)
fiberymcp_get_automationFetches a single automation rule or button by id, including its triggers, filters and actions with their action ids (needed for `update_automation`).Read-onlyGet Automation
Fetches a single automation rule or button by id, including its triggers, filters and actions with their action ids (needed for `update_automation`). Prefer `query_automations` when the id is unknown. Call `get_fibery_skill({skill: "automations"})` to interpret the returned trigger/filter/action structures.
Inputs
automationTypestringrequired- rule: runs automatically when a trigger fires. button: shows on entities of the database and runs when a user clicks it.one of
rulebutton databasestringrequired- Full database name the automation belongs to (e.g. "SoftDev/Task")
idstringrequired- Id of the rule or button (from query_automations)
fiberymcp_get_connected_app_accountsLists the workspace's connected external app accounts (Slack, email, etc.).Read-onlyGet Connected App Accounts
Lists the workspace's connected external app accounts (Slack, email, etc.). Automation actions coming from a non-fibery app (marked `[<app>, requires appAccountId]` in `display_automations_schema`) need one of these account ids as `appAccountId`. Only call this when using an external app action in `create_automation` or `update_automation`.
Inputs
This tool takes no inputs.
fiberymcp_get_connectors_listReturns a list of available built-in connectors (integrations) in Fibery.Read-onlyGet Connectors List
Returns a list of available built-in connectors (integrations) in Fibery.
Inputs
This tool takes no inputs.
fiberymcp_get_custom_apps_listList the workspace's custom apps the user can see.Read-onlyGet Custom Apps List
List the workspace's custom apps the user can see. Custom apps are small React apps embedded in Fibery views. Use the `id` to work on an app's source code with the custom-app development flow — call `get_fibery_skill({skill: "custom-apps-dev"})` for the full guide.
Inputs
This tool takes no inputs.
fiberymcp_get_entity_linksGenerates Fibery web links for entities by their public IDs.Read-onlyGet Entity Links
Generates Fibery web links for entities by their public IDs.
Inputs
databasestringrequired- Full database name (e.g., 'SoftDev/Task')
entityPublicIdsarrayrequired- Array of entity public IDs (e.g., ['42', '43'])
fiberymcp_get_entity_mentionBuilds an inline entity reference for document markdown.Read-onlyGet Entity Mention
Builds an inline entity reference for document markdown. When the document is shown, it renders as a "live" entity which has current name, with a link. Embed the returned string into content passed to the document editing tools (`insert_document_blocks`, `set_block_text`, comment bodies). Call `get_fibery_skill({skill: "documents"})` for the markdown reference. ## Example ``` { database: "SoftDev/Task", entityId: "123", label: "Fix login bug" } ```
Inputs
databasestringrequired- Full database name in "Space/Type" format (e.g., 'Projects/Task')
entityIdstringrequired- Entity UUID (fibery/id)
labelstringrequired- Fallback display text
fiberymcp_get_fibery_skillLoad the full guide for a Fibery skill domain.Read-onlyGet Fibery Skill
Load the full guide for a Fibery skill domain. Call this tool when you need the complete reference for a domain that spans multiple tools. Each skill covers the full model, expression syntax, configuration shapes, conditions, and workflow for its related tools.
Inputs
skillstringrequired- The skill domain to load. Use one of the listed enum values.one of
automationscustom-apps-devdatadocumentsqueryreportsschemaviewswhiteboard
fiberymcp_get_files_metaLists file attachments on one or more Fibery entities and returns their metadata.Read-onlyGet Files Meta
Lists file attachments on one or more Fibery entities and returns their metadata.
Inputs
databasestringrequired- Full database name in 'Space/Type' format, e.g. 'SoftDev/Task'. Use `schema` to discover available databases.
entityIdsarrayrequired- One or more fibery/id UUIDs of the entities whose file attachments to list.
fieldstring- Name of a specific file field to query. Omit to scan all file fields on the database. Use `schema_detailed` to discover available file fields.
fiberymcp_get_manual_import_linkGenerates a link to the manual import page for a Fibery connector.Read-onlyGet Manual Import Link
Generates a link to the manual import page for a Fibery connector.
Inputs
connectorIdstringrequired- ID of the connector to be used (obtained from get_connectors_list)
isSyncbooleanrequired- Whether the data from the source will be synced continuously (true) or imported once (false)
spaceNamestringrequired- The name of the space to import into
dbNamestring- The name of the existing database to import into. Leave empty to import into a new database in the space.
fiberymcp_get_meReturns information about the currently authenticated Fibery user.Read-onlyGet Me
Returns information about the currently authenticated Fibery user.
Inputs
This tool takes no inputs.
fiberymcp_get_reportFetch a Fibery report (vizydrop view) by its UUID, including its tabs, sources, schema, and dimension configuration.Read-onlyGet Report
Fetch a Fibery report (vizydrop view) by its UUID, including its tabs, sources, schema, and dimension configuration. Use `get_reports_list` first to discover available report IDs. The response includes `tabId`, `tabType`, and per-dimension `id` values needed by `update_tab`, `update_dimension`, and `remove_dimension`. Reports are a specialized domain — call `get_fibery_skill` with `skill: "reports"` for the full report model, expression syntax, palettes, conditions, and workflow.
Inputs
reportIdstringrequired- The UUID of the report view to fetch.
fiberymcp_get_reports_listList all vizydrop report views in the Fibery workspace.Read-onlyGet Reports List
List all vizydrop report views in the Fibery workspace. Returns an array of report summaries with `id` and `title`. Use the `id` field with `get_report` to fetch full details including tab structure and dimension IDs. Reports are a specialized domain — call `get_fibery_skill` with `skill: "reports"` for the full report model, expression syntax, palettes, conditions, and workflow.
Inputs
This tool takes no inputs.
fiberymcp_get_user_mentionBuilds an inline user mention for document markdown, works the same as `get_entity_mention`, but for the `fibery/user` database.Read-onlyGet User Mention
Builds an inline user mention for document markdown, works the same as `get_entity_mention`, but for the `fibery/user` database. When the document is shown, it renders as a "live" user mention. Embed the returned string into content passed to the document editing tools (`insert_document_blocks`, `set_block_text`, comment bodies). Get user ids via `query` from the `fibery/user` database, or your own id via `get_me`. Call `get_fibery_skill({skill: "documents"})` for the markdown reference. ## Example ``` { userId: "123", label: "Alice" } ```
Inputs
labelstringrequired- Fallback display text
userIdstringrequired- User UUID (fibery/id from the 'fibery/user' database)
fiberymcp_queryRuns a structured Fibery query to select, filter, order, paginate, and aggregate data.Read-onlyQuery
Runs a structured Fibery query to select, filter, order, paginate, and aggregate data.
Inputs
queryobjectrequired- No description.
paramsobject- Not used anymore, left for backwards compatibility
fiberymcp_query_automationsLists all automation rules or buttons of a database, including each automation's id, triggers, filters and actions with their action ids (needed for `update_automation`).Read-onlyQuery Automations
Lists all automation rules or buttons of a database, including each automation's id, triggers, filters and actions with their action ids (needed for `update_automation`). Call `get_fibery_skill({skill: "automations"})` to interpret the returned trigger/filter/action structures.
Inputs
automationTypestringrequired- rule: runs automatically when a trigger fires. button: shows on entities of the database and runs when a user clicks it.one of
rulebutton databasestringrequired- Full database name the automation belongs to (e.g. "SoftDev/Task")
fiberymcp_query_viewsQueries saved views in the Fibery workspace, optionally filtering by ID, public ID, name, or type.Read-onlyQuery Views
Queries saved views in the Fibery workspace, optionally filtering by ID, public ID, name, or type.
Inputs
idstring- Filter by fibery/id of the view
publicIdstring- Filter by public ID of the view
spacestring- Filter by name of the space in which the view is contained
textstring- Text search in view name or description
viewTypestring- Filter by view typeone of
documentgridlistboardtimelinecalendarmapfeedgalleryganttformembedreportcanvas withConfigboolean- Specify whether to include view config (like, what database are present on this view, what fields are shown). true by default. Set to false if not filtering by id filters since there can be many views returned
fiberymcp_read_documentReads a single document as a flat list of addressable blocks with stable ids.Read-onlyRead Document Blocks
Reads a single document as a flat list of addressable blocks with stable ids. Call this before any document editing tool — the returned block ids are required by all of them. **Call `get_fibery_skill({skill: "documents"})` FIRST** — it covers how to find document secrets (via `query` or `search`), the snapshot anatomy, the block model, inline comments, and the whole editing workflow. Returns a TOON-encoded snapshot: `version`, `rootBlockIds` (ordered top-level ids), `blocks` in document order (each with `id`, `type`, `parentId` — `null` = top level, `attrs`, `content`, `index`), plus a `comments` section when the document has inline comment threads.
Inputs
secretstringrequired- Document secret (UUID). For entity document fields, select the field's secret via query (e.g. {Secret: ['Space/Field', 'Collaboration~Documents/secret']}). For standalone documents, use search with viewType 'document'
fiberymcp_schemaReturns the high-level workspace structure showing all spaces and databases.Read-onlySchema
Returns the high-level workspace structure showing all spaces and databases.
Inputs
This tool takes no inputs.
fiberymcp_schema_detailedReturns detailed schema for specified databases, including fields and related databases.Read-onlySchema Detailed
Returns detailed schema for specified databases, including fields and related databases.
Inputs
databasesarrayrequired- An array of database names (in "Space/Database" format).
includeRelatedDatabasesboolean- Whether to include related databases with their descriptions & fields. Defaults to false. Set to true if the schema is small and you want to navigate faster.
fiberymcp_searchSearches workspace content using BM-25 keyword matching.Read-onlySearch
Searches workspace content using BM-25 keyword matching.
Inputs
querystringrequired- Search query string
databasestring- Filter results to a specific database (e.g., 'Projects/Task')
limitnumber- Maximum number of items to return (default: 20, max: 100)
viewTypestring- Filter results to a specific view typeone of
documentgridlistboardtimelinecalendarmapfeedgalleryganttformembedreportcanvas
fiberymcp_search_guideFetches relevant information from the Fibery User Guide based on a query.Read-onlySearch Guide
Fetches relevant information from the Fibery User Guide based on a query.
Inputs
querystringrequired- The query for searching
fiberymcp_search_historySearches the workspace activity history and returns matching history events.Read-onlySearch History
Searches the workspace activity history and returns matching history events.
Inputs
actionsarray- Filter by action types
authorUserIdstring- Filter by author's fibery/id
databasestring- Filter by database name (e.g., 'Projects/Task')
entityIdstring- Filter by entity fibery/id
entityNamestring- Filter by entity name (substring match)
entityPublicIdstring- Filter by entity public ID (requires database to be set)
entityStatearray- Filter by entity states
excludeAutomaticChangesstring- Exclude automatic changes (all excluded by default)
limitnumber- Maximum number of items to return (default: 50, max: 100)
schemaChangearray- Filter by schema change types
sincestring- Start of time range (ISO 8601). Defaults to 24 hours ago
sinceItemstring- Cursor for pagination — last item ID from previous result
untilstring- End of time range (ISO 8601). Defaults to now. Difference between dates in until and since cannot be more than 12 months
fiberymcp_add_chart_tabAppends a new chart tab to an existing Fibery report.WriteAdd Chart Tab
Appends a new chart tab to an existing Fibery report. **Prerequisite:** You need a `reportId` from `create_report` or `get_reports_list`. Call `display_report_schema` first to discover valid field expressions for the report's sources. Reports are a specialized domain — call `get_fibery_skill` with `skill: "reports"` for the full report model, expression syntax, palettes, conditions, and workflow.
Inputs
reportIdstringrequired- UUID of the report to add the chart tab to (from create_report or get_reports_list).
xarrayrequired- X-axis dimensions. Put categorical/date dimensions before numeric.
yarrayrequired- Y-axis dimensions. Put categorical/date dimensions before numeric.
colorobject- Color-coding (legend) dimension. Only one allowed.
descriptionstring- Tab description.
dimensionConditionsarray- Dimension-level filters (must reference expressions already used in the tab).
fieldConditionsarray- Field-level filters applied to this tab's data.
labelarray- Label dimensions shown on chart points/bars.
palettestring- Color palette. See get_fibery_skill(skill:'reports') for palette selection guidance.one of
fibery2.0category10accentdark2pairedpastel1pastel2set1set2set3setLtableau10brown_blue_greenpurple_red_greenpink_yellow_greenpurple_orangered_bluered_greyred_yellow_bluered_yellow_greenspectralbluesgreensgreysorangespurplesblue_green sizeobject- Size-coding dimension. Only one allowed.
titlestring- Tab title.
typestring- Chart type. Defaults to 'scatterplot' if omitted. See get_fibery_skill(skill:'reports') for chart-type guidance.one of
linescatterplotstacked-barbarstacked-areaarea
fiberymcp_add_commentAdds a top-level comment or reply to an existing comment on a Fibery entity.WriteAdd Comment
Adds a top-level comment or reply to an existing comment on a Fibery entity.
Inputs
contentstringrequired- Comment content in Markdown format
databasestringrequired- Full database name (e.g., 'SoftDev/Task'). Must be a database that supports comments (has the comments/comments collection).
entityIdstringrequired- fibery/id of the entity to comment on
parentCommentIdstring- fibery/id of the parent comment when replying. Omit for a top-level comment. The parent comment must belong to the same entity (entityId) — otherwise the request is rejected.
fiberymcp_add_file_from_urlAttaches a file to a Fibery entity by downloading it from a publicly accessible URL.WriteAdd File From Url
Attaches a file to a Fibery entity by downloading it from a publicly accessible URL.
Inputs
databasestringrequired- Full database name (e.g., 'SoftDev/Task')
entityIdstringrequired- fibery/id of an entity
fieldstringrequired- Exact name of a file field on this database (e.g., 'Files/Files' or 'Space/Files'). Confirm via `schema_detailed` tool call. Document fields cannot be used.
fileNamestringrequired- Name of the file to be added (e.g., 'Report.pdf')
urlstringrequired- HTTP(s) URL to download the file from
fiberymcp_add_inline_commentsAdds inline comments to text inside ONE block.WriteAdd Inline Comments
Adds inline comments to text inside ONE block. The matched text becomes the highlighted range; block content is NOT changed. The author is the current user. Call `read_document` first to get block ids. Call `get_fibery_skill({skill: "documents"})` for more details. For entity-level comments (the Comments field of an entity), use `add_comment` instead. ## Example ``` { secret: "123", comments: [{blockId: "456", exact: "comprehensive test suite", content: "Which suites exactly? Consider linking them."}] } ```
Inputs
commentsarrayrequired- Comments to attach
secretstringrequired- Document secret (UUID). For entity document fields, select the field's secret via query (e.g. {Secret: ['Space/Field', 'Collaboration~Documents/secret']}). For standalone documents, use search with viewType 'document'
fiberymcp_add_metric_tabAppends a new metric tab to an existing Fibery report.WriteAdd Metric Tab
Appends a new metric tab to an existing Fibery report. **Prerequisite:** You need a `reportId` from `create_report` or `get_reports_list`. Call `display_report_schema` first to discover valid field expressions for the report's sources. **Scalar expressions only:** Every metric expression must be a scalar aggregate (e.g. `COUNT([ID])`). Raw field references are not valid here. Reports are a specialized domain — call `get_fibery_skill` with `skill: "reports"` for the full report model, expression syntax, palettes, conditions, and workflow.
Inputs
metricsarrayrequired- Scalar metrics to display. Each expression must be scalar (e.g. COUNT([ID])). Never duplicate.
reportIdstringrequired- UUID of the report to add the metric tab to (from create_report or get_reports_list).
descriptionstring- Tab description.
dimensionConditionsarray- Dimension-level filters (must reference expressions already used in the tab).
fieldConditionsarray- Field-level filters applied to this tab's data.
titlestring- Tab title.
fiberymcp_add_suggestion_commentsAdds inline comments anchored to pending suggestions (tracked changes).WriteAdd Suggestion Comments
Adds inline comments anchored to pending suggestions (tracked changes). The thread covers the suggestion's range and follows it until the suggestion is accepted or rejected; after that it lives on as an ordinary text comment. It does NOT change the document and does NOT resolve the suggestion. Call `read_document` first â the `suggestions` section lists pending suggestions with their ids. Call `get_fibery_skill({skill: "documents"})` for the suggestion workflow. Use this to discuss someone's suggestion (question it, explain a concern) instead of accepting/rejecting it. To comment on regular text, use `add_inline_comments`. To attach a rationale to a suggestion you are making yourself, pass `comment` on the suggest-mode editing call instead â no second call needed.
Inputs
commentsarrayrequired- Comments to attach
secretstringrequired- Document secret (UUID). For entity document fields, select the field's secret via query (e.g. {Secret: ['Space/Field', 'Collaboration~Documents/secret']}). For standalone documents, use search with viewType 'document'
fiberymcp_add_table_tabAppends a new table tab to an existing Fibery report.WriteAdd Table Tab
Appends a new table tab to an existing Fibery report. **Prerequisite:** You need a `reportId` from `create_report` or `get_reports_list`. Call `display_report_schema` first to discover valid field expressions for the report's sources. Reports are a specialized domain — call `get_fibery_skill` with `skill: "reports"` for the full report model, expression syntax, palettes, conditions, and workflow.
Inputs
columnsarrayrequired- Table columns. Never duplicate expressions across columns.
reportIdstringrequired- UUID of the report to add the table tab to (from create_report or get_reports_list).
descriptionstring- Tab description.
dimensionConditionsarray- Dimension-level filters (must reference expressions already used in the tab).
fieldConditionsarray- Field-level filters applied to this tab's data.
groupByarray- Additional group-by dimensions. Do not reuse an expression already used as a column.
titlestring- Tab title.
fiberymcp_create_automationCreates an automation rule (runs on a trigger) or button (runs on user click) for a database.WriteCreate Automation
Creates an automation rule (runs on a trigger) or button (runs on user click) for a database. Rules require at least one trigger; buttons take no triggers or filter. Call `get_fibery_skill({skill: "automations"})` first for trigger shapes, the FilterNode filter format and action value types. Then call `display_automations_schema` for the database's available actions.
Inputs
actionsarrayrequired- Actions the automation executes, in order
automationTypestringrequired- rule: runs automatically when a trigger fires. button: shows on entities of the database and runs when a user clicks it.one of
rulebutton databasestringrequired- Full database name the automation belongs to (e.g. "SoftDev/Task")
namestringrequired- Automation name
descriptionstring- Short description of what the automation does
filterobject- Rules only. FilterNode object limiting which entities the rule runs on, e.g. {nodeType: "text", args: {fieldPath: ["Name"], operator: "contains", value: "API"}} â see the automations skill.
triggersarray- Rules only. Trigger objects, e.g. {trigger: "created"} â all shapes are documented in the automations skill.
fiberymcp_create_avatars_fieldsEnables avatar/profile-picture attachments on entities in one or more databases.WriteCreate Avatars Fields
Enables avatar/profile-picture attachments on entities in one or more databases.
Inputs
databasesarrayrequired- Array of full database names (e.g., ["SoftDev/Task"])
fiberymcp_create_comments_fieldsEnables comments on entities in one or more databases.WriteCreate Comments Fields
Enables comments on entities in one or more databases.
Inputs
databasesarrayrequired- Array of full database names (e.g., ["SoftDev/Task"])
fiberymcp_create_custom_appCreate a new Fibery custom app, placed in the user's private space unless `spaceName` is provided.WriteCreate Custom App
Create a new Fibery custom app, placed in the user's private space unless `spaceName` is provided. This tool does NOT generate any app code — it only creates an empty app scaffolded from the starter template.
Inputs
kindstringrequired- "view": App view in a space (left menu, own page). "layout": Entity View tab on every entity page of one database. Entity views are "layout", not "view".one of
viewlayout namestringrequired- Name of the new custom app
databaseNamestring- Required for kind "layout": database whose entity pages get the tab.
spaceNamestring- kind "view" only. Defaults to the user's private space.
fiberymcp_create_custom_app_dev_tokenIssue a short-lived (~1 hour) access token for developing a custom app locally.WriteCreate Custom App Dev Token
Issue a short-lived (~1 hour) access token for developing a custom app locally. The token authenticates only the app's `get-source-files` / `update-source-files` endpoints, passed as the `custom-app-dev-token` query parameter — see `get_fibery_skill({skill: "custom-apps-dev"})` for the full development loop.
Inputs
appIdstringrequired- Id of the custom app (from get_custom_apps_list or create_custom_app).
fiberymcp_create_databasesCreates one or more new databases within an existing space.WriteCreate Databases
Creates one or more new databases within an existing space.
Inputs
databasesarrayrequired- No description.
fiberymcp_create_entitiesCreates one or more entities in a Fibery database.WriteCreate Entities
Creates one or more entities in a Fibery database.
Inputs
databasestringrequired- Full database name (e.g., 'SoftDev/Task')
entitiesarrayrequired- No description.
fiberymcp_create_files_fieldsCreates file attachment fields in one or more databases.WriteCreate Files Fields
Creates file attachment fields in one or more databases.
Inputs
fieldsarrayrequired- No description.
fiberymcp_create_formula_fieldCreates a formula field in a database; the formula expression is generated from a plain-language description.WriteCreate Formula Field
Creates a formula field in a database; the formula expression is generated from a plain-language description.
Inputs
databasestringrequired- Full database name (e.g., 'SoftDev/Task')
descriptionstringrequired- Description of what the formula should calculate. The formula expression will be generated from this
namestringrequired- Name of the formula field in {Space}/{Field} format (e.g., 'SoftDev/Days Since Created'). Space prefix must match the database space
fiberymcp_create_icon_fieldsEnables emoji icon fields on entities in one or more databases.WriteCreate Icon Fields
Enables emoji icon fields on entities in one or more databases.
Inputs
databasesarrayrequired- Array of full database names (e.g., ["SoftDev/Task"])
fiberymcp_create_multi_select_fieldsCreates multi-select fields with predefined options in one or more databases.WriteCreate Multi Select Fields
Creates multi-select fields with predefined options in one or more databases.
Inputs
fieldsarrayrequired- No description.
fiberymcp_create_primitive_fieldsCreates primitive fields (text, number, date, boolean, etc.) in one or more databases.WriteCreate Primitive Fields
Creates primitive fields (text, number, date, boolean, etc.) in one or more databases.
Inputs
fieldsarrayrequired- No description.
fiberymcp_create_relation_fieldsCreates relation fields between databases, establishing links in both the source and target database.WriteCreate Relation Fields
Creates relation fields between databases, establishing links in both the source and target database.
Inputs
fieldsarrayrequired- No description.
fiberymcp_create_reportCreates a Fibery report with sources and a title.WriteCreate Report
Creates a Fibery report with sources and a title. The report is placed in the user's private space unless `spaceName` is provided. Prerequisites: call `schema` to discover valid database names; call `display_report_schema` to discover field expressions before configuring dimensions. Reports are a specialized domain — call `get_fibery_skill` with `skill: "reports"` for the full report model, expression syntax, palettes, conditions, and workflow.
Inputs
sourcesarrayrequired- One or more source databases for the report.
titlestringrequired- Title of the new report.
sourceModestring- Source mode: 'current' (default) queries live entity state; 'historical' resolves a history-timeline source for time-in-state / change-frequency analysis.one of
currenthistorical spaceNamestring- Space to place the report in. Defaults to the user's private space.
fiberymcp_create_single_select_fieldsCreates single-select fields with predefined options in one or more databases.WriteCreate Single Select Fields
Creates single-select fields with predefined options in one or more databases.
Inputs
fieldsarrayrequired- No description.
fiberymcp_create_spaceCreates a new space in the Fibery workspace.WriteCreate Space
Creates a new space in the Fibery workspace.
Inputs
namestringrequired- Space name (e.g., "SoftDev")
colorstring- Color for the space (hex color code, e.g., '#FF5722')
descriptionstring- Description for the space
fiberymcp_create_viewCreates a saved view (grid, board, timeline, calendar, etc.) or standalone document in the Fibery workspace.WriteCreate View
Creates a saved view (grid, board, timeline, calendar, etc.) or standalone document in the Fibery workspace.
Inputs
namestringrequired- Name of the view
viewTypestringrequired- grid: spreadsheet table (supports hierarchical groupBy). list: simple list (prefer grid). board: kanban grouped by relation/enum on x and optionally y. timeline: time bars with optional milestones and dependencies. calendar: date events. map: geographic plot of a location field. feed: rich-text feed of a document field. gallery: card gallery with cover images. gantt: hierarchical timeline with dependencies. form: data input form. document: standalone markdown (created empty; its body is edited separately via the document tools). report: created empty, modify via report tools. canvas: whiteboard/freeform diagram â created empty, config is ignored; elements are managed via execute_whiteboard_commands (call get_fibery_skill({skill: 'whiteboard'}) first).one of
documentgridlistboardtimelinecalendarmapfeedgalleryganttformembedreportcanvas configobject- View configuration object. Shape depends on viewType â for anything beyond a basic grid/list with no filters or ordering, call get_fibery_skill({skill: 'views'}) first.
descriptionstring- Short description of the view in MD format
spacestring- Space name to create the view in. Pass "Private" to save in Private space. By default, inferred from databases; canvas views default to "Private".
fiberymcp_create_workflow_fieldCreates a workflow (state) field for tracking entity status through defined stages.WriteCreate Workflow Field
Creates a workflow (state) field for tracking entity status through defined stages.
Inputs
databasestringrequired- Full database name (e.g., 'SoftDev/Task')
defaultOptionstringrequired- Default state name for new entities
optionsarrayrequired- Array of workflow state options
fiberymcp_display_automations_schemaReturns the catalog of automation actions available for a database (action names, argument ids and accepted value shapes).WriteDisplay Automations Schema
Returns the catalog of automation actions available for a database (action names, argument ids and accepted value shapes). The action catalog differs per database and per automation type, so ALWAYS call this before `create_automation` or before adding/changing actions with `update_automation`. Call `get_fibery_skill({skill: "automations"})` first for value types, trigger shapes and the FilterNode format.
Inputs
automationTypestringrequired- rule: runs automatically when a trigger fires. button: shows on entities of the database and runs when a user clicks it.one of
rulebutton databasestringrequired- Full database name the automation belongs to (e.g. "SoftDev/Task")
fiberymcp_execute_codeExecutes JavaScript code against the user's Fibery workspace.WriteExecute Code
Executes JavaScript code against the user's Fibery workspace. Prefer it over a series of separate tool calls when a task needs multiple dependent steps: query â transform â query again, loops, aggregations, or joining data across databases. For a single call, use the corresponding tool directly. ## Available functions All tools you have available, are also available inside the code as async JavaScript functions. Names, input objects and output shapes are IDENTICAL to the tools â everything you know about calling them applies. Use `await` for function calls, and store results in variables to later use them: There is one extra function: - `log(message: string)` â prints a line to the execution report. This is the ONLY way to see data: the result you get back consists of logged lines, a top-level `return` is ignored. Log strings only â use `JSON.stringify(...)` for objects, plain text without Markdown. ## Rules - Each call runs a fresh script: variables do NOT persist between `execute_code` calls. - Call tools by their exact snake_case names as plain functions: `await update_entities({...})`, never `updateEntities(...)` or `tools.update_entities(...)`. - The code runs in a bare JavaScript (ECMAScript) environment, not a browser or Node.js. Available: standard built-ins such as `JSON`, `Math`, `Date`, `Promise`, `Map`, `Set`, `RegExp`, `Intl`, and `Array`/`String`/`Object` methods. NOT available: `setTimeout`/`setInterval` (there is no way to sleep or delay), `TextDecoder`/`TextEncoder`, `atob`/`btoa`, `Buffer`, `URL`, `fetch`, `structuredClone`, `window`, `document`, `process`, `require`, `eval`, `new Function`. - No imports and no npm packages â only the tool functions and `log` above plus standard JavaScript built-ins. - Do not declare variables with the same names as the functions (e.g. no `const query = ...`). ## Examples Fetch all leads with pagination, then log a summary: ```javascript const pageSize = 1000; let offset = 0; const all = []; while (true) { const page = await query({ query: { "q/from": "CRM/Lead", "q/select": {"Id": ["fibery/id"], "Name": ["CRM/Name"]}, "q/limit": pageSize, "q/offset": offset, }, }); all.push(...page.result); if (!page.hasNext) break; offset += pageSize; } log(`Total leads: ${all.length}`); log(JSON.stringify(all.slice(0, 3))); ```
Inputs
codestringrequired- JavaScript code to execute
fiberymcp_execute_whiteboard_commandsCreates, updates, or deletes elements (shapes, text, links, sticky notes, sections, freehand pen strokes, ...) on a Fibery Whiteboard.WriteExecute Whiteboard Commands
Creates, updates, or deletes elements (shapes, text, links, sticky notes, sections, freehand pen strokes, ...) on a Fibery Whiteboard. Also returns a link to the whiteboard view. **Call `get_fibery_skill({skill: "whiteboard"})` first** â it covers every element type's full property set, the coordinate system, placeholder-ID resolution, and styling/placement conventions. Skipping it leads to invalid or overlapping elements. Element `ID`s may be placeholders you invent (e.g. `"node1"`) â they resolve to real numeric IDs automatically within the call, including cross-references between elements. The returned `idMap` gives you the real ID for each placeholder used in this call. Use those numeric IDs in later calls; placeholder mappings are not retained across calls. Results reference Fibery objects by `url`: use it when referencing the object.
Inputs
boardIdstringrequired- fibery/id of the whiteboard view to update
commandsarrayrequired- Commands to execute, in order
fiberymcp_insert_document_blocksInserts new blocks into a document from markdown.WriteInsert Document Blocks
Inserts new blocks into a document from markdown. Call `get_fibery_skill({skill: "documents"})` first. It covers the full markdown reference (headings, lists, tables, code, math, images/videos, callouts, highlights, entity references), content adaptation rules, and the editing workflow. Call `read_document` for block ids to anchor to (not needed when inserting at the document root with `parent: {blockId: null, ...}`). ## Example Append a section to the end of a document: ``` { secret: "123", inserts: [{parent: {blockId: null, position: "end"}, content: "## Next steps\n\n- [ ] review\n- [ ] deploy"}] } ```
Inputs
insertsarrayrequired- Insertions to perform. Each item must have exactly ONE anchor: after, before or parent
secretstringrequired- Document secret (UUID). For entity document fields, select the field's secret via query (e.g. {Secret: ['Space/Field', 'Collaboration~Documents/secret']}). For standalone documents, use search with viewType 'document'
modestring- apply (default): change the document directly. suggest: record the whole batch as tracked-change suggestions for a reviewer to accept or reject â the document does not change until a suggestion is acceptedone of
applysuggest
fiberymcp_move_document_blocksMoves blocks (each with all its children) to a new position in the document.WriteMove Document Blocks
Moves blocks (each with all its children) to a new position in the document. Call `read_document` first to get block ids. Call `get_fibery_skill({skill: "documents"})` for the block model and the editing workflow. ## Example Move a block to the end of the document: ``` { secret: "123", moves: [{blockId: "456", parent: {blockId: null, position: "end"}}] } ```
Inputs
movesarrayrequired- Moves to perform. Each item must have exactly ONE anchor: after, before or parent
secretstringrequired- Document secret (UUID). For entity document fields, select the field's secret via query (e.g. {Secret: ['Space/Field', 'Collaboration~Documents/secret']}). For standalone documents, use search with viewType 'document'
fiberymcp_replace_document_blocksReplaces a block â with all its children â by the blocks its markdown converts to, in the same place.WriteReplace Document Blocks
Replaces a block â with all its children â by the blocks its markdown converts to, in the same place. Use it to rewrite a block as something other than one text block: a paragraph into a heading plus a list, a list into prose, a callout into plain paragraphs. Call `read_document` first to get block ids. Call `get_fibery_skill({skill: "documents"})` for the markdown reference, content adaptation rules and the editing workflow. A table is replaceable only as a whole, not by row or cell.
Inputs
blocksarrayrequired- Blocks to replace
secretstringrequired- Document secret (UUID). For entity document fields, select the field's secret via query (e.g. {Secret: ['Space/Field', 'Collaboration~Documents/secret']}). For standalone documents, use search with viewType 'document'
modestring- apply (default): change the document directly. suggest: record the whole batch as tracked-change suggestions for a reviewer to accept or reject â the document does not change until a suggestion is acceptedone of
applysuggest
fiberymcp_reply_document_commentAdds replies to existing inline comment threads in a document.WriteReply to Document Comment
Adds replies to existing inline comment threads in a document. The reply author is the current user. Call `get_fibery_skill({skill: "documents"})` for the comment thread model. ## Example ``` { secret: "123", replies: [{commentId: "456", content: "Done — rewrote the section above."}] } ```
Inputs
repliesarrayrequired- Replies to add
secretstringrequired- Document secret (UUID). For entity document fields, select the field's secret via query (e.g. {Secret: ['Space/Field', 'Collaboration~Documents/secret']}). For standalone documents, use search with viewType 'document'
fiberymcp_resolve_document_suggestionsAccepts or rejects pending suggestions (tracked changes) in a document.WriteResolve Document Suggestions
Accepts or rejects pending suggestions (tracked changes) in a document. Resolving changes the document directly: accepting a deletion removes the content, rejecting it keeps it; accepting an insertion keeps the inserted content, rejecting it removes it. Call `read_document` first â the `suggestions` section lists every pending suggestion with its id, author and the blocks it touches. Call `get_fibery_skill({skill: "documents"})` for the suggestion workflow.
Inputs
secretstringrequired- Document secret (UUID). For entity document fields, select the field's secret via query (e.g. {Secret: ['Space/Field', 'Collaboration~Documents/secret']}). For standalone documents, use search with viewType 'document'
allstring- Resolve ALL pending suggestions at onceone of
acceptreject resolutionsarray- Suggestions to resolve, in order. Provide either this or 'all', not both
fiberymcp_update_automationUpdates an existing automation rule or button: rename, enable/disable, replace triggers or filter, and add/change/delete actions.WriteUpdate Automation
Updates an existing automation rule or button: rename, enable/disable, replace triggers or filter, and add/change/delete actions. Never delete and recreate an automation to modify it â use this tool. Call `query_automations` (or `get_automation`) first to get the automation id and its action ids. Call `get_fibery_skill({skill: "automations"})` for trigger/filter/action formats, and `display_automations_schema` before adding or changing actions.
Inputs
automationTypestringrequired- rule: runs automatically when a trigger fires. button: shows on entities of the database and runs when a user clicks it.one of
rulebutton idstringrequired- Id of the rule or button to update (from query_automations)
addActionsarray- New actions to append
changeActionsarray- Replace existing actions in full â get action ids via query_automations or get_automation
deleteActionIdsarray- Ids of actions to remove
descriptionstring- New description
enabledboolean- Enable or disable the automation
filterobject- Rules only. Replaces the filter with this FilterNode object (see the automations skill).
namestring- New automation name
triggersarray- Rules only. Replaces ALL triggers â include the ones that should stay. Shapes are documented in the automations skill.
fiberymcp_add_collection_itemsAdds related entities to a Collection field on a Fibery entity.DestructiveAdd Collection Items
Adds related entities to a Collection field on a Fibery entity.
Inputs
databasestringrequired- Full database name (e.g., 'SoftDev/Task')
entityIdstringrequired- fibery/id of an entity
fieldstringrequired- The name of the collection field
itemsarrayrequired- An array of related entity ids to add to the collection. Each entry must be fibery/id of the entity to add
fiberymcp_delete_automationPermanently deletes an automation rule or button.DestructiveDelete Automation
Permanently deletes an automation rule or button. To modify an automation, use `update_automation` instead of deleting and recreating it.
Inputs
automationTypestringrequired- rule: runs automatically when a trigger fires. button: shows on entities of the database and runs when a user clicks it.one of
rulebutton idstringrequired- Id of the rule or button to delete (from query_automations)
fiberymcp_delete_avatars_fieldsRemoves avatar fields from one or more databases; restorable via the Activity Log.DestructiveDelete Avatars Fields
Removes avatar fields from one or more databases; restorable via the Activity Log.
Inputs
databasesarrayrequired- Array of full database names (e.g., ["SoftDev/Task"])
fiberymcp_delete_comments_fieldsRemoves comment fields from one or more databases; restorable via the Activity Log.DestructiveDelete Comments Fields
Removes comment fields from one or more databases; restorable via the Activity Log.
Inputs
databasesarrayrequired- Array of full database names (e.g., ["SoftDev/Task"])
fiberymcp_delete_databasesDeletes one or more databases from a space; restorable via the Activity Log.DestructiveDelete Databases
Deletes one or more databases from a space; restorable via the Activity Log.
Inputs
databasesarrayrequired- Array of full database names to delete (e.g., ["SoftDev/Tasks"])
fiberymcp_delete_document_blocksDeletes blocks from a document, each with all its children.DestructiveDelete Document Blocks
Deletes blocks from a document, each with all its children. Call `read_document` first to get block ids. Call `get_fibery_skill({skill: "documents"})` for the block model and the editing workflow. Delete a `table` only by the whole `table` block's id — `table_row`, `table_cell` and `table_header` CANNOT be deleted, adding/removing rows or columns is not supported. ## Example ``` { secret: "123", blockIds: ["456", "789"] } ```
Inputs
deletionsarrayrequired- Blocks to delete
secretstringrequired- Document secret (UUID). For entity document fields, select the field's secret via query (e.g. {Secret: ['Space/Field', 'Collaboration~Documents/secret']}). For standalone documents, use search with viewType 'document'
modestring- apply (default): change the document directly. suggest: record the whole batch as tracked-change suggestions for a reviewer to accept or reject â the document does not change until a suggestion is acceptedone of
applysuggest
fiberymcp_delete_entitiesPermanently deletes entities from a database by their IDs.DestructiveDelete Entities
Permanently deletes entities from a database by their IDs.
Inputs
databasestringrequired- Full database name (e.g., 'SoftDev/Task')
idsarrayrequired- Array of entity IDs (fibery/id) to delete
fiberymcp_delete_fieldsDeletes one or more fields from their databases; restorable via the Activity Log.DestructiveDelete Fields
Deletes one or more fields from their databases; restorable via the Activity Log.
Inputs
fieldsarrayrequired- No description.
fiberymcp_delete_icon_fieldsRemoves icon fields from one or more databases; restorable via the Activity Log.DestructiveDelete Icon Fields
Removes icon fields from one or more databases; restorable via the Activity Log.
Inputs
databasesarrayrequired- Array of full database names (e.g., ["SoftDev/Task"])
fiberymcp_delete_spaceDeletes a space and all its databases from the workspace; restorable via the Activity Log.DestructiveDelete Space
Deletes a space and all its databases from the workspace; restorable via the Activity Log.
Inputs
namestringrequired- Space name to delete (e.g., "SoftDev")
fiberymcp_delete_viewsDeletes one or more Fibery views by ID; the underlying data is not removed.DestructiveDelete Views
Deletes one or more Fibery views by ID; the underlying data is not removed.
Inputs
idsarrayrequired- An array of fibery/id strings (of views) to be deleted
fiberymcp_delete_workflow_fieldDeletes the workflow (state) field from a database; restorable via the Activity Log.DestructiveDelete Workflow Field
Deletes the workflow (state) field from a database; restorable via the Activity Log.
Inputs
databasestringrequired- Full database name (e.g., 'SoftDev/Task')
fiberymcp_remove_collection_itemsRemoves related entities from a Collection field on a Fibery entity.DestructiveRemove Collection Items
Removes related entities from a Collection field on a Fibery entity.
Inputs
databasestringrequired- Full database name (e.g., 'SoftDev/Task')
entityIdstringrequired- fibery/id of an entity
fieldstringrequired- The name of the collection field
itemsarrayrequired- An array of related entity ids to remove from the collection. Each entry must be fibery/id of the entity to add
fiberymcp_remove_dimensionRemoves a single dimension from a tab in a Fibery report.DestructiveRemove Dimension
Removes a single dimension from a tab in a Fibery report. Use `get_report` to find the `tabId`, `tabType`, and the dimension `id` (from `result.tabs[].x[].id`, `.y[].id`, `.columns[].id`, `.metrics[].id`, etc.). **This action is irreversible** — the dimension is permanently removed from the tab's specification. Reports are a specialized domain — call `get_fibery_skill` with `skill: "reports"` for the full report model, expression syntax, palettes, conditions, and workflow.
Inputs
dimensionIdstringrequired- ID of the dimension to remove (from get_report result.tabs[].x[].id, .y[].id, .columns[].id, etc.).
reportIdstringrequired- UUID of the report containing the tab.
tabIdstringrequired- ID of the tab containing the dimension (from get_report result.tabs[].id).
tabTypestringrequired- Type of the tab — required so the server picks the right update command.one of
charttablemetric
fiberymcp_remove_tabRemoves a tab from an existing Fibery report.DestructiveRemove Tab
Removes a tab from an existing Fibery report. Use `get_report` to find the `tabId` of the tab you want to remove (each tab object in `result.tabs` has an `id` field). **This action is irreversible** — the tab and all its dimensions/conditions will be permanently deleted. Reports are a specialized domain — call `get_fibery_skill` with `skill: "reports"` for the full report model, expression syntax, palettes, conditions, and workflow.
Inputs
reportIdstringrequired- UUID of the report containing the tab.
tabIdstringrequired- ID of the tab to remove (from get_report result.tabs[].id).
fiberymcp_rename_databasesRenames one or more databases, optionally moving them to a different space.DestructiveRename Databases
Renames one or more databases, optionally moving them to a different space.
Inputs
databasesarrayrequired- No description.
fiberymcp_rename_fieldsRenames one or more fields within their databases.DestructiveRename Fields
Renames one or more fields within their databases.
Inputs
fieldsarrayrequired- No description.
fiberymcp_replace_block_textReplaces one occurrence of exact text inside a block, leaving the rest untouched.DestructiveReplace Block Text
Replaces one occurrence of exact text inside a block, leaving the rest untouched. The preferred tool for small fixes — surrounding formatting and inline comments survive. Call `read_document` first to get block ids. Call `get_fibery_skill({skill: "documents"})` for selector semantics, the block model, and the editing workflow. `exact` is the block's plain text with marks stripped, as shown in `read_document` — never markdown (e.g., match by `text`, not by `**text**`). `replacement` is inserted literal: markdown/HTML is NOT parsed and no marks are applied, so this tool cannot add or change formatting (bold, underline, links, colors). To change formatting on a span, rewrite the whole block with `set_block_text`. ## Example ``` { secret: "123", replacements: [{blockId: "456", exact: "teh", replacement: "the"}] } ```
Inputs
replacementsarrayrequired- Replacements to perform
secretstringrequired- Document secret (UUID). For entity document fields, select the field's secret via query (e.g. {Secret: ['Space/Field', 'Collaboration~Documents/secret']}). For standalone documents, use search with viewType 'document'
modestring- apply (default): change the document directly. suggest: record the whole batch as tracked-change suggestions for a reviewer to accept or reject â the document does not change until a suggestion is acceptedone of
applysuggest
fiberymcp_set_block_attrsMerges attributes into blocks' attrs (e.g.DestructiveSet Block Attributes
Merges attributes into blocks' attrs (e.g. heading level, task state, code block language, callout icon). Call `read_document` first to get block ids. Call `get_fibery_skill({skill: "documents"})` for the per-block-type attrs catalog. ## Example Turn a heading into level 3 and mark a task done: ``` { secret: "123", blocks: [ {blockId: "456", attrs: {level: 3}}, {blockId: "789", attrs: {state: "DONE"}} ] } ```
Inputs
blocksarrayrequired- Attribute updates to perform
secretstringrequired- Document secret (UUID). For entity document fields, select the field's secret via query (e.g. {Secret: ['Space/Field', 'Collaboration~Documents/secret']}). For standalone documents, use search with viewType 'document'
fiberymcp_set_block_textRewrites the inline content of text blocks from markdown.DestructiveSet Block Text
Rewrites the inline content of text blocks from markdown. Keeps each block's type, attrs and id. Call `read_document` first to get block ids. Call `get_fibery_skill({skill: "documents"})` for the block model, the inline markdown reference, and the editing workflow. **Prefer `replace_block_text` for small fixes** — it touches only the matched text and preserves surrounding formatting and comments. Use this tool to rewrite a whole block. Each `content` must resolve to a **single top-level block** — it replaces one block's inline content, it does NOT add blocks. Multi-block markdown (heading + paragraph, several paragraphs, a list, `---`) is rejected. To add blocks use `insert_document_blocks`; to change a block's type use `set_block_attrs`. ## Example ``` { secret: "123", blocks: [{blockId: "456", content: "Updated **summary** of findings"}] } ```
Inputs
blocksarrayrequired- Blocks to rewrite
secretstringrequired- Document secret (UUID). For entity document fields, select the field's secret via query (e.g. {Secret: ['Space/Field', 'Collaboration~Documents/secret']}). For standalone documents, use search with viewType 'document'
modestring- apply (default): change the document directly. suggest: record the whole batch as tracked-change suggestions for a reviewer to accept or reject â the document does not change until a suggestion is acceptedone of
applysuggest
fiberymcp_set_stateSets the workflow state of a Fibery entity.DestructiveSet State
Sets the workflow state of a Fibery entity.
Inputs
databasestringrequired- Full database name (e.g., 'SoftDev/Task')
entityIdstringrequired- fibery/id of an entity
statestringrequired- State title (enum/name)
fiberymcp_update_dimensionUpdates an existing dimension in a report tab.DestructiveUpdate Dimension
Updates an existing dimension in a report tab. Use `get_report` to find the `tabId`, `tabType`, and per-dimension `id` values. Each dimension object in the tab's axis arrays (`x`, `y`, `columns`, `metrics`, etc.) has an `id` field — pass that as `dimensionId`. **`changes`** is a partial object: only the keys you provide will be merged into the existing dimension. Omit keys you do not want to change. To add or remove dimensions entirely, use `remove_dimension` or recreate the tab with the add-tab tools. Reports are a specialized domain — call `get_fibery_skill` with `skill: "reports"` for the full report model, expression syntax, palettes, conditions, and workflow.
Inputs
changesobjectrequired- Partial dimension update. Only provided keys are merged into the existing dimension.
dimensionIdstringrequired- ID of the dimension to update (from get_report result.tabs[].x[].id, .y[].id, .columns[].id, etc.).
reportIdstringrequired- UUID of the report containing the tab.
tabIdstringrequired- ID of the tab containing the dimension (from get_report result.tabs[].id).
tabTypestringrequired- Type of the tab — required so the server picks the right update command.one of
charttablemetric
fiberymcp_update_entitiesUpdates fields on one or more existing Fibery entities.DestructiveUpdate Entities
Updates fields on one or more existing Fibery entities.
Inputs
databasestringrequired- Full database name (e.g., 'SoftDev/Task')
entitiesarrayrequired- No description.
fiberymcp_update_formula_fieldUpdates an existing formula field by regenerating its expression from a new description.DestructiveUpdate Formula Field
Updates an existing formula field by regenerating its expression from a new description.
Inputs
databasestringrequired- Full database name (e.g., 'SoftDev/Task')
descriptionstringrequired- New description of what the formula should calculate. A new formula expression will be generated from this
namestringrequired- Name of the existing formula field in {Space}/{Field} format (e.g., 'SoftDev/Days Since Created')
fiberymcp_update_multi_select_fieldsUpdates the options of one or more existing multi-select fields.DestructiveUpdate Multi Select Fields
Updates the options of one or more existing multi-select fields.
Inputs
fieldsarrayrequired- No description.
fiberymcp_update_reportUpdates an existing Fibery report's title and/or sources.DestructiveUpdate Report
Updates an existing Fibery report's title and/or sources. **At least one of `title` or `sources` must be provided.** Use `get_report` to retrieve the current report state and `reportId` before calling this tool. Reports are a specialized domain — call `get_fibery_skill` with `skill: "reports"` for the full report model, expression syntax, palettes, conditions, and workflow.
Inputs
reportIdstringrequired- UUID of the report to update (from get_report or get_reports_list).
sourcesarray- Replace the report's source databases; source mode is fixed at creation and cannot change here.
titlestring- New title for the report.
fiberymcp_update_single_select_fieldsUpdates the options of one or more existing single-select fields.DestructiveUpdate Single Select Fields
Updates the options of one or more existing single-select fields.
Inputs
fieldsarrayrequired- No description.
fiberymcp_update_tabUpdates scalar properties of an existing tab in a Fibery report.DestructiveUpdate Tab
Updates scalar properties of an existing tab in a Fibery report. Use `get_report` to find the `tabId` and `tabType` of the tab to update. **What this tool can change:** `title`, `type` / `palette` (chart tabs only), `fieldConditions` / `dimensionConditions` (replaces the tab's filter set entirely). **What this tool cannot do:** Add or remove dimensions (use `update_dimension` / `remove_dimension` or recreate the tab). Change `tabType` (recreate the tab instead). Reports are a specialized domain — call `get_fibery_skill` with `skill: "reports"` for the full report model, expression syntax, palettes, conditions, and workflow.
Inputs
reportIdstringrequired- UUID of the report containing the tab.
tabIdstringrequired- ID of the tab to update (from get_report result.tabs[].id).
tabTypestringrequired- Type of the tab — required so the server picks the right update command.one of
charttablemetric dimensionConditionsarray- Replace the tab's dimension-level filters entirely.
fieldConditionsarray- Replace the tab's field-level filters entirely.
palettestring- Color palette. Applies to chart tabs only; ignored for table/metric.one of
fibery2.0category10accentdark2pairedpastel1pastel2set1set2set3setLtableau10brown_blue_greenpurple_red_greenpink_yellow_greenpurple_orangered_bluered_greyred_yellow_bluered_yellow_greenspectralbluesgreensgreysorangespurplesblue_green titlestring- New tab title.
typestring- Chart type. Applies to chart tabs only; ignored for table/metric.one of
linescatterplotstacked-barbarstacked-areaarea
fiberymcp_update_viewUpdates an existing Fibery view's name, description, space, content, or configuration.DestructiveUpdate View
Updates an existing Fibery view's name, description, space, content, or configuration.
Inputs
idstringrequired- fibery/id of the view to update
viewTypestringrequired- grid: spreadsheet table (supports hierarchical groupBy). list: simple list (prefer grid). board: kanban grouped by relation/enum on x and optionally y. timeline: time bars with optional milestones and dependencies. calendar: date events. map: geographic plot of a location field. feed: rich-text feed of a document field. gallery: card gallery with cover images. gantt: hierarchical timeline with dependencies. form: data input form. document: standalone markdown (created empty; its body is edited separately via the document tools). report: created empty, modify via report tools. canvas: whiteboard/freeform diagram â created empty, config is ignored; elements are managed via execute_whiteboard_commands (call get_fibery_skill({skill: 'whiteboard'}) first).one of
documentgridlistboardtimelinecalendarmapfeedgalleryganttformembedreportcanvas configobject- View configuration object. Shape depends on viewType â for anything beyond a basic grid/list with no filters or ordering, call get_fibery_skill({skill: 'views'}) first.
descriptionstring- New description for the view
namestring- New name for the view
spacestring- Move the view to a different space
fiberymcp_update_workflow_fieldUpdates the options of an existing workflow (state) field.DestructiveUpdate Workflow Field
Updates the options of an existing workflow (state) field.
Inputs
databasestringrequired- Full database name
updatestringrequired- Full replacement or incremental update
defaultOptionstring- New default state name. If not provided, the default is left unchanged
No tools match.