MCP (Model Context Protocol) server providing tools for the Iconik media asset management API.
- Dual Transport Support: Both SSE (Server-Sent Events) and Streamable HTTP transports
- Docker Ready: Runs as a containerized service
- Comprehensive API Coverage: Tools for all major Iconik API endpoints
- Claude Code CLI Compatible: Works with Claude Code CLI
- LMStudio Compatible: Works with LMStudio via HTTP transport
iconik_list_assets- List assets with paginationiconik_get_asset- Get asset detailsiconik_create_asset- Create new asseticonik_update_asset- Update asset propertiesiconik_delete_asset- Delete an asset
iconik_list_collections- List collectionsiconik_get_collection- Get collection detailsiconik_create_collection- Create new collectioniconik_update_collection- Update collectioniconik_delete_collection- Delete collectioniconik_get_collection_contents- Get collection contentsiconik_add_to_collection- Add items to collection
iconik_search- Search assets and collectionsiconik_list_saved_searches- List saved searchesiconik_get_saved_search- Get/execute saved searchiconik_create_saved_search- Create saved searchiconik_delete_saved_search- Delete saved search
iconik_list_storages- List storage locationsiconik_get_storage- Get storage detailsiconik_get_asset_files- Get asset filesiconik_get_asset_formats- Get asset formatsiconik_get_asset_proxies- Get asset proxiesiconik_get_asset_keyframes- Get asset keyframes
iconik_list_metadata_views- List metadata viewsiconik_get_metadata_view- Get metadata viewiconik_get_asset_metadata- Get asset metadataiconik_update_asset_metadata- Update asset metadata
iconik_list_jobs- List jobsiconik_get_job- Get job detailsiconik_create_job- Create jobiconik_update_job- Update job
iconik_list_users- List usersiconik_get_user- Get user detailsiconik_get_current_user- Get current usericonik_list_groups- List groupsiconik_get_group- Get group detailsiconik_list_shares- List sharesiconik_get_share- Get share detailsiconik_list_projects- List projectsiconik_get_project- Get project detailsiconik_list_webhooks- List webhooksiconik_get_webhook- Get webhook details
iconik_api_request- Make generic API requestsiconik_get_acls- Get object ACLsiconik_update_acls- Update object ACLs
- Create a
.envfile with your Iconik credentials:
# Option 1: Use JWT API token
ICONIK_API=your_jwt_token_here
# Option 2: Use App ID and Auth Token
ICONIK_APP_ID=your_app_id
ICONIK_AUTH_TOKEN=your_auth_token
# Optional: Custom Iconik URL (default: https://app.iconik.io)
ICONIK_URL=https://app.iconik.io- Build and run:
docker-compose up -d- The server will be available at:
- SSE endpoint:
http://localhost:8000/sse - HTTP endpoint:
http://localhost:8000/mcp - Health check:
http://localhost:8000/health
- SSE endpoint:
docker build -t mcp-iconik .
docker run -d \
-p 8000:8000 \
-e ICONIK_API=your_jwt_token \
--name mcp-iconik \
mcp-iconik# Install dependencies
pip install -e .
# Run the server
python -m mcp_iconik.serverAdd to your Claude Code configuration (~/.claude/mcp.json):
{
"mcpServers": {
"iconik": {
"url": "http://localhost:8000/sse",
"transport": "sse"
}
}
}Or for HTTP transport:
{
"mcpServers": {
"iconik": {
"url": "http://localhost:8000/mcp",
"transport": "http"
}
}
}LMStudio uses HTTP transport. Configure the MCP server URL as:
http://localhost:8000/mcp
| Endpoint | Transport | Description |
|---|---|---|
/sse |
SSE | Server-Sent Events connection |
/messages/ |
SSE | SSE message handler |
/mcp |
HTTP | Streamable HTTP transport |
/health |
HTTP | Health check endpoint |
| Variable | Description | Default |
|---|---|---|
ICONIK_API |
JWT API token (preferred) | - |
ICONIK_APP_ID |
Application ID | - |
ICONIK_AUTH_TOKEN |
Auth token | - |
ICONIK_URL |
Iconik base URL | https://app.iconik.io |
HOST |
Server host | 0.0.0.0 |
PORT |
Server port | 8000 |
DEBUG |
Enable debug mode | false |
- Log in to your Iconik instance
- Go to Admin Panel > Settings > Application Tokens
- Create a new application or use an existing one
- Create a new authentication token
- Copy the App ID and token
MIT