Semlens MCP

Connect Semlens to your agent through a hosted Model Context Protocol server. Start with read-only checks, then let the request, Design Rule, account access, and your agent's own confirmation settings govern each workflow.

Remote HTTP endpoint. OAuth authentication. Read-first setup.

Hosted endpoint

Add this as a Streamable HTTP or remote HTTP MCP server in your agent. The hosted server handles Semlens authentication through the agent's OAuth flow.

https://agents.semlens.com/api/mcp

Protocol compatibility

Compatible clients automatically negotiate modern MCP 2026-07-28. Stateless legacy MCP 2025-11-25 remains available during the compatibility rollout.

Public discovery and tool-list metadata may be cached for five minutes, but the hosted endpoint still requires OAuth before it serves those requests. Clients with multi-round-trip support can answer a bounded clarification inside an ambiguous Board request; other clients receive the same clarification as a normal tool result and can retry.

curl -X POST https://agents.semlens.com/api/mcp \
  -H "Authorization: Bearer ${SEMLENS_MCP_ACCESS_TOKEN:?set a short-lived token}" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  --data '{"jsonrpc":"2.0","id":1,"method":"server/discover","params":{}}'

Prefer your client's managed OAuth flow. The manual diagnostic reads a pre-set short-lived environment variable so a token is not written into shell history; command arguments may still be visible to local processes. HTTP 401 is expected when the token is missing or invalid. Never extract a managed client token or paste a real token into support messages or documentation.

Normal setup includes native project editing. Requested source and sidecar saves use current permissions and exact versions directly. Preview-before-save is optional; capture/export and private results use explicit jobs. Full executable check remains unsupported; static lint covers selected HTML only. Social publishing is separate.

Quick start

  1. Add the server

    Use Semlens MCP as the server name and paste the hosted endpoint as the URL.

  2. Authenticate

    When your agent asks, sign in and approve the connection. It uses your current account-wide access and workflow permissions from Account > Agent.

  3. Test safely

    Run read-only checks first so the agent proves it can inspect context without editing anything.

Client setup

Codex setup

  1. Open Codex settings, then choose MCP servers.
  2. Add a server named semlens-mcp.
  3. Choose Streamable HTTP and paste the hosted endpoint.
  4. Save, restart if Codex asks, then choose Authenticate.
  5. In Codex, use /mcp to confirm Semlens MCP is connected.
[mcp_servers.semlens-mcp]
url = "https://agents.semlens.com/api/mcp"
auth = "oauth"
default_tools_approval_mode = "writes"
tool_timeout_sec = 120
enabled_tools = [
  "inspect_mcp_capabilities",
  "inspect_mcp_authorization_status",
  "inspect_rules",
  "inspect_news_board_source_catalog",
  "inspect_news_board_story_targets",
  "inspect_news_board_story",
  "inspect_news_board_story_research",
  "inspect_news_board_story_factual_research",
  "validate_news_board_story_research",
  "validate_news_board_story_factual_research",
  "save_news_board_story_research",
  "save_news_board_story_factual_research",
  "append_news_board_story_research_media",
  "inspect_uploaded_assets",
  "import_uploaded_assets_from_urls",
  "inspect_brand_kit",
  "import_brand_assets_from_urls",
  "inspect_studio_generation_capabilities",
  "quote_studio_generation",
  "list_native_projects",
  "inspect_native_project",
  "inspect_native_project_read_target",
  "read_native_project_files",
  "inspect_native_project_history_health",
  "lint_native_project_html",
  "read_native_project_imported_asset",
  "create_native_project",
  "open_native_project",
  "save_native_project_files",
  "read_native_project_sidecars",
  "save_native_project_sidecars",
  "import_native_project_asset",
  "list_native_project_catalog",
  "install_native_project_catalog",
  "preview_native_project_candidate",
  "inspect_native_project_candidate",
  "cancel_native_project_candidate",
  "save_native_project_candidate",
  "export_native_project",
  "inspect_native_project_job",
  "cancel_native_project_job",
  "inspect_native_project_result",
  "check_native_project",
  "inspect_native_speech_configuration",
  "quote_native_project_speech",
  "submit_native_project_speech",
  "inspect_native_project_speech",
  "cancel_native_project_speech",
  "verify_native_project_speech",
  "apply_native_project_speech",
  "retrieve_native_project_speech_audio",
  "recover_native_project_speech_intent",
  "prepare_native_project_media_upload",
]

This config includes native projects and image capability inspection and quotes. Image execution uses authenticated CLI calls or full-profile discovery. Native Studio also has its own image-generation UI. GPT Image 2 is the supported MCP model; Nano Banana selection and retries are retired. Historical outputs remain readable. Remove the enabled_tools allowlist only when you need the complete tool surface.

Claude setup

  1. In Claude Code, add Semlens MCP as a remote HTTP MCP server.
  2. Run the command below, then use Claude's MCP menu to authenticate when prompted.
  3. Confirm Semlens MCP appears in the connected server list before asking it to inspect your workspace.
claude mcp add --transport http semlens-mcp \
  https://agents.semlens.com/api/mcp

Agent setup prompt

Some agents can consume a markdown setup prompt directly. Use this companion page when you want the agent to read the endpoint, bundled skill path, first safe checks, and approval rules in one copy-friendly document.

https://semlens.com/docs/mcp/prompt.md

The prompt and this page describe the same hosted setup. Use either the Semlens plugin or manual MCP configuration; do not install both for the same server.

CLI diagnostics

Use the Semlens CLI when you want terminal diagnostics, setup snippets, or update checks. You do not need the CLI to connect: the hosted MCP endpoint above is the canonical path.

mcp doctor is the single setup and endpoint preflight. Confirm authentication through your agent's MCP panel and a read-only Semlens inspection.

npm exec @semlens/cli@latest -- mcp doctor
npm exec @semlens/cli@latest -- mcp doctor --client codex
npm exec @semlens/cli@latest -- mcp repair codex
npm exec @semlens/cli@latest -- mcp setup codex
npm exec @semlens/cli@latest -- mcp setup codex --profile full
npm exec @semlens/cli@latest -- mcp setup claude

Tool-manifest changes require a restart, reconnect, or new agent task so the client rediscovers tools; they normally do not require OAuth again. Replacing a legacy endpoint may require authentication for the canonical endpoint. Neither action grants write access.

Optional global install

Use the no-install commands above when you just want the latest CLI. If you prefer a persistent terminal command, install it globally and run semlens directly.

npm install -g @semlens/cli
semlens mcp doctor
semlens mcp doctor --client codex
semlens mcp repair codex
semlens mcp setup codex
semlens mcp setup codex --profile full
semlens mcp setup claude

Plugin setup

A Semlens plugin is an alternative to manual MCP setup. It uses the same hosted endpoint, OAuth flow, write-approval defaults, and workflow guidance.

If a Semlens plugin is not available in your agent yet, use the manual setup above. Plugins make setup feel native, but they stay thin: the MCP server remains the capability source of truth.

First successful prompts

These prompts are intentionally read-first. They should prove that the agent can inspect Semlens without changing your saved research or account assets.

Check my Semlens MCP authorization status and explain what you can inspect.
Inspect my effective Design Rule and explain which instructions are enabled.
Inspect my Brand Kit and uploaded asset metadata without making changes.

Expected result: the agent can explain the connection, find Brand Kit and uploaded asset metadata before suggesting a next step.

Design Rule

Account > Agent > Design Rule is the canonical place to control Design creation instructions. Connected-agent Research uses the fixed Research contract while your personal agent applies its own research skills and methods.

Semlens returns the private story, current package, immutable contract, quality requirements, and freshness fields. The agent submits one complete package covering Facts, Angles, and Caveats. Facts owns citations and original-source attribution; partial section validation and saves are retired. Historical research remains readable from its saved data.

Angles produces meaningfully different, evidence-supported premises, grounded pulls, and high-level visual guidance. It does not treat headline rewrites as new angles, invent pulls, or choose an exact template.

Research packages are text-only. Image discovery, uploaded visuals and standalone image generation use separate operations.

Facts owns claim-level citations and original-source attribution. Citation notes identify what each source supports and disclose freshness, corrections, conflicts, interests, or weak evidence without treating popularity as verification.

Caveats records only unresolved material publication risks as concise publishing guardrails. It covers accuracy, freshness, conflicts, missing context, source limitations, rights, privacy or harm, misleading simplification, and audience-representation limits without treating boilerplate warnings as a substitute for sound research.

Native project creation from Research is not connected yet. Research contains no saved image candidates; uploaded assets and standalone image generation use separate operations.

Board list tools include deterministic signalNotes as compact triage labels, and story-detail tools include the full notes under storyMetrics. Reddit lane, rank, and observed activity context remain bounded secondary evidence; RSS may have no signal notes. Treat these indicators as prioritization context, not verification of the underlying claims.

Skills and plugins may teach an agent when to inspect the Design Rule, but they are optional adapters rather than its instruction source of truth. If the Design Rule changes during a creation workflow, the agent must inspect it again before creating a design.

Board follows

Agents with paid Board access can inspect the same account-wide topics and sources as the Add Feed interface. Categories remain navigation-only. Following and unfollowing additionally require the account's Read & write authorization under Account > Agent. Catalog results include canonical topic-operation and direct-source targets.

Following a topic adds direct follows for its current active sources; it does not persist inherited topic membership. Unfollowing a topic removes direct follows for those current sources, while unfollowing one source removes that direct source only. Repeating the same operation is a successful no-change result.

Follows are account-wide rather than board-specific. A Home feed reads the same canonical follows whether they were created in Semlens or through MCP; external agent changes appear on the next normal Home refresh. The CLI remains a setup, discovery, and compatibility helper and does not add standalone follow commands.

Direct Reddit sources

Subreddits do not need a curated catalog entry. Use add_news_board_feed with a reddit_source_lane config, a lowercase subreddit name as sourceKey, its r/name label, a hot, new, or rising lane, and empty strings for topicPath and topicLabel.

Include a UUID requestId for each intentional Add and reuse it when retrying that request. A new ID permits another independent copy of the same feed. Adding a direct feed also follows that source; repeated follows do not consume another admission. There is no total board, feed, or follow cap, but new-source rate limits still apply. Inspect the feed with stories included, or refresh it, to read sourceStatus. Pending means the first update is still awaited, not that Reddit access has been confirmed. Provider restrictions can leave a saved source inaccessible. Source selections and boards remain private.

Board Lists

Private Board Lists group direct RSS and Reddit sources without changing Following or Home. Inspect Lists first, then copy canonical source targets from the source catalog when creating a List or changing its membership.

Use inspect_news_board_lists for bounded List and member summaries. Its addFeedConfig can be passed directly to add_news_board_feed; repeated List feed columns share the same current membership while keeping distinct feed instances. List writes require Read & write access and eligible paid Board access.

Research tools

For Board research, your connected agent uses its own permitted web, search, or browser tools to verify public reporting and find public comments and videos. Semlens MCP handles private story inspection, research validation and owner-scoped saved research.

Research this Board story with Semlens MCP and save one complete Research package after verifying the public evidence:
[Paste the exact story title or public URL]

Semlens MCP does not provide general web search. If the agent's external research tools are unavailable, it should say that the story was not independently corroborated, use the contract's quality evidence for unavailable responsibilities, and never invent sources or results.

Give the agent the exact story title or public URL. The agent discovers one unambiguous story, inspects its current complete package and fixed contract, and asks for clarification when the match is ambiguous.

For factual preservation without creative work, the agent can inspect, validate, and save a separate lightweight factual Research artifact containing one headline, short excerpt, and original source. It does not require filler Angles, does not create a design, and is not a partial section save. Expanding it into complete Research still requires the full package and validator described below.

For a fresh story, the agent fills the inspected packageSkeleton, validates it with validate_news_board_story_research, saves with null expectedUpdatedAt and packageFingerprint plus the returned freshness token, then inspects again to verify readback. A stale response means re-inspect and rebuild from the newest package before retrying.

Connected Research uses the fixed Facts, Angles, and Caveats responsibilities. Facts owns citations and original-source attribution. Agents save all three as one complete package; partial section validation and section saves are retired. Native project creation from Research is not connected yet.

“Find images” is not a Research write. The agent must use the appropriate asset or image generation workflow without adding image candidates to the saved Research package.

“Research this story” authorizes research and self-review. It saves when authorization inspection reports Save research available. Replacing materially different saved research requires explicit approval.

Your MCP client may still show its own confirmation prompt.

Permissions

Starter profile

You control AI access.

Choose Read only to inspect without changes, or Read & write as the master gate for account-owned MCP writes. Save research and account asset changes retain their workflow gates. Account permissions alone do not identify the native project or publishing tools registered in the current connection; inspect live capabilities and operation permissions. You can change or revoke access under Account > Agent.

These settings are durable eligibility guardrails, not task requests. The user still needs to request the action. Publishing always requires explicit approval for the specific publication, and the connected client may show its own confirmation. Plan limits and required external connections still apply.

Do not send credentials or billing details to an agent. Registered native tools can read owned projects under current account and project access. Opening a project requires Edit existing designs. Creating a project requires Create initial draft; direct file and sidecar saves and optional candidate preview and save require Edit existing designs. Capture, export and private results use explicit jobs and Export files permission. Those jobs do not publish content; gallery preview publication is a separate action.

If a capability is blocked, use Account > Billing or the live Pricing page for billing, Account > Agent for access or workflow permissions. Publishing connection setup and reconnection are currently unavailable. Preserve completed work and stop if a publishing connection is required. Semlens agents should preserve completed work and never quote prices or recommend a plan.

Troubleshooting

Codex rejects a tool because approval is required but its policy is never.

Keep default_tools_approval_mode="writes" for interactive Codex: client-side prompts for mutations are separate from Semlens account/workflow permissions. If Codex reports "MCP tool call requires approval, but approval policy is never", the client rejected the call before Semlens. For explicitly authorized unattended work, review only the exact tool exceptions; never blanket-approve the server. Keep publishing and destructive actions separately prompted and authorized. Manual server exception syntax: [mcp_servers.semlens-mcp.tools.<authorized-tool>] with approval_mode="approve". Plugin overrides use [plugins."<installed-plugin-id>".mcp_servers.semlens-mcp.tools.<authorized-tool>]; use the host-reported plugin ID, not a second manual connection. Saved top-level/profile/per-tool settings do not prove loaded policy. CLI overrides, trusted project config and managed requirements may differ. Use supported client session information; never infer that a later config edit caused recovery or automatically reconnect, repair approval settings, or retry writes.

Publishing requires a connection or reconnection.

Publishing connection setup and reconnection are currently unavailable. Preserve completed work and stop if a publishing connection is required.

The agent says Semlens MCP is not authenticated.

Open the MCP server list in your agent, choose Semlens MCP, and run its Authenticate or login action again.

The agent can inspect, but cannot make changes yet.

Open Account > Agent. Read & write is the master gate. Saving research and account asset changes also require their current workflow permissions. Native source and sidecar edits save directly under current permissions. Candidate preview is optional; capture/export and private results use explicit jobs. Social publishing remains separate.

One workflow is disabled while other writes still work.

Open Account > Agent and enable the named workflow permission. Completed work should remain available; ask the agent to recheck authorization before continuing.

The agent says a capability requires billing.

Open Account > Billing or view the live Pricing page. Completed research or drafts should remain available. After access changes, ask the agent to recheck authorization and fresh workflow state instead of starting over.

The agent cannot edit or export a native project.

Native source and sidecar edits save directly under current permissions. Candidate preview is optional; capture/export and private results use explicit jobs. Social publishing remains separate. Use capability discovery to inspect the current supported operations.

A tool name or setup instruction looks different from this page.

Use this page as the source of truth. If you installed a Semlens CLI, plugin, or skills package, update it from Semlens before trying again.

Codex cannot load a stale Semlens MCP config.

Run `semlens mcp doctor --client codex`, then preview the bounded repair with `semlens mcp repair codex`. The bounded default includes native editing; `--profile full` is optional for other registered workflows. Nothing changes unless you rerun with `--apply`.