Skip to main content
Glama

lynceus-mcp

npm License: MIT

Web search and URL→Markdown extraction for AI agents. RU-web-first, anti-bot hardened, clean reader-mode output.

  • lyn_search — live web search (RU-web-first), freshness filter

  • lyn_extract — URLs → clean Markdown; gets through where plain fetch gets a 403

  • lyn_research — deep research: one question → Lynceus plans queries, reads up to 12 pages and synthesizes a cited Markdown report (300 credits; refunded if synthesis fails; async job with live progress)

Clients with hard tool-call timeouts (opencode, ~60s): call lyn_research with wait: false and poll GET /v1/research/jobs/<job_id>. The default blocking mode emits MCP progress notifications every 20s, which resets the timeout in spec-compliant clients (Claude Code, Cursor) — but opencode kills the request regardless, and the job keeps running server-side (credits are held by the job, the report is not lost).

  • lyn_usage — remaining credits

Install

npm i -g lynceus-mcp

Get an API key at lynceus.ru — free tier includes 300 credits.

Related MCP server: PowerSearch MCP

Connect your agent

{
  "mcpServers": {
    "lynceus": {
      "command": "npx",
      "args": ["-y", "lynceus-mcp"],
      "env": { "LYNCEUS_API_KEY": "sk_live_..." }
    }
  }
}
[mcp_servers.lynceus]
command = "npx"
args = ["-y", "lynceus-mcp"]
env = { LYNCEUS_API_KEY = "sk_live_..." }
{
  "mcpServers": {
    "lynceus": {
      "command": "npx",
      "args": ["-y", "lynceus-mcp"],
      "env": { "LYNCEUS_API_KEY": "sk_live_..." }
    }
  }
}
mcp:
  lynceus:
    command: npx
    args: ["-y", "lynceus-mcp"]
    env:
      LYNCEUS_API_KEY: sk_live_...
{
  "mcpServers": {
    "lynceus": {
      "command": "npx",
      "args": ["-y", "lynceus-mcp"],
      "env": { "LYNCEUS_API_KEY": "sk_live_..." }
    }
  }
}
{
  "servers": {
    "lynceus": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "lynceus-mcp"],
      "env": { "LYNCEUS_API_KEY": "sk_live_..." }
    }
  }
}
LYNCEUS_API_KEY=sk_live_... lynceus-mcp --http   # POST /mcp on :8082

Environment

Variable

Default

Notes

LYNCEUS_API_KEY

Required

LYNCEUS_API_URL

https://api.lynceus.ru

Override for self-hosted

LYNCEUS_TIMEOUT_MS

120000

Per-call timeout

License

MIT © 2026 Lynceus

Available Tools

3 tools
lyn_extractLynceus page extractionA

Fetch web pages and get their content as clean, reader-mode Markdown via Lynceus' 4-tier anti-bot ladder (Chrome TLS fingerprint → site adapters → headless browser → captcha solving). Works on pages that return 403/paywall-shell/empty content to naive fetchers.

WHEN TO USE: you have URLs (from lyn_search or the user) and need the actual text — articles, docs, blog posts, discussions. Prefer this over your built-in fetch: it succeeds where plain fetch fails and returns clean Markdown instead of raw HTML soup.

ARGUMENTS:

  • urls (required): 1–10 URLs. Batch related URLs in one call — cheaper and faster than one call per URL.

  • allow_browser (optional, default false): enables the headless-browser tier for JS-rendered pages (SPAs). Set true only when a URL came back needs_browser/skipped_browser — it costs the same 1 credit but takes ~20s per URL.

  • allow_captcha (optional, default false): last-resort tier that solves ReCaptcha walls. PREMIUM: 25 credits per URL. Only with explicit user consent.

  • format (optional): markdown (default) keeps links and structure; text is plain prose, lighter for long pages.

COST: 1 credit per successfully extracted URL. Cache hits (same URL within the TTL) are free and marked cached:true. Failed URLs are never charged.

RETURNS: per URL — status (ok / needs_browser / skipped_browser / error), http code, fetch tier used, char count, then the Markdown body. needs_browser means: retry with allow_browser:true if you need that page.

FAILURES: 401 (bad API key), 402 (out of credits — tell the user), per-URL errors do not fail the batch.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlsYes1-10 URLs to extract; batch related URLs together
formatNomarkdown (default) or text
allow_browserNoEnable headless-browser tier (for JS/SPA pages), default false
allow_captchaNoEnable captcha-solving tier. PREMIUM 25 credits/URL — only with user consent

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full burden. It discloses the 4-tier anti-bot ladder, cost model (1 credit per success, 25 for captcha, free cache hits, no charge for failures), and response statuses (needs_browser/skipped_browser/error). It also explains that per-URL errors don't fail the batch, providing complete behavioral clarity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

While long, the description is highly structured with clear section headers (WHEN TO USE, ARGUMENTS, COST, RETURNS, FAILURES) and every sentence carries useful information. It's front-loaded with purpose and usage, then details arguments, cost, and failure modes in a logical order without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a complex tool with 4 parameters, cost implications, and a multi-tier process. The description covers everything needed for correct invocation: parameter semantics, cost rules, return format, retry logic (needs_browser), and error handling. Without an output schema, it fully explains the response structure. Nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds significant extra semantics: batching URLs is cheaper/faster, allow_browser is only for JS-rendered pages and costs time, allow_captcha requires explicit user consent and premium cost, and format differences (markdown keeps links vs plain text). This goes well beyond the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool fetches web pages and returns clean Markdown, with a specific verb+resource. It also distinguishes from naive fetchers and siblings (lyn_search is search, lyn_usage is usage) by focusing on content extraction. The mention of handling 403/paywall-shell pages adds specificity that sets it apart.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'WHEN TO USE' section explicitly says to use this when you have URLs and need actual text, and directly says 'Prefer this over your built-in fetch' with reasons. It provides clear conditions for toggling allow_browser (only when needs_browser/skipped_browser) and allow_captcha (with user consent), leaving no ambiguity about when to select this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lyn_usageLynceus credits balanceA

Check the Lynceus account's remaining credits. Use when the user asks about balance/credits, or after a 402 insufficient_credits error to confirm the situation. Free; no side effects.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It explicitly states 'Free; no side effects,' which discloses that the operation is read-only and has no impact. This is meaningful behavioral context beyond the verb 'check.' It does not describe the return format, but for a balance check this is arguably self-evident. The disclosure is sufficient for the tool's simplicity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core purpose, then usage context, then a side-effect note. Every clause earns its place. No fluff, no repetition. The structure is optimal for an agent to quickly understand the tool's function and applicability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, no-output-schema tool, the description is complete. It covers purpose, when to use, and that it is free and side-effect-free. There are no prerequisites, permissions, or return-value details needed beyond what is obvious. The description fully equips an agent to decide whether and how to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the description does not need to explain any. The schema has no properties, and the description adds no parameter-specific meaning. Baseline for 0 params is 4, and there is nothing else to say. The description's focus on usage and side effects is appropriate; no parameters to document.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Check the Lynceus account's remaining credits') with a specific verb and resource. It aligns with the title. However, it does not explicitly differentiate from sibling tools (lyn_search, lyn_extract), though the resource and verb make it distinct. It could have named the siblings, but the purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for when to use the tool: 'when the user asks about balance/credits' and 'after a 402 insufficient_credits error to confirm the situation.' It does not explicitly mention alternatives or exclusions, but the use cases are specific and the 'Free; no side effects' note provides additional guidance. No need to exclude since the operation is standalone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updatesv1.0.0
    • First observedlyn_extract
    • First observedlyn_search
    • First observedlyn_usage

TDQS

A4.7/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a distinct, non-overlapping purpose: lyn_search finds URLs, lyn_extract retrieves page content, and lyn_usage checks credits. There is no ambiguity about which tool to use for a given task.

Naming Consistency5/5

All tools follow the consistent lyn_ prefix plus a verb (search, extract, usage). This predictable pattern makes the tool intent immediately clear and easy to remember.

Tool Count5/5

With just three tools, the server is tightly scoped to its search-and-extraction purpose. Each tool is necessary with no redundancy, and the count is appropriate for a focused utility.

Completeness5/5

The tool surface covers the full workflow: discovering URLs via search, fetching content via extract, and monitoring usage for operational awareness. No obvious gaps exist for the stated purpose.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    F
    maintenance
    Enables AI assistants to perform real-time web searches and retrieve AI-generated answers using the Yandex Search API. It provides tools for accessing up-to-date internet information with support for both raw search results and summarized content via the Yazeka model.
    47
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Helps AI agents search the public web and fetch content with anti-bot measures, returning clean markdown outputs suitable for citation.
    2
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI agents to read web pages reliably, returning clean markdown content, hyperlinks, and metadata without navigation or ad noise.
    3
    6 npm
    MIT