npm package: @qikdev/mcp
Description: A plug-and-play Model Context Protocol server for the Qik platform - enabling AI assistants to interact with Qik's content management system, user management, forms, files, and more.
Author: Qik Developers
Latest version: 6.16.0

# Qik MCP Server

A Model Context Protocol (MCP) server for the Qik platform, enabling AI assistants to interact with Qik's content management system, user management, forms, files, and more.

## Install

### One-Click Install (Claude Desktop)

1. Download the [`qik.mcpb`](https://api.qik.dev/file/69a624516644ea20ba482e2e/qik.mcpb) file and open it
2. Claude Desktop will prompt you to install the extension
3. Enter your Qik API access token and a server name when prompted
4. **Restart Claude Desktop** — the server won't appear until you quit and reopen the app

> **Multiple organisations:** You can install the extension multiple times with different access tokens and server names (e.g. `qik-acme`, `qik-contoso`) to connect to multiple Qik organisations at once.

### CLI Install

```bash
npx @qikdev/mcp setup
```

Setup will ask you to choose how to authenticate:

1. **Login with email and password** — enter your Qik credentials (supports MFA). The server stores a refresh token and automatically keeps your session alive.
2. **Enter an access token** — paste a static token generated in the Qik dashboard.

You'll then choose a server name (defaults to `qik-{orgname}`) and the CLI will configure Claude Desktop automatically.

**Important: Restart Claude Desktop after setup.** The server won't be available until you quit and reopen the app.

> **Multiple organisations:** Run `npx @qikdev/mcp setup` again to add another organisation. Each one gets its own server name and config file.

## CLI Commands

```bash
npx @qikdev/mcp setup        # Set up a new instance (can run multiple times)
npx @qikdev/mcp status       # Show all configured instances and their status
npx @qikdev/mcp update-token # Update the access token for an instance
npx @qikdev/mcp update       # Update to the latest version
npx @qikdev/mcp remove       # Remove an instance
npx @qikdev/mcp install      # Show installation guide
```

When you have multiple instances configured, commands like `update-token` and `remove` will prompt you to choose which instance to manage.

## Available Tools

### Discovery
- `get_glossary` — List all content types and their definitions
- `get_content_type_details` — Get detailed schema for a content type
- `search_content_types` — Search content types by keyword
- `get_filter_comparators` — Get available filter operators
- `get_entity_relationships` — Get relationship types between entities

### Content Management
- `create_content` — Create a new content item with validation
- `list_content` — Query and filter content with sorting and pagination
- `get_content` — Get a single content item by ID
- `update_content` — Update an existing content item
- `delete_content` — Soft-delete a content item
- `restore_content` — Restore a deleted content item
- `global_search` — Search across all content types
- `count_content` — Count content matching filters

### File Management
- `upload_file` — Upload a file from a local path or URL
- `check_file_exists` — Check for duplicates before uploading
- `replace_file` — Replace the file on an existing content item

### Profiles & Relationships
- `get_user_session` — Get current user session and permissions
- `get_profile_timeline` — Get activity timeline for a profile
- `get_profile_relationships` — List relationships for a profile
- `create_relationship` — Create a relationship between profiles
- `delete_relationship` — Remove a relationship
- `create_profile_with_relationship` — Create a profile and link it in one step
- `get_profile_groups` — Get groups a profile belongs to
- `get_profile_access` — Get access permissions for a profile
- `get_profile_blockout` — Get blockout dates for a profile
- `create_profile_blockout` — Create a blockout period

### Definitions
- `get_definition_schema` — Get the field schema for a definition
- `search_similar_definitions` — Find similar definition types
- `create_definition` — Create a new content type definition
- `update_definition` — Update an existing definition
- `list_definitions` — List all definitions

### Campaigns & Communication
- `get_campaign_recipients` — Get recipient list for a campaign
- `get_campaign_analytics` — Get campaign performance data
- `send_campaign` — Send a campaign
- `send_test_campaign` — Send a test campaign
- `send_bulk_sms` — Send bulk SMS messages

### Scopes
- `get_scope_tree` — Get the full scope hierarchy
- `get_actionable_scopes` — Get scopes the user can act on
- `add_profile_to_scope` — Add a profile to a scope
- `remove_profile_from_scope` — Remove a profile from a scope

### Smart Lists & Duplicates
- `run_smartlist` — Execute a smart list query
- `export_smartlist` — Export smart list results
- `detect_duplicates` — Find potential duplicate records
- `mark_distinct` — Mark records as not duplicates
- `preview_merge` — Preview a merge of duplicate records
- `start_merge` — Execute a merge
- `get_merge_progress` — Check merge progress

### Check-in
- `create_checkin` — Check in a profile to an event
- `checkout` — Check out a profile

### Forms
- `list_forms` — List available forms

### Workflows
- `list_workflows` — List workflows
- `get_workflow` — Get workflow details
- `create_workflow` — Create a new workflow
- `update_workflow` — Update an existing workflow

### Interface Builder
- `list_interface_components` — List available components
- `get_interface_component_details` — Get component schema
- `create_interface` — Create a new interface
- `get_interface` — Get interface details
- `publish_interface` — Publish an interface
- `add_interface_route` / `update_interface_route` / `remove_interface_route` — Manage routes
- `add_interface_section` / `update_interface_section` / `remove_interface_section` — Manage sections
- `set_interface_custom_component` / `set_interface_service` / `set_interface_menu` / `set_interface_styles` / `set_interface_layout` — Configure interface settings

## Configuration

### Environment Variables

- `QIK_ACCESS_TOKEN` — Your Qik API access token (required)
- `QIK_API_URL` — Qik API base URL (defaults to `https://api.qik.dev`)
- `QIK_INSTANCE` — Instance name for multi-org setups (set automatically by setup)

## Troubleshooting

### Server not showing up in Claude Desktop

**Restart Claude Desktop.** After installing or running setup, you must quit and reopen Claude Desktop for the server to appear.

### Authentication Issues

```bash
# Check your token status
npx @qikdev/mcp status

# Update your token
npx @qikdev/mcp update-token

# Reconfigure from scratch
npx @qikdev/mcp setup
```

### Common Errors

- **"Content type not found"** — Use `get_glossary` to see available types
- **"Field validation errors"** — Use `get_content_type_details` to see required fields
- **"Access denied"** — Check that your token has the required permissions

## License

MIT — see [LICENSE](LICENSE) for details.

## Support

- **Documentation**: https://docs.qik.dev
- **Issues**: https://gitlab.com/qikdevelopers/qik-mcp-server/-/issues
- **Email**: developers@qik.dev