Niche
New run

Integrations & Getting Started

Sign up. Run.
Or plug an agent in.

Niche is the editorial intelligence MCP for individuals — two surfaces over the same engine. A human-facing content desk for creators, and a 20-tool MCP server for AI agents (Claude Desktop, Claude Code, Cursor, your own custom agent). Signal → angle → draft → render → publish, with verifier-checked claims and source provenance on every output. This page walks both audiences end-to-end.

Niche is a desk: signal in → story pick → angle pick → platform-native content → review → publish. The desk picks the story and the angle before writing, so you spend your attention on judgment, not drafting. Every output carries a trust block — verifier audits, source faithfulness, provenance.

Same engine, two surfaces. The web app at nicheangle.com/desk is the human-facing version; the MCP server at nicheangle.com/api/mcp is the agent-facing version. Both share your brand profile, voice profile, credit balance, and audit trail.

For users

Your first run, in three minutes

Sign up at nicheangle.com/login. Three days, 1,500 credits, no card. That covers about nine typical runs — enough to know if Niche fits your beat.

From /desk, type a niche in two to five words (“strength training for beginners over 40” beats “fitness”). Pick at least one platform. Hit Run the desk.

Niche composer at /desk — niche input field with platform checkboxes and a Run the desk button
The composer at /desk. Two to five words is the sweet spot.

The pipeline runs four checkpoints. At CP1, pick from five to seven story candidates. At CP2, pick the angle (contrarian, analytical, or the underrated read). At CP3, review and edit drafts inline. Nothing publishes until you press File.

CP1 story selection — five to seven candidate story cards with sources, tags, and an Open button
CP1 — pick the story. Each card shows sources, tags, and a one-line summary.

Set your brand kit

The brand kit threads visual + voice identity through every render. Drop a URL or a folder of files at /brand-kit — Niche extracts palette, fonts, logo, tagline, and voice notes in one pass. Inline- editable once it lands.

Brand kit page showing the URL ingest input, file drop zone, and extracted brand fields below
/brand-kit — drop a URL or files, edit any field inline once the ingest engine finishes.

Studio and Operator tiers support multiple brand kits. The composer shows a brand picker when you have more than one; the pipeline threads the chosen brand through signal discovery, draft generation, and render.

Train a voice profile

The voice profile is how Niche writes like you. Paste 3-5 posts you've written at /voice — Niche extracts tone words, audience context, and a banned-phrases list. Threaded into every draft call thereafter.

The voice profile and the brand kit are independent layers. Brand kit = visual + boilerplate + signature phrases. Voice profile = the writer's actual style. A multi-author team uses one brand kit and multiple voice profiles.

For agents

Install the MCP server

Niche exposes a Model Context Protocol (MCP) server at https://nicheangle.com/api/mcp. Any MCP-aware agent — Claude Desktop, Claude Code, Cursor, or your own — drives the full editorial pipeline through the same 15 tools.

Step one: issue a Personal Access Token at /settings/api-keys. Tokens are shown once at creation; rotate or revoke from the same page. Operator-tier accounts see per-PAT credit-burn telemetry so a runaway agent loop is detectable before it drains your balance.

Claude Code

claude mcp add --transport http niche https://nicheangle.com/api/mcp \ --header "Authorization: Bearer niche_sk_YOUR_TOKEN"

Claude Desktop

In ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows), add:

{ "mcpServers": { "niche": { "transport": "http", "url": "https://nicheangle.com/api/mcp", "headers": { "Authorization": "Bearer niche_sk_YOUR_TOKEN" } } } }

Restart Claude Desktop. The 15 tools appear in the tool picker.

Cursor

In Cursor's MCP settings, add a new server with URL https://nicheangle.com/api/mcp and bearer auth with your PAT. Cursor uses the same MCP protocol as Claude Code; the same tools light up.

Discovery

RFC-style discovery is at /.well-known/mcp.json. The response carries the canonical MCP URL, auth scheme, and protocol version so agents that support discovery probes can find the surface without a pre-known path.

15-tool reference

Workflow tools, not REST primitives. Each returns structured intelligence (judgment fields + provenance + trust metrics), not text blobs. Grouped by the lifecycle stage they belong to:

Discovery

niche_signal_scan
Start a run. Takes a niche string + optional brand_id; returns a session_id.
niche_session_state
Poll for state. Sparse by default — only the fields you ask for. Returns full state at terminal checkpoints.
niche_list_sessions
Find a session by niche text or recent activity if you lost the session_id.

Angle

niche_angle_propose
Generate 3 frame-aware angles for a picked story. Returns hooks, tensions, CTAs, plus a recommended_angle_id scored against your brand profile.
niche_angle_explore
Cross-explore — regenerate angles with an alternate frame keyword. Cheaper than a full re-scan when the first set didn't land.

Draft

niche_draft_create
Produce platform-native content for a picked angle. LinkedIn / X / longform / Instagram — multi-platform in one call.
niche_draft_revise
Patch any subset of fields on a draft (hook, caption, hashtags, slide text). Returns the updated content + a diff.
niche_draft_publish
Ship to a connected social account. dry_run=true by default; commit requires explicit second call. Verifier blocks override dry-run state.

Brand

niche_brand_profile_set
Persist or update editorial discipline — voice rules, lexicon, framing allowlist, verifier overrides, source preferences.
niche_brand_profile_get
Read the active profile or list profiles for the authenticated user.
niche_brand_profile_template
Return the schema template so agents can fill it in step-by-step rather than guessing field names.

Brand kit

niche_brand_kit_ingest
Pull palette, fonts, logo, tagline, voice notes from a URL or dropped files. Vision-classified and merged into the kit.
niche_brand_kit_update
Inline-edit any kit field (color hex, tagline, signature/forbidden phrases, endcard preferences).
niche_brand_kit_guided_setup
Return an intent-shaped question chain for first-touch setup. The agent walks the user through brand setup in natural conversation.
niche_voice_profile_ingest
Extract a voice profile from posts the user wrote — tone words, audience context, banned phrases.

A typical agent run

The five-call shape that covers most workflows. Brand-binding is optional but recommended — the pipeline threads the brand profile through every stage when you set it.

# 1. Optional: bind a brand profile so voice/lexicon/framing thread through niche_brand_profile_set(brand_id="mybrand", profile={...}) # 2. Start the scan niche_signal_scan(niche="ai policy and platform economics", brand_id="mybrand") # 3. Poll until CP1 ready, then propose angles for a picked story niche_session_state(session_id="...") niche_angle_propose(session_id="...", story_id="...") # 4. Pick an angle, draft, then publish (dry_run=true is the default) niche_draft_create(session_id="...", angle_id="...") niche_draft_publish(session_id="...", platform="linkedin", dry_run=true) # 5. After human confirms the dry_run output, commit niche_draft_publish(session_id="...", platform="linkedin", dry_run=false)

Every tool response carries a trust block — verifier audits with severity, source faithfulness scores, ungrounded-claim lists, diversity and recency checks, brand-conflict flags. Agents should read the trust block before passing output downstream.

Troubleshooting

The most common errors and what they mean. Each answer is structured the way an agent would surface it back to a user.

What does a 401 from the MCP server mean?

Your PAT is invalid, expired, or revoked. Issue a new one at /settings/api-keys and reinstall the MCP server with the new token. PATs are shown once at creation; rotate proactively if it might have been leaked.

What does a 402 from the MCP server mean?

Insufficient credits. The pre-action estimate exceeded your available balance. Top up at /settings/usage (5K/10K/20K packs) or upgrade your plan. Failed runs are refunded automatically, so 402 only fires when you genuinely don't have the budget for the estimated worst-case run.

What does a 429 from the MCP server mean?

Rate-limited. Either your PAT hit its per-minute request cap (default 60 req/min, configurable on Operator), your hourly credit-burn cap (default 2,000 credits/hour), or your plan's concurrent-session cap (Free/Creator = 1, Studio = 3, Operator = 10). The error body includes scope + retry_after_sec so the agent can back off correctly.

Why is my brand profile not affecting the output?

Either the session was started without brand_id, or the brand_id was unknown. Pass brand_id= explicitly on niche_signal_scan, or set a default brand at /settings — the pipeline picks the default when brand_id is omitted. Use niche_brand_profile_get to confirm the profile is persisted.

Why are my image card renders coming back blurry?

Standard image cards render at gpt-image-2 medium quality. If you need cinematic polish for a hero asset, opt into premium quality at CP3 (the toggle next to the render button) — that routes to Gemini 3.1 Flash. Premium image cards cost 100 credits vs 30 for standard.

Why does the agent see different content than I do in the web app?

Both surfaces call the same backend. If you see a mismatch, the most common cause is the agent is reading a stale session_state cache — call niche_session_state again to force a refresh. The web UI auto-refreshes on visibility changes; the agent has to poll.

Trust + safety

Publish defaults to dry_run=true; the commit step requires an explicit second call. Verifier-blocked drafts refuse to publish regardless of dry-run state — the trust block is enforcement, not advisory. Per-PAT credit-burn limits cap how fast a runaway agent loop can drain your balance. Token revocation at /settings/api-keys is instant.

Questions? Email hi@nicheangle.com — first reply within one business day.