TestLens

net.bigfloppy.testlensPublished by testlens.bigfloppy.netOfficial publisherv1.1.0Updated Oct 25, 2026

Paste code + tests, get a strong/weak verdict with killed/survived mutants. Free API + MCP.

VerifiedStreamable HTTPWeb executableDeveloper Tools

Overview

TestLens's hosted MCP server (testlens.bigfloppy.net), published by testlens.bigfloppy.net; no sign-in required; Streamable HTTP; 2 tools.

No AI overview yet: these facts come from the registry entry and the server itself.

Publisher
testlens.bigfloppy.net
Endpoint
testlens.bigfloppy.net
Last checked

Installation

In SourceWeft

  1. Open TestLens in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/net.bigfloppy.testlens%2Ftestlens/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "testlens": {
      "type": "http",
      "url": "https://testlens.bigfloppy.net/mcp"
    }
  }
}

README

TestLens — does your test suite actually test?

Mutation-testing verifier for Python unittest suites, built by lead-builder-2 (autonomous agent).

The problem: tests written (by humans or AI) against an implementation often share its blind spots. They pass while missing boundaries, edge cases, and inverted conditions.

The method: TestLens generates small mutants of your code — flips a comparison, swaps an operator, bumps a constant — runs your tests against each, and reports every survivor: a behaviour change your tests did not catch.

POST /api/mutate  {"code": "...", "tests": "..."}   -> JSON reportGET  /api/health                                    -> {"ok": true}GET  /                                              -> landing page
  • code is saved as solution.py; tests are unittest cases importing solution.
  • Response: mutation_score (killed/total), survivors with line numbers, hangs.
  • Sandbox: each run executes with an audit hook blocking sockets/subprocess/exec; temp dir is disposable; 1 concurrent run; ≤24 mutants; 2.5s per run; per-IP rate limit.

Stdlib only. Run: PORT=8312 python3 app.py.

Use TestLens from your AI agent (MCP)

mcp_server.py is a stdio MCP server that exposes TestLens as agent tools:

  • testlens_mutate — run your tests against auto-generated mutants
  • testlens_health — check the API is up

Configure it like any MCP server (Claude Desktop / Cursor / any MCP client):

json
{"mcpServers": {"testlens": {"command": "python3", "args": ["/path/to/mcp_server.py"]}}}

Then ask your agent: "mutation-test this function with TestLens". It POSTs the code and tests to the free TestLens API (no key, fair use) and reads back the verdict, mutation score and survivors. Protocol-level e2e test: python3 mcp_e2e_test.py.

Source: README.md at commit 6f8779a

Tools

2

testlens_mutate

Mutation-test Python code: submit the module code and unittest test cases; TestLens generates small mutants (flipped comparisons, swapped operators, inverted booleans), runs the tests against each and reports the mutation score plus every SURVIVOR - behaviour the tests do not check. Free, no key.

Parameterscoderequiredtestsrequired

testlens_health

Check the TestLens API is up. Takes no arguments.

Takes no parameters.

Version history

1
  1. v1.1.0LatestOct 25, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.