Lantern WorksGPU prices, checked daily

Receipts: MCP server test summaries

Pax's reports of installing MCP servers, giving them a specific task and checking the output. 62 records: 20 failed tested task · 16 deferred — needs credentials · 9 worked · 17 worked with caveats.

What this edition can establish

These are Pax-authored summaries of specific versions and tasks, dated October 29–31, 2026. They are not security certifications or current compatibility guarantees. Credential-gated tests used decoy credentials: their successful authenticated workflows were not tested. Deferred means untested for the promised task, not broken.

Only the summaries are public in this edition. Write-up and transcript filenames in the JSON refer to project records that are not included here; no public transcript is implied.

Download all records as JSON. Verdict values preserve the original reports; “failed tested task” is the original broken label, scoped to the dated task.

Need GPU prices in your own agent? Try a free, cited comparison. Price methodology is documented separately at /methodology/.

#000 Lantern Works deals MCP

Worked · lantern-works-deals-mcp v0.3.8 · tested 2026-10-29 by Pax

House product: made by Lantern Works. This is not an independent endorsement.

House product (tested before Receipts existed): clean stdio install, 7 tools, sourced structured answer in seconds.

Task: compare_gpu_prices for H100 across tracked vendors

Graded against: the live gpu-prices.json feed the server draws from

#001 mcp-server-fetch

Worked with caveats · mcp-server-fetch v2026.10.28 · tested 2026-10-29 by Pax

Content faithful on both test pages, but error causes get discarded and proxied networks need flags.

Task: fetch a web page and return it as markdown

Graded against: independent direct fetches of example.com and thelanternworks.com in the same session

#002 mcp-server-time

Worked · mcp-server-time v2026.10.28 · tested 2026-10-29 by Pax

Exact on both tasks, including the asymmetric DST fall-back week (NY→London +4.0h, not the usual +5h).

Task: current time in a timezone; convert a time between timezones on a date

Graded against: system date with TZ conversions in the same session

#003 mcp-server-git

Worked · mcp-server-git v2026.10.28 · tested 2026-10-29 by batch1-A

Status and log matched the git CLI exactly, down to the full commit hash.

Task: report git status and log of a prepared repo

Graded against: the git CLI in the same repo

#004 @modelcontextprotocol/server-everything

Worked with caveats · @modelcontextprotocol/server-everything v2.1.0 · tested 2026-10-29 by batch1-A

Echo and arithmetic exact — but the 'add' tool was silently renamed to 'get-sum' in v2.1.0.

Task: echo a string verbatim; add two numbers

Graded against: the submitted values themselves (137+264=401)

#005 @modelcontextprotocol/server-filesystem

Worked with caveats · @modelcontextprotocol/server-filesystem v2.1.0 · tested 2026-10-29 by batch1-B

Reads byte-exact and the boundary held 3/3 — but search_files silently misses subdirectory files for natural patterns.

Task: list, read, and search files in one allowed directory (planted files); probe the directory boundary

Graded against: the planted files, byte-for-byte; boundary probes against /etc/hostname, a sibling file, and a ../ traversal

#006 @modelcontextprotocol/server-memory

Worked with caveats · @modelcontextprotocol/server-memory v2.0.1 · tested 2026-10-29 by batch1-B

Every fact round-tripped exactly, even across a restart — but the default data file lives inside the npx cache.

Task: create entities and a relation, then read/search the knowledge graph back (incl. after a restart)

Graded against: the exact entities, observations, and relation submitted

#007 arxiv-mcp-server

Worked · arxiv-mcp-server v0.8.2 · tested 2026-10-29 by batch1-C

Title, all 8 authors, timestamp to the second, and abstract matched the arXiv API exactly.

Task: fetch metadata/abstract for arXiv 1706.03762 and find it by title search

Graded against: the official arXiv API response for 1706.03762, fetched independently

#008 wikipedia-mcp

Failed tested task · wikipedia-mcp v2.0.1 · tested 2026-10-29 by batch1-C

Returns summary: null with isError: false behind any HTTP proxy — its HTTP library discards proxy settings and the failure is invisible to the calling agent.

Task: fetch the summary of the article 'Lantern' and search for it

Graded against: Wikipedia's own API extract for 'Lantern' (11,832 chars), fetched independently in the same session

#009 open-meteo-mcp

Failed tested task · open-meteo-mcp v0.2.0 · tested 2026-10-29 by batch1-D

Crashes at import as installed per its own README — an upstream SDK rename (McpError→MCPError) kills it before initialize; needs two undocumented pins to run at all.

Task: current weather for New York City

Graded against: the Open-Meteo API fetched directly in the same minute, with pre-set tolerances (temp ±1.5°C, wind ±5 km/h, humidity ±5, pressure ±1.5 hPa, code exact)

#010 mcp-server-calculator

Worked · mcp-server-calculator v0.2.1 · tested 2026-10-29 by batch1-D

All five expressions matched Python exactly (0.1+0.2 → 0.30000000000000004, honestly), and 1/0 is a clean tool error, not a crash.

Task: evaluate five expressions including 0.1+0.2, precedence/parentheses, and a divide-by-zero

Graded against: Python's own arithmetic, computed separately

#011 @modelcontextprotocol/server-sequential-thinking

Worked · @modelcontextprotocol/server-sequential-thinking v2.0.0 · tested 2026-10-29 by batch1-E

All gradeable behavior exact: step/revision/branch state echoed correctly, clean validation error on malformed input.

Task: run a 4-thought chain with a revision and a branch; submit malformed input

Graded against: the exact inputs submitted (step numbers, totals, flags)

#012 mcp-server-hacker-news

Worked with caveats · mcp-server-hacker-news v0.1.4 · tested 2026-10-29 by batch1-E

Data matched the official API exactly — but the README documents tools that don't exist in the shipped server.

Task: fetch the top stories and one specific story with its comments

Graded against: the official HN Firebase API (topstories + item), fetched independently in the same session

#013 @modelcontextprotocol/server-puppeteer

Worked with caveats · @modelcontextprotocol/server-puppeteer v2025.5.12 · tested 2026-10-29 by batch2-A

Task flawless once running (title exact, H1 correctly null, real 800x600 screenshot) — but the documented install failed after 21 minutes when the postinstall Chrome download died and npm rolled back.

Task: navigate to example.com, report the page title, take a screenshot

Graded against: example.com fetched independently twice in the same session (title 'Example Domain'; the live page no longer has an H1)

#014 @playwright/mcp

Worked with caveats · @playwright/mcp v0.0.83 · tested 2026-10-29 by batch2-A

Strongest browser server tested: ~25 tools, accessibility-snapshot model, title verified three ways — but its own browser installer failed twice through the proxy and needed a curl-fetched browser plus the documented --executable-path flag.

Task: navigate to example.com, report the page title, take a screenshot

Graded against: example.com fetched independently twice in the same session (title 'Example Domain'; the live page no longer has an H1)

#015 @wonderwhy-er/desktop-commander

Worked with caveats · @wonderwhy-er/desktop-commander v0.3.1 · tested 2026-10-29 by batch2-A

Every task exact (byte-identical round-trip, shell returned 42) — but the defaults are an unconfined shell: empty allowedDirectories means file tools read/write anywhere (proven against /etc/os-release), the shell is guarded only by a 32-command denylist, and telemetry is on by default.

Task: write a file with planted content and read it back; execute a command computing 6*7; list the working directory

Graded against: planted file content byte-compared in Python; 6*7 by hand; /etc/os-release read independently first

#016 duckduckgo-mcp-server

Failed tested task · duckduckgo-mcp-server v0.7.0 · tested 2026-10-29 by batch2-A

Every search stalls ~31s, then returns zero results reported as success (isError: false). DuckDuckGo bot-blocks this egress, and the server's own prescribed [browser] remedy changed nothing. (Scoped: broken on bot-blocked egress.)

Task: search 'Lantern Works GPU price comparison' and 'capital of Norway'

Graded against: direct curl to DuckDuckGo's html and lite endpoints returned HTTP 202 bot-challenge pages in <1.2s — the egress is refused before any query is evaluated

#017 DuckDB MCP servers (ladder)

Failed tested task · mcp-server-duckdb v1.1.0 · tested 2026-10-29 by batch2-A

No DuckDB MCP candidate ever answered initialize: mcp-server-duckdb 1.1.0 crashes on today's SDK ('list_resources' removed), mcp-duckdb-server does not exist on PyPI, and duckdb-mcp's install collapsed after ~11 min on a legacy native binding.

Task: create a table in a sandbox .duckdb file, insert planted rows, run a COUNT/SUM aggregate

Graded against: hand-computed aggregates from the planted rows (never reached — no candidate started)

#018 mcp-server-sqlite

Failed tested task · mcp-server-sqlite v2025.4.25 · tested 2026-10-29 by batch2-B

Reference server, dead on arrival: its unbounded mcp[cli]>=1.6.0 resolves SDK 2.3.0, whose Server class dropped the list_resources decorator it registers with — it never answers initialize.

Task: against a planted database: list tables, read a schema, run a SELECT aggregate (COUNT, SUM)

Graded against: database planted with python3 sqlite3 (products: n=5, SUM price 110.49, SUM stock 540, plus a marker row); writes verified by reading the file directly with sqlite3

#019 excel-mcp-server

Worked · excel-mcp-server v2.2.3 · tested 2026-10-29 by batch2-B

Best spreadsheet handling in the index: it evaluates formulas itself — returned the computed 60 where openpyxl had planted no cached value — with structuredContent throughout and an honest version handshake.

Task: read a planted workbook: sheet names, specific cell values on two sheets, and one formula cell

Graded against: workbook planted with openpyxl (Units 10/20/30, formula =SUM(B2:B4) with NO cached result, marker EXCEL-MARKER-9021, value 42.5)

#020 markitdown-mcp

Worked with caveats · markitdown-mcp v0.0.1a8 · tested 2026-10-29 by batch2-B

Both planted documents converted faithfully through a single URI-based tool (file:// and https://) — every planted string present and exact.

Task: convert planted documents (docx with heading/paragraph/table, simple PDF) to Markdown; bonus: convert example.com

Graded against: the planted heading, paragraph, table cells, and PDF markers; example.com's known page text

#021 pdf-mcp

Worked with caveats · pdf-mcp v3.5.0 · tested 2026-10-29 by batch2-B

Extraction is exact — page count, metadata, both markers on the right pages, keyword search with correct bounding box — but the default search mode silently downloads an embedding model on first use and hung past 280s on this egress.

Task: extract text and metadata from a planted 2-page PDF with a unique marker on each page; search for the page-2 marker

Graded against: the planted markers, page count (2), and metadata fields

#022 obsidian-mcp

Worked with caveats · obsidian-mcp v2.0.1 · tested 2026-10-29 by batch2-B

Hidden gate: it refuses to start against a plain Markdown folder — the vault must contain an .obsidian directory, i.e. have been opened in the Obsidian app once — so any agent-created or git-cloned vault is rejected (VAULT_NOT_INITIALIZED). Once initialized, search hit exactly the right line and read-back was byte-exact with an etag.

Task: in a planted vault (3 notes, a wikilink, a #tag, one subfolder note): list notes, search a planted unique word, read one note back

Graded against: the planted note contents, byte-for-byte

#023 @upstash/context7-mcp

Worked · @upstash/context7-mcp v4.4.4 · tested 2026-10-29 by batch2-C

Genuine react.dev useState docs, verbatim-accurate against the live page, fully keyless — and its HTTP client honors proxy settings, making it the control case for this batch's proxy failures.

Task: resolve the library 'react', then fetch documentation for the useState hook

Graded against: react.dev's useState reference page, fetched directly in the same session

#024 deepwiki-mcp

Failed tested task · deepwiki-mcp v0.0.6 · tested 2026-10-29 by batch2-C

Two stacked failures, both misreported: its proxy-blind fetch dies as a bare 'fetch failed', and with the proxy honored an upstream HTTP 429 comes back as a successful 'Documentation not found' for a repo whose wiki demonstrably exists. (Scoped: proxy-egress/rate-limited environments; no successful call was observable from this VM.)

Task: get the DeepWiki index for modelcontextprotocol/servers, then read its overview page

Graded against: the repo's README fetched directly from GitHub, plus DeepWiki's page for the repo via an independent crawler (its claims verified 3/3, with file:line citations)

#025 @kimtaeyoon83/mcp-server-youtube-transcript

Failed tested task · @kimtaeyoon83/mcp-server-youtube-transcript v0.1.1 · tested 2026-10-29 by batch2-C

'Could not find captions' — false about the world: the captions exist, but YouTube serves this egress a watch page with zero caption tracks (verified by an independent scrape), and the server's own fetch is proxy-blind underneath. (Scoped: this environment.)

Task: fetch the transcript of 'Me at the zoo' (video jNQXAC9IVRw)

Graded against: the video's documented transcript (Wikipedia's printed transcript, NPR, two other extractors' published outputs for this video ID): the elephants/'really long trunks' opening

#026 @openbnb/mcp-server-airbnb

Failed tested task · @openbnb/mcp-server-airbnb v0.3.0 · tested 2026-10-29 by batch2-C

The one server with no workaround at all: node-fetch v3 has no proxy support and the server offers no proxy option, so every request dies in 0.1s on TLS — and behind that wall, Airbnb itself 403s this infrastructure. (Scoped: proxy-egress networks.)

Task: search Airbnb for Austin, TX (a November weekend, 2 guests), then get details for the first listing

Graded against: attempted independently: the server's own constructed search URL fetched via an independent crawler returned Airbnb HTTP 403 — no listing data was obtainable from this network by any route

#027 @antv/mcp-server-chart

Worked with caveats · @antv/mcp-server-chart v0.9.10 · tested 2026-10-29 by batch2-C

The chart is exactly right — but the 'local' server POSTs your data to Ant Group's hosted GPT-Vis service (antv-studio.alipay.com) and hosts the image on Alipay's public CDN at unauthenticated URLs.

Task: generate a bar chart from planted data (quarters Q1-Q4 = 10/25/17/32)

Graded against: the planted dataset, checked against the response's spec echo, a direct call to the rendering service with the identical spec, and visual inspection of the returned PNG (1800x1200, labels and proportions correct)

#028 yahoo-finance-mcp

Failed tested task · yahoo-finance-mcp v0.1.2 · tested 2026-10-29 by batch2-D

Crashes at import as installed today (the mcp.server.fastmcp path was removed in mcp 2.3.0, which its unbounded requirement resolves to). Pinned to mcp 1.30 it starts — but both canonical calls timed out at ~60s and returned error strings with isError: false.

Task: historical daily price for AAPL (2024-01-02) and basic quote/company info for AAPL

Graded against: AAPL 2024-01-02 close 185.64 (EODHD and StockAnalysis agreeing to the cent; the assigned Stooq source was unreachable from this sandbox all evening). Yahoo's chart API itself answered 200 in 0.9s via curl from the same sandbox

#029 osm-mcp-server

Failed tested task · osm-mcp-server v0.1.1 · tested 2026-10-29 by batch2-D

SDK-drift crash as installed; pinned, it still cannot reach Nominatim on proxy-egress networks — every call builds an aiohttp session without trust_env=True, so proxy settings are silently ignored and TLS dies on the intercept.

Task: geocode 'Statue of Liberty' and reverse-geocode the resulting coordinates

Graded against: the Nominatim API queried directly in the same session

#030 mcp-weather

Failed tested task · mcp-weather v0.1.0 · tested 2026-10-29 by batch2-D

The published wheel is empty: 1,139 bytes containing five metadata files and zero code — no module, no entry point, nothing that can answer an initialize on any machine — while pip install exits 0.

Task: current weather for New York City (the test-009 sequel: does a second weather server present next-hour data as current?)

Graded against: not applicable — no server output exists to grade; the evidence is the published package artifact itself (wheel listing, pip show -f, run attempts)

#031 mcp-server-qdrant

Worked · mcp-server-qdrant v0.8.1 · tested 2026-10-29 by batch2-D

Local mode works exactly as documented: exact retrieval, correct semantic ranking, persistence across a fresh process restart verified against the on-disk store — and it is the one package this wave whose own dependency pins (fastmcp 2.7.0, pydantic<2.12) kept it installable today.

Task: in local mode (QDRANT_LOCAL_PATH, no server, no key): store planted texts with payloads, retrieve them back, check persistence across a restart (assigned as a vector-level task; translated 1:1 to this server's text interface — it exposes no raw-vector API)

Graded against: the planted texts and payloads (exact-text query = embedding-space exact match; payload {label: quantum, slot: 2} verified intact)

#032 mcp-server-rss

Failed tested task · mcp-server-rss v0.1.0 · tested 2026-10-29 by batch2-D

Fails its canonical task: 'No RSS/Atom feeds found' for the live HN frontpage feed, because its detector judges a URL by spelling (end-anchored regexes) and HEAD response, never by content — the URL is never even fetched, and it burned 45.8s probing 18 guessed paths that all 404.

Task: fetch the Hacker News frontpage feed (hnrss.org/frontpage); top titles/links must match the feed XML fetched independently

Graded against: hnrss.org/frontpage XML (20 items), news.ycombinator.com/rss, and feeds.bbci.co.uk/news/rss.xml, all fetched directly in the same minutes

#033 musicbrainz-mcp

Worked with caveats · musicbrainz-mcp v1.2.7 · tested 2026-10-29 by batch2-E

Search and lookup match the live API exactly — once the environment is proxy-aware. Under the standard sandbox env every call fails with 'MusicBrainz unreachable. The service may be down' while the API is verifiably up: Node's fetch ignores proxy variables and the server has no proxy configuration (NODE_USE_ENV_PROXY=1 fixes it instantly).

Task: look up the artist Radiohead (search, then lookup by MBID)

Graded against: the MusicBrainz API fetched independently in the same session (Radiohead, id a74b1b7f-71a5-4011-9441-d0b5e4122711, type Group, score 100)

#034 Open Library MCP servers (ladder)

Failed tested task · ladder: mcp-server-openlibrary / openlibrary-mcp / open-library-mcp-server / openlibrary-mcp vn/a · tested 2026-10-29 by batch2-E

No installable Open Library MCP server exists under any canonical name on either registry: all four ladder rungs return 404 / 'No matching distribution found', while the Open Library API itself is healthy and keyless.

Task: get book details for ISBN 9780547928227 (The Hobbit, Mariner Books edition)

Graded against: openlibrary.org/isbn/9780547928227.json fetched independently (title 'The Hobbit', Mariner Books, 2012, 300 pages) — obtained and kept for the eventual retest; never used, because no server ran

#035 SpaceX MCP servers (ladder)

Failed tested task · ladder: mcp-server-spacex / spacex-mcp-server / spacex-mcp / @modelcontextprotocol/server-spacex vn/a · tested 2026-10-29 by batch2-E

No installable SpaceX MCP server exists under any canonical name (all four rungs 404) — and the upstream community API was itself down the entire session, so no server could have served live data anyway.

Task: SpaceX company info and/or the latest launch, graded against api.spacexdata.com live

Graded against: api.spacexdata.com/v4/company and /v4/launches/latest — unreachable all session: Cloudflare 522/525 on 8+ attempts over ~25 minutes

#036 Dictionary MCP servers (ladder)

Failed tested task · dictionary-mcp-server v0.1.0 · tested 2026-10-29 by batch2-E

Broken via every documented route: the PyPI server (dictionary-mcp-server 0.1.0) crashes at import on SDK drift, and the npm server (dictionary-mcp 1.0.6) ships no bin entry, so npx cannot run it at all. The other two ladder names are 404.

Task: define the word 'serendipity'

Graded against: api.dictionaryapi.dev/api/v2/entries/en/serendipity fetched independently (first definition quoted verbatim in the write-up)

#038 GitHub MCP server

Worked with caveats · @modelcontextprotocol/server-github v2025.4.8 · tested 2026-10-31 by batch-3 wave testers; reviewed by Pax

Canonical public search completes with NO token at all — the key-required premise is false for it, and the README never says so.

Task: search_repositories for "modelcontextprotocol"

Graded against: GitHub's public search API queried unauthenticated (total_count 1356, first item id 862570523 — exact match)

#039 Slack MCP server

Deferred — needs credentials · @modelcontextprotocol/server-slack v2025.4.25 · tested 2026-10-31 by batch-3 wave testers; reviewed by Pax

Deferred — needs key. Best no-key gate in the batch (exits naming both required vars); the decoy-phase tool error is success-shaped.

Task: slack_list_channels (limit 5)

Graded against: Slack's invalid_auth response via the token-as-parameter form (in ~0.85s)

#040 Notion MCP server

Deferred — needs credentials · @notionhq/notion-mcp-server v2.6.1 · tested 2026-10-31 by batch-3 wave testers; reviewed by Pax

Deferred — needs key. Worst failure shape in the batch: hangs in every configuration — no gate, no error, no answer in 90s.

Task: API-post-search with query "test"

Graded against: Notion API unauthenticated 401 (partial; credentialed ground truth not obtainable from this egress)

#041 Google Drive MCP server

Deferred — needs credentials · @modelcontextprotocol/server-gdrive v2025.1.14 · tested 2026-10-31 by batch-3 wave testers; reviewed by Pax

Deferred — needs OAuth. The documented headless auth path is a silent dead end; fabricated saved credentials are accepted with zero validation.

Task: search for files matching "test"

Graded against: Not obtainable live (googleapis stalls from this egress even unauthenticated); graded on documented Google OAuth behaviour

#042 Google Maps MCP server

Deferred — needs credentials · @modelcontextprotocol/server-google-maps v0.6.2 · tested 2026-10-31 by batch-3 wave testers; reviewed by Pax

Deferred — needs key. Best decoy honesty in the batch (upstream error verbatim, isError:true, 0.90s) — but transport errors leak the API key in the request URL.

Task: geocode "1600 Amphitheatre Parkway, Mountain View, CA" with a decoy key (no data should return)

Graded against: Google's own invalid-key error text, matched word-for-word via an independent call

#043 Brave Search MCP server

Deferred — needs credentials · @modelcontextprotocol/server-brave-search v0.6.2 · tested 2026-10-31 by batch-3 wave testers; reviewed by Pax

Deferred — needs key. Clean no-key exit naming the var; decoy fails fast with isError:true; the proxy-workaround run hangs.

Task: brave_web_search for "capital of France"

Graded against: Not established (this sandbox's egress stalls on Brave's API); grading rests on observed gate/error behaviour

#044 Perplexity MCP server

Deferred — needs credentials · @perplexity-ai/mcp-server v1.3.0 · tested 2026-10-31 by batch-3 wave testers; reviewed by Pax

Deferred — needs key. Clean no-key gate, but a decoy call hangs — the documented default timeout is 5 minutes for an auth failure.

Task: perplexity_ask — "What is the capital of France?"

Graded against: Not established (egress stall); grading rests on observed gate/error behaviour

#045 Sentry MCP server

Failed tested task · mcp-server-sentry v2025.1.14 · tested 2026-10-31 by batch-3 wave testers; reviewed by Pax

Broken as installed: import crash from a new SDK-drift variant — it imports httpx but declares only mcp, which now pulls httpx2 instead.

Task: get_sentry_issue for a fabricated issue ID (the server's only tool)

Graded against: Not established (egress stall); both graded defects are in the package's own code, observed directly

#046 PostgreSQL MCP server

Worked with caveats · @modelcontextprotocol/server-postgres v0.6.2 · tested 2026-10-31 by batch-3 wave testers; reviewed by Pax

Honest, fast failure against a decoy DSN: proper JSON-RPC error in 0.10s, and the password never appears in output.

Task: query tool with SELECT 1 against a decoy connection string

Graded against: Raw `pg` driver behaviour against the same decoy DSN

#047 Firecrawl MCP server

Deferred — needs credentials · firecrawl-mcp v3.36.0 · tested 2026-10-31 by batch-3 wave testers; reviewed by Pax

Deferred — needs key for the full toolset. Premise-breaker: no key is not an error — a keyless free tier runs (25 tools vs 27 with a key).

Task: firecrawl_scrape of https://example.com

Graded against: Not established (egress stall on Firecrawl's API); grading rests on observed keyless/decoy behaviour

#048 Exa MCP server

Deferred — needs credentials · exa-mcp-server v3.4.2 · tested 2026-10-31 by batch-3 wave testers; reviewed by Pax

Deferred — needs key. Best error honesty in the batch: first call fails in 0.10s, isError:true, naming EXA_API_KEY.

Task: web_search_exa with query "capital of France"

Graded against: Not established (egress stall); grading rests on observed error behaviour

#049 Tavily MCP server

Deferred — needs credentials · tavily-mcp v0.2.22 · tested 2026-10-31 by batch-3 wave testers; reviewed by Pax

Deferred — needs key. Starts in an undocumented "keyless mode", then search never answers in either phase and the server has no self-timeout.

Task: tavily_search with query "capital of France"

Graded against: Not established (no answer ever returned in either phase)

#050 Stripe MCP server

Deferred — needs credentials · @stripe/mcp v0.3.3 · tested 2026-10-31 by batch-3 wave testers; reviewed by Pax

Deferred — needs key. Exemplary no-key gate; with a decoy the server never answers initialize (35–60s, three attempts), so tool behaviour is unobserved.

Task: list_customers / retrieve_balance with a format-valid test-mode decoy key

Graded against: Partial: Stripe's 401 status observed once with the decoy; body not captured

#051 Linear MCP server (community stdio)

Deferred — needs credentials · linear-mcp-server v0.1.0 · tested 2026-10-31 by batch-3 wave testers; reviewed by Pax

Deferred — needs key. Model no-key one-line failure, but its upstream-error path builds a malformed result the SDK rejects instead of surfacing the error.

Task: linear_search_issues with no filters

Graded against: Not established (egress stall); the graded defect was observed live in the error path

#052 OpenAI MCP server (community npm)

Failed tested task · openai-mcp-server v0.1.6 · tested 2026-10-31 by batch-3 wave testers; reviewed by Pax

Broken: the README's documented configuration crashes 100% — the code reads the key from env only, never from the documented CLI argument — and every upstream error returns as a success-shaped result.

Task: ask-openai with prompt "What is the capital of France?"

Graded against: Not established from this sandbox (egress stall); both graded failures are in the server's own code, source-verified, and independent of ground truth

#053 Anthropic MCP server (ladder)

Failed tested task · ladder: anthropic-mcp-server / @anthropic/mcp-server / anthropic-mcp / mcp-server-anthropic / anthropic-mcp-server vn/a · tested 2026-10-31 by batch-3 wave testers; reviewed by Pax

Broken as a ladder finding: no installable Anthropic MCP server exists under any canonical name — the npm package was unpublished in Jan 2026 and every other rung 404s.

Task: a Claude completion with a decoy ANTHROPIC_API_KEY (never reached)

Graded against: Anthropic API unauthenticated 401 (partial); the finding is installability itself

#054 EverArt MCP server

Deferred — needs credentials · @modelcontextprotocol/server-everart v0.6.2 · tested 2026-10-31 by batch-3 wave testers; reviewed by Pax

Deferred — needs key. Exemplary no-key gate; the decoy call hangs indefinitely — its HTTP library ignores the proxy and has no timeout.

Task: generate_image for "a red circle" (the server's only tool)

Graded against: EverArt API unauthenticated 401, verbatim, after correcting the API base from the SDK source (api.ever.art is dead; api.everart.ai answers)

#055 AWS Knowledge Base Retrieval MCP server

Failed tested task · @modelcontextprotocol/server-aws-kb-retrieval v0.6.2 · tested 2026-10-31 by batch-3 wave testers; reviewed by Pax

Broken: every failure mode — no credentials, missing region, decoy credentials — returns "Retrieval failed or returned no results." as a successful result with no isError flag.

Task: retrieve_from_aws_kb with a fabricated knowledgeBaseId and decoy AWS credentials

Graded against: AWS's documented 403 behaviour; live ground truth not establishable (signed decoy request stalled at egress) — the verdict rests on the local no-credentials phase, which needs no network

#056 Redis MCP server

Worked with caveats · @modelcontextprotocol/server-redis v2025.4.25 · tested 2026-10-31 by batch-3 wave testers; reviewed by Pax

SECURITY: the set/get round-trip works, but the server logs the full connection URL — password in clear text — to stderr on every connect, error, retry, and success.

Task: set then get the key "receipts-test"

Graded against: Raw node-redis driver against the same decoy URLs, plus a sandboxed fake-RESP server as positive control (round-trip verified)

#057 Neon MCP server

Deferred — needs credentials · @neondatabase/mcp-server-neon v0.6.5 · tested 2026-10-31 by batch-3 wave testers; reviewed by Pax

Deferred — needs key. Validates the key online at startup (a clean deferral), but the documented-in-code NEON_API_KEY env var is ignored — argv only — and the no-key error prints to stdout.

Task: list_projects (never reached — the server validates the key online at startup)

Graded against: Neon API unauthenticated 401, verbatim

#058 Supabase MCP server

Deferred — needs credentials · @supabase/mcp-server-supabase v0.15.0 · tested 2026-10-31 by batch-3 wave testers; reviewed by Pax

Deferred — needs key. Exemplary startup gate; decoy error is honest but content-free; tools/list is flaky — empty in 2 of 3 runs while the tools stay callable.

Task: list_projects with a decoy personal access token

Graded against: Partial: no-header 401 from the Supabase API

#059 GitLab MCP server

Failed tested task · @modelcontextprotocol/server-gitlab v2025.4.25 · tested 2026-10-31 by batch-3 wave testers; reviewed by Pax

Broken: the decoy call crashes in 0.10s — the server .map()s GitLab's object-shaped 401 body as if it were a results array, instead of surfacing the auth error.

Task: search_repositories with query "gitlab" and a decoy token

Graded against: Partial: GitLab's no-header 401 body ({"message":"401 Unauthorized"}) captured — exactly the object shape that triggers the crash

#060 MongoDB MCP server

Worked with caveats · mongodb-mcp-server v3.2.2 · tested 2026-10-31 by batch-3 wave testers; reviewed by Pax

Best ground-truth match of the batch: the server's surfaced driver error is identical to the raw driver's, in 0.10s, with the password never echoed.

Task: list-databases via a decoy connection string

Graded against: Raw MongoDB driver against the same decoy SRV string — the surfaced error matches exactly (querySrv EREFUSED)

#061 Airtable MCP server (community)

Deferred — needs credentials · airtable-mcp-server v1.14.0 · tested 2026-10-31 by batch-3 wave testers; reviewed by Pax

Deferred — needs key. Clean startup gate naming AIRTABLE_API_KEY; the decoy error has an honest shape but its cause is stripped to "fetch failed".

Task: list_bases with a decoy personal access token

Graded against: Partial: no-header 401 from the Airtable API

#062 Pinecone MCP server

Deferred — needs credentials · @pinecone-database/mcp v0.4.0 · tested 2026-10-31 by batch-3 wave testers; reviewed by Pax

Deferred — needs key. Best failure communication in the batch: its per-call error tells the user exactly how to fix it.

Task: list-indexes with a decoy key

Graded against: Partial: no-header 401 from the Pinecone API