{"name":"Pikes AI","version":"1.0.0","description":"AI-powered image generation and editing. Generate product photography, edit images with AI, remix and combine images, expand canvases.","protocol":{"version":"2025-06-18","supported_versions":["2025-06-18","2024-11-05"],"spec":"https://modelcontextprotocol.io/specification/2025-06-18"},"transports":{"streamable_http":{"description":"Primary transport - POST messages to /mcp endpoint","endpoint":"https://pikes.ai/mcp","features":["session_management","sse_streaming"]},"http_sse":{"description":"Deprecated transport for backward compatibility","endpoint":"https://pikes.ai/mcp/sse","message_endpoint":"https://pikes.ai/mcp/message"}},"authentication":{"type":"oauth2.1","discovery":{"authorization_server":"https://pikes.ai/.well-known/oauth-authorization-server","protected_resource":"https://pikes.ai/.well-known/oauth-protected-resource"},"authorization_url":"https://pikes.ai/mcp/oauth/authorize","token_url":"https://pikes.ai/mcp/oauth/token","registration_url":"https://pikes.ai/mcp/oauth/register","revocation_url":"https://pikes.ai/mcp/oauth/revoke","scopes":["generate_image","edit_image","remix_images","expand_image","read_images"],"pkce_required":true},"capabilities":{"tools":[{"name":"generate_image","description":"Generate a new image from scratch using a text prompt. Use this when the user wants to create a completely new image without any input images."},{"name":"edit_image","description":"Edit or modify an existing image based on instructions. Use this when the user wants to transform, modify, or enhance an uploaded image. This can put products on models, change backgrounds, modify scenes, etc."},{"name":"remix_images","description":"Combine a product image with a scene/model image. IMPORTANT: Analyze the image CONTENT to determine which is product vs scene - do NOT rely on upload order. Product = isolated item on simple background. Scene = rich context with person/hands/environment. The output will match the SCENE's dimensions."},{"name":"expand_image","description":"Extend or outpaint an image's canvas. Use this when the user wants to expand the image boundaries, add more space around the image, or extend the scene beyond the current edges."},{"name":"animate_image","description":"Animate a still image into a short video, with optional end frame for keyframe-to-keyframe animation. Use this when the user wants to bring an image to life, create motion from a still photo, or make a video from an image. When endImageUrl is provided, creates a smooth transition from start to end frame using the Kling model (supports 5-10s). Without endImageUrl, uses Seedance for single-image animation with optional audio."},{"name":"upload_image","description":"Upload an image to get a publicly accessible URL for use with edit_image, remix_images, etc.\n\nTHREE MODES (use ONE):\n1. PRESIGNED (fastest) - Get upload URLs, then upload directly via pikes.ai:\n   { \"mode\": \"presigned\", \"filename\": \"photo.jpg\" }\n   Returns uploadUrl + publicUrl. Upload via: curl -X POST \"<uploadUrl>\" --data-binary @photo.jpg\n\n2. URL - Fetch from remote URL and re-host:\n   { \"sourceUrl\": \"https://example.com/image.jpg\" }\n\n3. BASE64 - Send image data directly (slower but always works):\n   { \"imageData\": \"data:image/jpeg;base64,...\" }\n\nRECOMMENDED: Use presigned mode for local files - it's 10x faster than base64.\n\nTROUBLESHOOTING: If presigned upload fails with \"domain blocked\" or \"403\", add pikes.ai to allowed domains:\nSettings → Capabilities → Code execution and file creation → Additional allowed domains → add \"pikes.ai\""},{"name":"meta_get_ad_accounts","description":"List all Meta ad accounts the user has access to. Returns account ID, name, currency, and status. Call this first to get the accountId needed for other Meta tools."},{"name":"meta_get_campaigns","description":"List campaigns for an ad account. Returns campaign ID, name, objective, status, budget, and date range.\n\n**Use this to:**\n- See all campaigns and their objectives (CONVERSIONS, TRAFFIC, AWARENESS, etc.)\n- Understand budget allocation across campaigns\n- Get campaignId to filter ads by campaign in meta_get_ads\n- See which campaigns are active vs paused"},{"name":"meta_get_ads","description":"Get ads with creative assets, performance metrics, conversions, and ROAS in a single call.\n\n**Returns per ad:**\n- Creative: image_url, video_url, headline, body, call_to_action\n- Metrics: spend, impressions, clicks, CTR, CPC, CPM\n- Conversions: count, purchase_value, ROAS, CPA\n- Metadata: ad_id, ad_name, campaign_id, status\n\n**Supports:**\n- Custom date ranges (startDate/endDate) or presets (last_7d, last_30d, etc.)\n- Filter by campaign, status, ad type\n- Sort by spend, conversions, ROAS, CPA, CTR, etc.\n- Pagination via cursor for scanning full ad library"},{"name":"meta_get_ad_creative","description":"Get just the creative assets for a specific ad by ID. Use this when you already know the ad_id and only need the creative (not metrics).\n\n**Returns:**\n- image_url or video_url\n- headline\n- body/description\n- call_to_action\n\n**When to use:**\n- User says \"get me the creative for ad XYZ\"\n- You need to refresh creative data for a specific ad\n- You want creative-only data without metrics\n\n**Note:** In most cases, use meta_get_ads instead as it returns creatives + metrics together."},{"name":"meta_get_ad_insights","description":"Get detailed performance insights with conversions, ROAS, and breakdowns.\n\n**Two modes:**\n1. **Single ad**: Pass adId — returns detailed metrics for one ad\n2. **Batch mode**: Pass adIds[] + accountId — returns metrics for up to 50 ads in ONE API call\n\n**Returns per ad:**\n- Metrics: spend, impressions, clicks, CTR, CPC, CPM, reach\n- Conversions: total count + breakdown (purchase, add_to_cart, view_content, initiate_checkout)\n- Revenue: purchase_value, ROAS, CPA\n- Optional breakdowns: age, gender, placement, device, country\n- Optional time series: daily/weekly trends via timeIncrement\n\n**Use batch mode when you need metrics for multiple ads** — much faster than calling one at a time."}],"prompts":[{"name":"product_photography","description":"Generate professional product photography with customizable style and setting"},{"name":"social_media_ad","description":"Create eye-catching social media advertising imagery"},{"name":"brand_lifestyle","description":"Create aspirational lifestyle imagery that represents a brand"},{"name":"product_on_model","description":"Place a product on a model or in a lifestyle context"}],"resources":["pikes://images/recent","pikes://images/{id}","pikes://brand-profiles/active","pikes://brand-profiles/list","pikes://brand-profiles/{id}"]},"mcp_config":{"mcpServers":{"pikes-ai":{"url":"https://pikes.ai/mcp","transport":"streamable-http"}}},"mcp_config_legacy":{"mcpServers":{"pikes-ai":{"url":"https://pikes.ai/mcp/sse","transport":"sse"}}},"documentation":"https://pikes.ai/docs/mcp"}