Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to the Fibery MCP server

Vendor MCP
Open markdown

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 app
Scalekit's or your own

Setup

  1. Install the SDK

    Terminal window
    npm install @scalekit-sdk/node dotenv
  2. Set your credentials

    Add your Scalekit credentials to your .env file. 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>
  3. Create the Fibery MCP connection

    In AgentKit > Connections, create a Fibery MCP connection. The name you give it is the connection_name your code passes. See Configure connections.

    Scalekit credentials are available for Fibery MCP server, so you don't need to register an OAuth app.

  4. 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.actions
    const connector = 'fiberymcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { 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 call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'fiberymcp_get_me',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user signs in once. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • fiberymcp_display_entity_capabilities_via_sharingReturns per-entity capabilities derived from sharing for the requested Fibery databases.Read-only

    Display 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-only

    Display 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-only

    Display 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-only

    Download 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-only

    Fetch 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-only

    Fetch 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-only

    Get 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-only

    Get 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.