@mixio-pro/kalaasetu-mcp
Version:
A powerful Model Context Protocol server providing AI tools for content generation and analysis
311 lines (231 loc) • 7.59 kB
Markdown
# kalaasetu-mcp
Kalaasetu MCP Server - A powerful Model Context Protocol server providing various AI tools for content generation and analysis.
## Quick Start
```bash
npx @mixio-pro/kalaasetu-mcp@latest
```
## Features
### 🎨 Gemini Tools
- **Text to Image**: Generate images from text prompts
- **Image Editing**: Edit existing images with AI
- **Image Analysis**: Analyze and describe images
- **Text-to-Speech**: Generate natural speech from text
- **Video Analysis**: Analyze video content
### 📹 Video Tools
- **Image-to-Video** (Vertex AI Veo): Generate videos from images using Google's Veo models
- **Infinitalk** (FAL AI): Create talking avatar videos with lip-sync from image and audio
### 🎬 YouTube Tools
- **YouTube Analyzer**: Analyze YouTube videos and extract insights
### 🔍 Perplexity Search Tools
- **Image Search**: Search for images using Perplexity AI with domain and format filters
- **Video Search**: Search for videos using Perplexity AI with domain filters
## Installation
### Using npx (Recommended)
Run directly without installation:
```bash
npx @mixio-pro/kalaasetu-mcp@latest
```
### Global Installation
```bash
npm install -g @mixio-pro/kalaasetu-mcp
kalaasetu-mcp
```
### Local Development
To install dependencies for local development:
```bash
bun install
```
## MCP Client Configuration
### Cursor IDE
Add to your Cursor settings (`~/.cursor/config.json` or via Settings → MCP):
```json
{
"mcpServers": {
"kalaasetu": {
"command": "npx",
"args": ["@mixio-pro/kalaasetu-mcp@latest"],
"env": {
"GEMINI_API_KEY": "your-gemini-api-key",
"FAL_KEY": "your-fal-api-key",
"PERPLEXITY_API_KEY": "your-perplexity-api-key",
"STORAGE_PROVIDER":"gcs",
"GCS_BUCKET":"your-gcs-bucket-name"
}
}
}
}
```
### OpenCode IDE
Add to your OpenCode MCP configuration:
```json
{
"mcpServers": {
"kalaasetu": {
"command": "npx",
"args": ["@mixio-pro/kalaasetu-mcp@latest"],
"environment": {
"GEMINI_API_KEY": "your-gemini-api-key",
"FAL_KEY": "your-fal-api-key",
"PERPLEXITY_API_KEY": "your-perplexity-api-key",
"STORAGE_PROVIDER":"gcs",
"GCS_BUCKET":"your-bucket-name"
}
}
}
}
```
### Claude Desktop
Add to your Claude Desktop configuration (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):
```json
{
"mcpServers": {
"kalaasetu": {
"command": "npx",
"args": ["@mixio-pro/kalaasetu-mcp@latest"],
"env": {
"GEMINI_API_KEY": "your-gemini-api-key",
"FAL_KEY": "your-fal-api-key",
"PERPLEXITY_API_KEY": "your-perplexity-api-key"
}
}
}
}
```
### OpenCode IDE
Add to your OpenCode MCP configuration:
```json
{
"mcpServers": {
"kalaasetu": {
"type": "local",
"command": ["npx", "@mixio-pro/kalaasetu-mcp@latest"],
"env": {
"GEMINI_API_KEY": "your-gemini-api-key",
"FAL_KEY": "your-fal-api-key",
"PERPLEXITY_API_KEY": "your-perplexity-api-key",
"GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/gcp-credentials.json"
}
}
}
}
```
### Claude Desktop
Add to your Claude Desktop configuration (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):
```json
{
"mcpServers": {
"kalaasetu": {
"command": "npx",
"args": ["@mixio-pro/kalaasetu-mcp@latest"],
"env": {
"GEMINI_API_KEY": "your-gemini-api-key",
"FAL_KEY": "your-fal-api-key",
"PERPLEXITY_API_KEY": "your-perplexity-api-key",
"GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/gcp-credentials.json"
}
}
}
}
```
## Environment Variables
### Required API Keys
| Variable | Description | Get API Key |
|----------|-------------|-------------|
| `GEMINI_API_KEY` | For Gemini image generation, TTS, video analysis, and Veo video generation | [Google AI Studio](https://aistudio.google.com/app/apikey) |
| `FAL_KEY` | For Infinitalk and Hunyuan Avatar tools | [FAL AI](https://fal.ai/dashboard/keys) |
| `PERPLEXITY_API_KEY` | For image and video search | [Perplexity API](https://www.perplexity.ai/settings/api) |
### Setting Environment Variables
#### For Command Line Usage
```bash
# macOS/Linux
export GEMINI_API_KEY="your-gemini-api-key"
export FAL_KEY="your-fal-api-key"
export PERPLEXITY_API_KEY="your-perplexity-api-key"
# Windows (PowerShell)
$env:GEMINI_API_KEY="your-gemini-api-key"
$env:FAL_KEY="your-fal-api-key"
$env:PERPLEXITY_API_KEY="your-perplexity-api-key"
```
#### For MCP Clients
Set the environment variables in your MCP client configuration as shown in the examples above.
## Configuration
Set up the required API keys as environment variables:
```bash
# For Gemini and Vertex AI tools
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/your/credentials.json"
export GEMINI_API_KEY="your-gemini-api-key"
# For FAL AI Infinitalk
export FAL_KEY="your-fal-api-key"
# For Perplexity Search Tools
export PERPLEXITY_API_KEY="your-perplexity-api-key"
```
## Running the Server
### Local Development
To run the server locally:
```bash
bun run src/index.ts
```
Or with auto-reload:
```bash
bun run dev
```
## Available Tools
### Infinitalk
Generate talking avatar videos from images and audio using FAL AI's Infinitalk model.
#### Parameters
- `image_url` (required): URL of the input image
- `audio_url` (required): URL of the audio file for lip-sync
- `prompt` (required): Text description guiding video generation
- `num_frames` (optional): Number of frames (41-721, default: 145)
- `resolution` (optional): Video resolution - "480p" or "720p" (default: "480p")
- `seed` (optional): Random seed for reproducibility (default: 42)
- `acceleration` (optional): Generation speed - "none", "regular", or "high" (default: "regular")
#### Example Usage
```json
{
"image_url": "https://example.com/portrait.png",
"audio_url": "https://example.com/speech.mp3",
"prompt": "A person speaking professionally in a podcast setting",
"resolution": "720p",
"num_frames": 200
}
```
### Perplexity Images
Search for images using Perplexity AI with advanced filtering options.
#### Parameters
- `query` (required): The search query for images
- `image_domain_filter` (optional): Array of domains to include or exclude (prefix with '-' to exclude)
- Example: `["wikimedia.org", "-gettyimages.com"]`
- `image_format_filter` (optional): Array of allowed image formats
- Example: `["jpg", "png", "gif"]`
#### Example Usage
```json
{
"query": "mountain landscapes",
"image_domain_filter": ["wikimedia.org", "-gettyimages.com"],
"image_format_filter": ["jpg", "png"]
}
```
### Perplexity Videos
Search for videos using Perplexity AI with domain filtering.
#### Parameters
- `query` (required): The search query for videos
- `search_domain_filter` (optional): Array of domains to limit search (use '-' prefix to exclude)
- Example: `["youtube.com"]` or `["-tiktok.com"]`
#### Example Usage
```json
{
"query": "yoga for beginners",
"search_domain_filter": ["youtube.com"]
}
```
## Testing
You can test the MCP server using the MCP Inspector:
```bash
npx @modelcontextprotocol/inspector npx @mixio-pro/kalaasetu-mcp@latest
```
## Requirements
- **Bun**: This package requires Bun runtime. Install from [bun.sh](https://bun.sh)
- **API Keys**: Obtain the necessary API keys from the providers listed above
## Project Info
This project was created using `bun init` in bun v1.3.1. [Bun](https://bun.com) is a fast all-in-one JavaScript runtime.