Iconik MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Iconik MCP Serversearch for assets with keyword 'interview'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Iconik-MCP-Server
A Model Context Protocol (MCP) server for the Iconik media asset management API. This enables AI assistants like Claude to interact with your Iconik media library.
Features
143 MCP Tools - Comprehensive coverage of the Iconik API
Multi-Profile Support - Manage multiple Iconik domains/accounts
Standalone Scripts - CLI tools for common bulk operations
Dry Run Mode - Safely preview destructive operations
Related MCP server: Kitsu MCP Server
Installation
# Clone the repository
git clone https://github.com/postforward/Iconik-MCP-Server.git
cd Iconik-MCP-Server
# Install dependencies
npm install
# Build
npm run buildConfiguration
Option 1: Config File (Recommended for Multiple Profiles)
Create iconik-config.json in the project directory:
{
"default_profile": "production",
"profiles": {
"production": {
"name": "Production Domain",
"app_id": "your-app-id",
"auth_token": "your-auth-token"
},
"staging": {
"name": "Staging Domain",
"app_id": "your-staging-app-id",
"auth_token": "your-staging-auth-token",
"api_url": "https://preview.iconik.cloud/API/"
}
}
}The config file is searched in these locations:
Current working directory:
./iconik-config.jsonHome directory:
~/.iconik-config.jsonPackage directory
Option 2: Environment Variables
For a single profile, use environment variables:
export ICONIK_APP_ID=your-app-id
export ICONIK_AUTH_TOKEN=your-auth-token
export ICONIK_API_URL=https://app.iconik.io/API/ # OptionalOr create a .env file:
ICONIK_APP_ID=your-app-id
ICONIK_AUTH_TOKEN=your-auth-tokenRunning
Stdio (default)
For local use with Claude Code, Cursor, Claude Desktop, and other MCP clients:
node dist/index.jsHTTP
For remote or containerized deployment via Streamable HTTP:
MCP_TRANSPORT=http node dist/index.jsEndpoints:
POST /mcp— MCP protocol (new session or existing viamcp-session-idheader)GET /mcp— SSE stream for existing sessionDELETE /mcp— Close sessionGET /health— Health check
Access Levels
MCP_ACCESS_LEVEL controls which tools are registered at startup. Defaults to read for safety.
Level | Tools | Count |
| list, get, search, check | 85 |
| read + create, update, bulk | 126 |
| readwrite + delete, purge | 143 |
# Read-only (default)
node dist/index.js
# Read + write
MCP_ACCESS_LEVEL=readwrite node dist/index.js
# Full access
MCP_ACCESS_LEVEL=full node dist/index.jsDocker
# Build and run (read-only by default)
docker compose up --build
# With write access
MCP_ACCESS_LEVEL=readwrite docker compose up --build
# Full access
MCP_ACCESS_LEVEL=full docker compose up --buildEnvironment variables:
ICONIK_APP_ID(required)ICONIK_AUTH_TOKEN(required)MCP_ACCESS_LEVEL(defaultread)MCP_PORT(default8000)
Usage with Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"iconik": {
"command": "node",
"args": ["/path/to/Iconik-MCP-Server/dist/index.js"],
"env": {
"ICONIK_APP_ID": "your-app-id",
"ICONIK_AUTH_TOKEN": "your-auth-token",
"MCP_ACCESS_LEVEL": "readwrite"
}
}
}
}Then restart Claude Desktop.
MCP Tools
The server provides tools organized by category:
Assets
search_assets- Search for assets with filtersget_asset- Get asset detailscreate_asset- Create a new assetupdate_asset- Update asset propertiesdelete_asset- Delete an assetget_asset_proxies- List proxy filesdelete_proxies_by_collection- Bulk delete proxiesAnd 30+ more asset tools...
Collections
list_collections- List all collectionsget_collection- Get collection detailscreate_collection- Create a collectionget_collection_contents- List collection contentsadd_to_collection- Add assets to collection
Metadata
get_asset_metadata- Get asset metadataupdate_asset_metadata- Update metadata valueslist_metadata_views- List available viewsget_metadata_view- Get view schema
Files & Storage
list_storages- List storage locationsget_asset_files- List asset filescreate_file- Create file record
Jobs & Transcoding
list_jobs- List transcoding jobsget_job- Get job statuscreate_transcode_job- Start transcode
Users & Shares
list_users- List userslist_shares- List shared linkscreate_share- Create share link
Standalone Scripts
Run scripts directly for bulk operations:
Smart Search
npx ts-node scripts/smart-search.ts search "interview" --type=video --transcripts
npx ts-node scripts/smart-search.ts export "*" ./all-assets.csv --limit=500
npx ts-node scripts/smart-search.ts recent --limit=10 --profile=stagingDelete Proxies
# Dry run (preview)
npx ts-node scripts/delete-proxies.ts collection <collection_id>
# Actually delete
npx ts-node scripts/delete-proxies.ts collection <collection_id> --live
# Use specific profile
npx ts-node scripts/delete-proxies.ts collection <id> --profile=production --liveStorage Audit
npx ts-node scripts/storage-audit.ts
npx ts-node scripts/storage-audit.ts --profile=productionArchive Health Report
npx ts-node scripts/archive-health-report.tsBulk Metadata Update
# List available metadata views
npx ts-node scripts/metadata-bulk-update.ts list-views
# Update by collection (dry run)
npx ts-node scripts/metadata-bulk-update.ts collection <collection_id> <view_id> '{"field":"value"}'
# Update from CSV
npx ts-node scripts/metadata-bulk-update.ts csv ./updates.csv <view_id> --liveGetting Your Iconik Credentials
Log in to your Iconik domain
Go to Admin → Settings → Applications
Create a new application or use an existing one
Copy the App ID and generate an Auth Token
API Reference
This MCP server wraps the Iconik API. See their documentation for detailed endpoint information.
License
ISC
Contributing
Contributions welcome! Please open an issue or PR.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/postforward/Iconik-MCP-Server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server