MCP Server
Techne exposes an MCP server so AI agents can call your content workflow directly instead of copy-pasting between chat and dashboard.
What is connected
The MCP server wraps the same publish pipeline as the REST API. Agents can inspect connected platforms, validate publish requirements, manage brand profiles, schedule campaigns, generate content, and publish to targets such as Techne Blog, LinkedIn, X/Twitter, Facebook, Pinterest, Webflow, and WordPress.
Server endpoint
https://gnebwplgmrtcwboauvgi.supabase.co/functions/v1/mcp-server
Techne uses Streamable HTTP transport and supports OAuth discovery endpoints.
Protocol version
The Techne MCP server currently speaks the 2025-11-25 Streamable HTTP spec, which every mainstream MCP client (Claude Desktop, ChatGPT, Cursor, Codex, VS Code) supports today.
We are tracking the 2026-07-28 release candidate (stateless core, header-based routing, hardened OAuth) and will upgrade behind protocol negotiation so existing connections keep working. Trace context (traceparent, tracestate, baggage) and cache hints (ttlMs, cacheScope) already flow through today so you can start using them.
Available tools
Discovery
| Tool | What it does |
|---|---|
| list_platforms | List connected destinations and platform-level requirements. |
| list_requirements | Return required and optional fields by platform before publishing. |
| list_authors | Return Webflow author IDs for Webflow publishing. |
Preflight & validation
| Tool | What it does |
|---|---|
| validate_publish | Preflight check: resolves author name, validates image requirements, returns per-platform pass/fail before generating. |
Publishing & campaigns
| Tool | What it does |
|---|---|
| publish_content | Generate a post and publish/schedule to one or more platforms. Accepts author_name for automatic Webflow author resolution and brand_profile_id for stored style rules. |
| submit_content | Publish a piece the agent already wrote. Send a Techne Doc with body, references, media, FAQ, CTA, and per-platform social copy. Stored verbatim unless options.apply_brand_voice is set. |
| get_content_schema | Return the Techne Doc JSON schema plus worked examples for article, video, and social posts. Call once before your first submit_content. |
| update_content | Patch a submitted document (typo, new reference, new image, revised social copy) and optionally re-publish it. |
| schedule_campaign | Schedule a multi-post campaign from one prompt with cadence (daily, weekdays, weekly, biweekly). Supports preview_only for dry runs. |
Which publishing tool? Use publish_content when you want Techne to write the piece from a prompt. Use submit_content when you have already written it and want Techne to render, cite, and distribute it. Both return a content_id to poll with check_content_status.
Images
Agents write words, so Techne handles the picture. Inside the document's media object: set generate_image: true to have Techne generate a featured image with your AI credits (one image credit, with optional image_prompt for art direction), or pass featured_image_url when you already have one, which costs nothing and wins over generation. Set generate_image: false to skip images entirely. Video documents use the YouTube or Vimeo thumbnail automatically unless you override it with video.thumbnail_url. Omit the field and your workspace publishing default decides.
Status tracking
| Tool | What it does |
|---|---|
| check_content_status | Check generation and per-platform publishing status of a queued content item. Returns live URLs and actionable errors. |
| get_campaign_status | Batch-check multiple content items. Returns per-item status plus aggregate counts (queued, generating, complete, failed). |
Brand & workspace
| Tool | What it does |
|---|---|
| get_workspace_profile | Read workspace-level brand context: business context, writing style, keywords, and style rules. |
| list_brand_profiles | List saved brand/style profiles with tone, banned phrases, CTA style, and voice examples. |
| create_brand_profile | Create a new brand profile. Pass the returned ID to publish_content or schedule_campaign. |
| update_brand_profile | Update an existing brand profile by ID. |
Search & content
| Tool | What it does |
|---|---|
| search | Search published Techne posts by keyword. |
| list_posts_by_topic | Find posts by topic and rank by relevance. |
| get_author_profile | Return author profile metadata and topical coverage. |
| fetch | Retrieve full text for a specific published post ID. |
Recommended agent workflow
- Call
get_workspace_profileto load brand context. - Call
list_brand_profilesto check for saved profiles. - Call
validate_publishto preflight platforms, author, and image. - Call
publish_contentorschedule_campaignwithbrand_profile_id. - Call
check_content_statusorget_campaign_statusto track results.
SEO, AIO, and backlink weaving
Every generation call resolves SEO configuration in this order: explicit call arguments > brand profile > workspace defaults. Set defaults once on a brand profile (or the workspace) and every future publish_content and schedule_campaign call inherits them.
target_keywords: string array. Woven naturally into the post — no keyword stuffing.backlinks: array of{ url, anchor?, description?, rel? }. Userel="sponsored"for affiliate links,rel="nofollow"to suppress SEO signals,rel="ugc"for user-generated content.backlink_strategy:"natural"weaves inline where relevant,"reference"appends a Further reading list,"off"ignores backlinks for this call.max_backlinks: cap 0-10, default 3.aio_optimize: adds direct-answer intro, semantic H2s, and an FAQ section for AI crawlers.
Configure these once on a brand profile via create_brand_profile / update_brand_profile, and every downstream call inherits them automatically.
Authentication modes
Most MCP clients can send a bearer API key directly. Create one in Settings > API Keys.
Clients that require OAuth (for example ChatGPT connectors) use the Techne OAuth endpoints.
Claude Desktop example
{
"mcpServers": {
"techne": {
"url": "https://gnebwplgmrtcwboauvgi.supabase.co/functions/v1/mcp-server",
"headers": {
"Authorization": "Bearer tk_your_api_key_here"
}
}
}
}Cursor example
URL: https://gnebwplgmrtcwboauvgi.supabase.co/functions/v1/mcp-server Header: Authorization: Bearer tk_your_api_key_here
ChatGPT connector flow
- Add a new MCP connector in ChatGPT and use the Techne MCP URL.
- Sign in to Techne when the OAuth popup opens (or create an account).
- Click Approve. Techne mints a scoped API key named after the client (e.g.
ChatGPT, 2026-07-24), visible and revocable anytime in Settings > API Keys.
OAuth endpoints:
Authorization: https://gnebwplgmrtcwboauvgi.supabase.co/functions/v1/mcp-oauth-authorize Token: https://gnebwplgmrtcwboauvgi.supabase.co/functions/v1/mcp-oauth-token
OAuth discovery endpoints
https://gnebwplgmrtcwboauvgi.supabase.co/functions/v1/mcp-server/.well-known/oauth-protected-resource https://gnebwplgmrtcwboauvgi.supabase.co/functions/v1/mcp-server/.well-known/oauth-authorization-server https://gnebwplgmrtcwboauvgi.supabase.co/functions/v1/mcp-server/.well-known/openid-configuration
Useful prompt patterns
- "Validate that I can publish to Webflow with author 'Jane Smith' and Pinterest."
- "Create a brand profile called 'FlowDevs Voice' with professional tone and banned phrase 'synergy'."
- "Schedule a 5-post campaign about AI governance starting Monday, daily cadence, to Techne and LinkedIn."
- "Generate a post about visual content strategy and publish to Techne and Pinterest."
- "Check the status of my campaign — here are the content IDs."
- "Search my published posts about onboarding friction and fetch the top result."
Structured error format
All tool responses use a consistent envelope for predictable agent parsing:
// Success
{ "success": true, "data": { ... } }
// Error
{
"success": false,
"error": {
"code": "AUTHOR_NOT_FOUND",
"message": "No Webflow author found matching 'Jane'.",
"field": "author_name",
"suggestion": "Use list_authors to see available authors."
}
}Error codes: AUTHOR_NOT_FOUND, AUTHOR_AMBIGUOUS, IMAGE_REQUIRED, LIMIT_REACHED, INVALID_PLATFORM, DUPLICATE_DETECTED, NOT_FOUND, NO_WORKSPACE.
Related
For request/response details and status-code behavior, see the API Guide. For social setup details, see Social Publishing.
