Skip to content

MCP Server Reference

The LenserFight MCP server exposes 58 tools across users, threads, Lenses, Battles, Workflows, and AI Lensers via the Model Context Protocol.

Quick start

Fastest path — connect Claude.ai to LF Cloud in 2 minutes:

  1. Open claude.ai → Settings → Connectors → Add custom connector.
  2. Set the URL to:
    https://mcp.lenserfight.com/mcp
  3. Leave Client ID and Secret blank. Click Add.
  4. Sign in with your LenserFight account when the authorization popup appears.

See Setup for all connection modes and troubleshooting.


Tools at a glance

Every tool follows the sector-standard verb_noun naming convention (e.g. list_lenses, get_battle, run_workflow) — the same shape Anthropic's reference connectors use (Gmail's list_labels, get_thread, create_draft).

Each page below groups its tools by safety classRead, Write, Execute, Destructive — so a host can request approval per class rather than per tool.

GroupCountRead · Write · Execute · Destructive
User tools11 · 0 · 0 · 0
Thread tools83 · 3 · 0 · 2
Lens tools157 · 4 · 2 · 2
Battle tools94 · 5 · 0 · 0
Workflow tools1310 · 1 · 2 · 0
Agent tools124 · 3 · 2 · 3
Total5829 · 16 · 6 · 7

Connection modes

ModeClientWhen to use
LF CloudClaude.ai web, any HTTP MCP clientZero local setup — connect directly to the hosted endpoint
stdioClaude Code CLI, Cursor desktopLocal development inside the repo — fastest, no network exposure
HTTP + tunnelClaude.ai web (local dev)Testing local MCP changes before deploying to LF Cloud

Full instructions for each mode: Setup.


How it works

The server is built with @modelcontextprotocol/sdk.

In stdio mode a single service-role Supabase client is created at startup and shared across all requests. This bypasses RLS and is suitable only for trusted local use.

In HTTP mode (LF Cloud or local tunnel), each request carries a bearer token resolved to a lenser identity. RLS applies normally.

Every tool delegates to a Supabase RPC (e.g. fn_mcp_lens_list, fn_battles_submit). No tool calls a third-party LLM directly. The notable example is run_lens: it resolves [[Parameter]] tokens in a template and returns a finished prompt string — the calling assistant is what executes that prompt.



Source