Overview
Nukipa exposes a Model Context Protocol (MCP) server that lets AI assistants create, manage, and publish content on your behalf. Connect once via OAuth, and your assistant can handle everything from brand profiling to blog publishing without you ever leaving the chat.
Supported Clients
- Claude (claude.ai, Claude Desktop)
- ChatGPT (custom MCP connector)
- Any MCP-spec-compliant client that supports OAuth 2.1 with PKCE
Server URL
https://api.nukipa.com/mcp
Transport: Streamable HTTP (stateful sessions)
Authentication
Nukipa uses OAuth 2.1 with PKCE and Dynamic Client Registration. When you click "Connect" in your AI assistant, the following happens automatically:
- Your assistant registers itself with Nukipa (one-time, via RFC 7591)
- A browser window opens for you to sign in (or sign up) and approve the connection
- Your assistant receives a secure token and can start working immediately
Tokens expire after 24 hours and are refreshed automatically. You can revoke access anytime from Settings → API Keys in your Nukipa dashboard.
Discovery Endpoints
| Endpoint | Purpose |
/.well-known/oauth-protected-resource | RFC 9728 — declares the MCP server as a protected resource |
/.well-known/oauth-authorization-server | RFC 8414 — OAuth server metadata (endpoints, supported flows) |
/.well-known/mcp.json | MCP server discovery document |
Available Tools
Nukipa provides 78 tools grouped into the categories below. All write operations require authentication; read operations return data from your workspace only.
Setup & Onboarding
| Tool | Description |
get_onboarding_status | Check whether the background website crawl and profile generation are complete. |
get_setup_guide | Get guidance on what information is needed for high-quality content. |
check_profile_completeness | See which profile fields are filled vs. missing. |
setup_company_from_url | Crawl a website and auto-extract the company profile (~5-8 min, async). |
setup_company_from_context | Set company profile fields manually from conversation context. |
Company Profile
| Tool | Description |
get_company_profile | View the full company profile. |
update_company_profile | Refine individual profile fields (name, description, writing style, etc.). |
get_company_context | Get the resolved context used for content generation (ICPs, USPs, style). |
add_company_icp / update_company_icp / remove_company_icp | Manage Ideal Customer Profiles. |
add_company_usp / update_company_usp / remove_company_usp | Manage Unique Selling Propositions. |
Campaigns
A campaign is a content topic that groups related blog posts (e.g., “AI in Healthcare”, “SEO Best Practices”). Each campaign can override the company-level ICPs, USPs, and writing style.
| Tool | Description |
list_campaigns | List all campaigns with blog post counts. |
create_campaign | Create a new content campaign. |
delete_campaign | Permanently delete a campaign and all its content. |
get_campaign_context | Get the merged company + campaign context. |
set_campaign_icps / set_campaign_usps | Override company defaults per campaign. |
update_campaign_writing_style | Set a campaign-specific writing style. |
update_campaign_profile_addendum | Append extra context used during generation. |
add_campaign_note | Add a timestamped note to the campaign scratchpad. |
update_campaign_signal_keywords / list_campaign_signals | Associate market signals with campaigns. |
Blog Posts
| Tool | Description |
create_blog_post | Generate an AI blog post (~3 min, async). Returns a job ID for polling. |
import_blog_post | Import existing content (HTML, markdown, or plain text) as a draft. |
list_blog_posts | List posts by campaign or status. |
get_blog_post | Fetch full post content. |
edit_blog_post | Edit title, content, or author. |
publish_blog_post / unpublish_blog_post | Toggle post visibility. |
schedule_blog_post | Schedule a post for future publication. |
delete_blog_post | Permanently delete a post. |
get_blog_url | Get the live URL for the blog. |
Feedback & Review
Share content for review before publishing. Reviewers don’t need a Nukipa account.
| Tool | Description |
create_feedback_link | Generate a shareable review link for a campaign’s posts. Reviewers can comment and approve. |
get_feedback_status | Check who reviewed, their approval status, and any comments. |
Social Media
| Tool | Description |
list_social_media_posts | List all social media posts. |
get_social_media_post | Get full post details. |
create_social_media_post | Generate a social post from a briefing. |
create_social_media_from_blog_post | Auto-create social variants from a blog post. |
edit_social_media_post | Edit text, hashtags, or CTAs. |
Content Ideas & Market Intelligence
| Tool | Description |
generate_content_ideas | Generate blog post ideas from recent industry news, clustered into campaigns. |
discover_trends | Find trending topics via Google Trends. |
list_trends / refresh_trends / add_trend | Monitor and manage trend tracking. |
list_signals | Surface market signals: news, competitor activity, content gaps. |
list_competitor_posts | See what competitors are publishing. |
SEO & Keywords
| Tool | Description |
list_keywords | View tracked keywords with metrics. |
generate_keywords | AI-generate keyword candidates with Google Ads volume data. |
suggest_keywords_for_post | Get keyword suggestions for a blog post title. |
get_keyword_metrics | Fetch search volume and competition data. |
discover_keyword_translations | Find multi-language keyword equivalents. |
update_keywords | Mark keywords as tracked or dismissed. |
Images & Files
| Tool | Description |
list_images / get_image | Browse the company file manager. |
generate_image | AI-generate an on-brand image. Returns an inline preview + S3 URL. |
analyze_image | AI vision analysis: OCR, describe, identify objects. |
assign_image_to_campaign | Link an image to a campaign. |
import_website / import_pdf | Import external content into the knowledge base. |
Products & Authors
| Tool | Description |
list_products / get_product | View company products. |
create_product / update_product / delete_product | Manage the product catalog. |
list_authors | View available blog post authors. |
get_learning_profile | Aggregated feedback on generated content quality. |
Analytics
| Tool | Description |
get_analytics_overview | Page views by path with inline bar and line charts. |
get_analytics_conversions | CTA clicks and form submission statistics. |
get_analytics_locations | Geographic distribution of website visitors. |
get_dashboard_link | Direct link to the full analytics dashboard. |
Custom Domain & DNS
| Tool | Description |
suggest_blog_subdomain | Suggest a subdomain based on the company URL. |
setup_blog_domain | Register a custom domain, detect DNS provider, get step-by-step instructions. |
check_domain_status | Poll DNS propagation status. |
get_dns_instructions_link | Generate a shareable DNS setup link for IT teams (no login required). |
Job Monitoring
| Tool | Description |
check_job_status | Poll the status of async operations (blog post generation, crawling). |
Example Workflows
Generate and publish a blog post
- Ask: “Create a blog post about remote work productivity tips in my SEO campaign.”
- The assistant calls
list_campaigns to find the campaign, then create_blog_post.
- It polls
check_job_status every 15-30 seconds until the post is ready (~3 min).
- You review the draft. Ask for edits: “Make the intro punchier and add a section about async communication.”
- The assistant calls
edit_blog_post, then publish_blog_post when you approve.
- It returns the live URL via
get_blog_url.
Get content ideas from industry news
- Ask: “What should I write about this week?”
- The assistant calls
generate_content_ideas, which analyzes your latest industry news.
- It presents 5-10 ideas with titles, angles, and suggested campaigns.
- Pick one and say “Let’s go with idea #3” — it creates the campaign and starts generating.
Share content for review before publishing
- After generating a blog post, ask: “Send this to Sarah for approval.”
- The assistant calls
create_feedback_link with the reviewer name and campaign.
- It returns a shareable review URL — no Nukipa account needed.
- Later, ask: “Has Sarah reviewed it yet?” — it calls
get_feedback_status.
- Once approved, publish with confidence.
Check content performance
- Ask: “How did my content perform this month?”
- The assistant calls
get_analytics_overview and shows inline charts of page views and top posts.
- Follow up with “Which posts converted best?” for conversion analytics.
Pricing
The MCP integration is available on all plans, including free. The free plan includes basic content generation and publishing. The MCP plan (€30/month) offers higher quotas for content generation, image creation, keyword research, and analytics — a lower entry barrier for teams that primarily work through
their AI assistant. See pricing details for current limits.
Support
If you run into issues connecting or using the MCP integration, reach out to us at support@nukipa.com or through the in-app chat widget.