# Klipfolio — how to use (mcp.ai)

Connect your Klipfolio account and use 50 tools for business intelligence straight from your AI agent. Connect with your own API key. Klipfolio is a cloud-based business intelligence platform that enables users to create and share real-time dashboards and reports.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_klipfolio?ms=1787295960000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `klipfolio_assign_user_role`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/klipfolio`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/klipfolio/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/klipfolio/assign/user/role` — Tool to assign a role to a user in Klipfolio. Use when you need to grant role-based permissions to a specific user. Requires both user ID and role ID.
  - body: { id: string, role_id: string }
- `POST https://api.mcp.ai/api/klipfolio/create/data/source` — This tool creates a new data source in Klipfolio. It uses the POST /datasources endpoint to add a data source with required parameters (name, format, connector, endpointUrl) and optional parameters (d
  - body: { name: string, format: string, method?: string, connector: string, description: string, endpoint_url: string, refresh_interval?: integer, additional_properties?: object }
- `POST https://api.mcp.ai/api/klipfolio/create/data/source/instance` — Tool to create a new data source instance based on an existing data source in Klipfolio. Use when you need to instantiate a data source with specific properties or configuration. Requires datasource.c
  - body: { no_refresh?: boolean, properties?: object, datasource_id: string }
- `POST https://api.mcp.ai/api/klipfolio/create/group` — Tool to create a new group in Klipfolio. Use when you need to organize users into groups for managing permissions and access control.
  - body: { name: string, client_id?: string, description?: string, external_id?: string }
- `POST https://api.mcp.ai/api/klipfolio/create/role` — Tool to create a new role in Klipfolio with optional permissions. Use when you need to define a new role with specific access rights. Requires 'user.manage' permission.
  - body: { name: string, description?: string, permissions?: string[] }
- `POST https://api.mcp.ai/api/klipfolio/create/tab` — This tool creates a new tab (dashboard) in Klipfolio. A tab serves as a container for organizing and displaying Klips (data visualizations) in a meaningful way. The tool allows users to set up a new d
  - body: { name: string, client_id?: string, description: string }
- `POST https://api.mcp.ai/api/klipfolio/create/user` — Tool to create a new user in Klipfolio with optional roles and client association. Use when you need to add a new user account. Requires 'user.manage' permission.
  - body: { email: string, roles?: string[], password?: string, client_id?: string, last_name: string, first_name: string, send_email?: boolean, external_id?: string }
- `POST https://api.mcp.ai/api/klipfolio/delete/data/source` — This tool permanently removes a specified data source from the Klipfolio account. This operation is destructive and cannot be undone. The data source must not be currently in use, and proper permissio
  - body: { datasource_id: string }
- `POST https://api.mcp.ai/api/klipfolio/delete/data/source/instance/property` — Tool to delete a property from a data source instance in Klipfolio. Use when you need to remove custom properties or metadata from a specific data source instance.
  - body: { id: string, name: string }
- `POST https://api.mcp.ai/api/klipfolio/delete/data/source/property` — Tool to delete a property from a data source in Klipfolio. Use when you need to remove custom properties or metadata from a specific data source.
  - body: { id: string, name: string }
- `POST https://api.mcp.ai/api/klipfolio/delete/data/source/share/right` — Tool to delete a data source share right for a specific user or group. Use when you need to revoke access permissions from a data source.
  - body: { id: string, type?: string, entity_id: string }
- `POST https://api.mcp.ai/api/klipfolio/delete/group` — Tool to permanently delete a specified group from the Klipfolio account. Use when you need to remove a user group. This operation is destructive and cannot be undone. Proper permissions are required.
  - body: { id: string }
- `POST https://api.mcp.ai/api/klipfolio/delete/role` — Tool to delete a role from Klipfolio. Use when you need to permanently remove a role from the account. This operation is destructive and cannot be undone.
  - body: { id: string }
- `POST https://api.mcp.ai/api/klipfolio/disable/data/source` — Tool to disable a data source in Klipfolio. Use when you need to temporarily stop a data source from refreshing without deleting it. The data source can be re-enabled later if needed.
  - body: { datasource_id: string }
- `POST https://api.mcp.ai/api/klipfolio/enable/data/source` — Tool to enable a disabled data source in Klipfolio. Use when you need to reactivate a data source that was previously disabled. Note: The data source must be in disabled state before it can be enabled
  - body: { id: string }
- `POST https://api.mcp.ai/api/klipfolio/get/dashboard` — This tool retrieves detailed information about a specific dashboard (formerly known as tab) in Klipfolio. It allows users to obtain comprehensive information including properties, settings, and metada
  - body: { dashboard_id: string, include_associations?: boolean }
- `POST https://api.mcp.ai/api/klipfolio/get/data/source` — Tool to retrieve detailed information about a specific data source in Klipfolio. Use when you need to get configuration details, refresh settings, or metadata for a data source.
  - body: { datasource_id: string }
- `POST https://api.mcp.ai/api/klipfolio/get/data/source/instance/data` — Tool to retrieve the actual data from a specific data source instance in Klipfolio. Use when you need to access the raw data stored in a data source instance.
  - body: { id: string }
- `POST https://api.mcp.ai/api/klipfolio/get/data/source/instance/properties` — Tool to retrieve configuration properties for a specific data source instance in Klipfolio. Use when you need to inspect how the API connects to a data source instance (endpoint URL, method, headers, 
  - body: { id: string }
- `POST https://api.mcp.ai/api/klipfolio/get/data/source/instance2` — Tool to retrieve detailed information about a specific data source instance in Klipfolio. Use when you need to fetch metadata and status for a data source instance.
  - body: { id: string }
- `POST https://api.mcp.ai/api/klipfolio/get/data/source/properties` — Tool to retrieve properties for a specific data source in Klipfolio by its ID. Use when you need to get configuration details of a data source such as endpoint URLs, authentication tokens, or custom p
  - body: { id: string }
- `POST https://api.mcp.ai/api/klipfolio/get/data/source/share/rights` — Tool to retrieve sharing permissions for a specific data source in Klipfolio. Returns both group-level and user-level access rights, including edit permissions for each.
  - body: { id: string }
- `POST https://api.mcp.ai/api/klipfolio/get/group` — Tool to retrieve detailed information about a specific group in Klipfolio. Use when you need to get group properties such as name, description, member count, and optionally the list of members.
  - body: { id: string, full?: boolean }
- `POST https://api.mcp.ai/api/klipfolio/get/group/default/tabs` — Tool to retrieve the list of default tabs (dashboards) for a specific group. Use when you need to see which dashboards are set as defaults for a user group.
  - body: { id: string }
- `POST https://api.mcp.ai/api/klipfolio/get/group/users` — Tool to retrieve all users belonging to a specific group in Klipfolio. Use when you need to list members of a group.
  - body: { id: string }
- `POST https://api.mcp.ai/api/klipfolio/get/klips` — This tool retrieves a list of all Klips accessible to the authenticated user. Klips are visualization components in Klipfolio that display data in various formats like charts, tables, or metrics.
  - body: { limit?: integer, offset?: integer }
- `POST https://api.mcp.ai/api/klipfolio/get/profile` — This tool is used to retrieve the authenticated user's profile information and test the authentication status. It verifies API connectivity and access permissions by returning profile details such as 
  - body: { include_roles?: boolean, include_groups?: boolean }
- `POST https://api.mcp.ai/api/klipfolio/get/role` — Tool to retrieve detailed information about a specific role in Klipfolio. Use when you need to check role permissions, view role assignments, or understand role configuration.
  - body: { id: string, full?: boolean }
- `POST https://api.mcp.ai/api/klipfolio/get/role/permissions` — Tool to retrieve the list of permissions assigned to a specific role in Klipfolio. Use when you need to view what permissions a role has, such as account.api, admin.client, client.access, dashboard pe
  - body: { id: string }
- `POST https://api.mcp.ai/api/klipfolio/get/role/users` — Tool to retrieve all users associated with a specific role in Klipfolio. Use when you need to see which users are assigned to a role. Requires user.manage permission.
  - body: { id: string }
- `POST https://api.mcp.ai/api/klipfolio/get/user` — Tool to retrieve detailed information about a specific user in Klipfolio. Use when you need to get user properties such as name, email, login history, group memberships, and role assignments.
  - body: { id: string, full?: boolean }
- `POST https://api.mcp.ai/api/klipfolio/get/user/groups` — Tool to retrieve all groups that a specific user belongs to in Klipfolio. Use when you need to check group membership for a user.
  - body: { id: string }
- `POST https://api.mcp.ai/api/klipfolio/get/user/properties` — Tool to retrieve custom properties associated with a specific user in Klipfolio. Use when you need to access user-defined key-value pairs stored as user properties.
  - body: { id: string }
- `POST https://api.mcp.ai/api/klipfolio/get/user/roles` — Tool to retrieve all roles assigned to a specific user in Klipfolio. Use when you need to check what permissions and access levels a user has through their role assignments.
  - body: { id: string }
- `POST https://api.mcp.ai/api/klipfolio/get/user/tab/instances` — Tool to retrieve all tab instances associated with a specific user. Use when you need to view dashboard copies assigned to a user's account. Tab instances represent copies of tabs in a user's account.
  - body: { id: string }
- `POST https://api.mcp.ai/api/klipfolio/list/data/source/instances` — Tool to retrieve all data source instances accessible to the authenticated user. Use when you need to list, query, or monitor data source instances with optional filtering by client or data source.
  - body: { limit?: integer, offset?: integer, client_id?: string, datasource_id?: string }
- `POST https://api.mcp.ai/api/klipfolio/list/data/sources` — This tool retrieves a list of all data sources associated with an authenticated Klipfolio account. It supports optional query parameters for pagination (limit and offset) and filtering by client_id. T
  - body: { limit?: integer, offset?: integer, client_id?: string }
- `POST https://api.mcp.ai/api/klipfolio/list/groups` — Tool to retrieve all groups from a Klipfolio account. Use when you need to list groups for access management or filtering purposes. Supports filtering by client_id or external_id, and can include memb
  - body: { full?: boolean, limit?: integer, offset?: integer, client_id?: string, external_id?: string }
- `POST https://api.mcp.ai/api/klipfolio/list/roles` — Tool to retrieve all roles in the company. Use when you need to view available roles, check role configurations, or identify role IDs for permission management.
  - body: { client_id?: string }
- `POST https://api.mcp.ai/api/klipfolio/list/users` — Tool to retrieve all users in the company. Use when you need to view all users, search for specific users by email or external ID, or get user details for access management.
  - body: { full?: boolean, email?: string, limit?: integer, offset?: integer, client_id?: string, external_id?: string, include_roles?: boolean, include_groups?: boolean }
- `POST https://api.mcp.ai/api/klipfolio/refresh/data/source/instance` — Tool to manually refresh a data source instance in Klipfolio. Use when you need to update the data from its source immediately rather than waiting for the scheduled refresh interval.
  - body: { id: string }
- `POST https://api.mcp.ai/api/klipfolio/refresh/multiple/data/sources` — This tool allows users to refresh multiple data sources in Klipfolio simultaneously. It queues the specified data sources for refresh, updating their data from their respective sources. At least one d
  - body: { datasource_ids: string[] }
- `POST https://api.mcp.ai/api/klipfolio/resend/user/invite` — Tool to resend a user invitation email in Klipfolio. Use when you need to resend an invitation to a user who has not yet accepted their account invite.
  - body: { id: string }
- `POST https://api.mcp.ai/api/klipfolio/reset/user/password` — Tool to reset a user's password in Klipfolio. Use when you need to trigger a password reset for a specific user account. This will send a password reset link to the user.
  - body: { id: string }
- `POST https://api.mcp.ai/api/klipfolio/update/data/source` — This tool allows you to replace/update the data in an existing Klipfolio data source. It completely replaces the existing data with new data in the specified data source. The tool requires new data (i
  - body: { data: string, content_type?: string, data_source_id: string }
- `POST https://api.mcp.ai/api/klipfolio/update/data/source/instance/properties` — Tool to update custom properties on a Klipfolio data source instance. Use when you need to set or modify key-value property pairs on an existing data source instance.
  - body: { id: string, properties: object }
- `POST https://api.mcp.ai/api/klipfolio/update/data/source/metadata` — Tool to update metadata (name, description, refresh_interval) of an existing data source. Use when you need to modify properties of a data source without changing its actual data.
  - body: { id: string, name?: string, description?: string, refresh_interval?: integer }
- `POST https://api.mcp.ai/api/klipfolio/update/data/source/properties` — Tool to update custom properties for a data source in Klipfolio. Use when you need to modify metadata or configuration properties associated with a specific data source.
  - body: { id: string, properties: object }
- `POST https://api.mcp.ai/api/klipfolio/update/data/source/share/rights` — Tool to update data source share rights in Klipfolio. Use when you need to grant or modify access permissions for users or groups to a specific data source. This allows you to control who can view or 
  - body: { id: string, users?: object[], groups?: object[] }
- `POST https://api.mcp.ai/api/klipfolio/update/user/properties` — Tool to update custom properties for a user in Klipfolio. Use when you need to modify metadata or configuration properties associated with a specific user account.
  - body: { id: string, properties: object }

## Example prompts
- "What can I do in Klipfolio?"
- "Show me a summary of my Klipfolio account"

## More
- Page: https://mcp.ai/klipfolio
- Agent spec (llms.txt): https://mcp.ai/klipfolio/llms.txt
- Postman collection: https://mcp.ai/klipfolio/postman.json
