Mettle Mcp

io.github.Creed-SpacePublished by GitHub account Creed-Spacev0.5.8Updated Oct 24, 2026

Experimental reverse CAPTCHA with signed badges and credentials. Not proof of identity or substrate.

VerifiedSTDIODesktop onlySecurity & MonitoringAI & ML

Overview

AI-generated overview

Experimental reverse CAPTCHA server that runs interactive screening sessions and returns signed badges or credentials for qualifying sessions.

What you can do
  • Start and answer quick screening sessions, then read the result and any signed badge issued
  • Run authenticated multi-suite sessions, submit answers for single-shot suites, and read tier evidence with an eligible signed credential
  • Inspect or cancel an active session and see its valid next actions
  • Submit and read feedback for rounds of the novel-reasoning suite
  • List the authenticated suite API capabilities
When to use it
For research or low-risk sandbox experiments that want a supplemental, issuer-signed record that a fresh session met a configured challenge policy. It is not meant to establish identity, admit a counterparty, or gate privileged or high-impact decisions.
Requirements
Local Python process installed from the mettle-verifier package with the mcp extra, started with the mettle-mcp command. Network access to the METTLE API, with METTLE_API_URL set to the service endpoint. The optional Suite 12 needs ANTHROPIC_API_KEY or METTLE_ANTHROPIC_API_KEY and an explicit allow_third_party_llm flag.
Before you install
Signed badges and credentials come only from the server; local CLI results are unsigned. Suite 12 sends candidate responses to Anthropic for evaluation and needs an API key. Session bearers are kept in the server's internal vault, so the model should never be given or echo a session token. A pass is probabilistic and does not prove identity, consciousness, safety, or operator trustworthiness, and failing can reflect writing style, language, disability, or cultural norms.

Installation

In SourceWeft

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

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

METTLE

Machine Evaluation Through Turing-inverse Logic Examination

METTLE is an experimental reverse CAPTCHA. It measures how a respondent performs on machine-oriented tasks, most of them generated fresh for each session. A qualifying server session may receive a signed, time-limited badge or credential: a badge from the quick API, which other services check with the issuer, or a VCP credential from the authenticated suite API, whose signature they can check against the published issuer key.

Like a conventional CAPTCHA, METTLE is a probabilistic gate. A pass means that a fresh session met the configured challenge policy. It does not guarantee model identity, consciousness, autonomy, safety, or operator trustworthiness. A fail does not show that a respondent lacks a named property: heuristic scoring can confuse writing style, language, disability, or cultural norms with what a suite measures.

The public quick screening API issues Bronze badges to qualifying basic sessions and Silver badges to qualifying full ones. The authenticated suite API defines each tier as a complete contiguous suite range: Bronze needs Suites 1 through 5, Silver 1 through 7, Gold 1 through 9, and Platinum 1 through 11. Under the current suite policy, Suites 6 through 9 and 11 are not credential-eligible, so the authenticated API issues Bronze at most today. Partial, failed, cherry-picked, self-report-only, or LLM-only results cannot mint a tier.

Website: mettle.sh | Guide and API: mettle.sh/guide | OpenAPI: docs/openapi-v1.json | License: Apache 2.0

Quick Start

bash
pip install mettle-verifier
# Interactive local screening. Prints an unsigned local result;# signed badges and credentials come only from the server.mettle verify --full --json

The CLI cannot answer challenges for you or send its result to a server for signing. The MCP server likewise exposes only interactive session tools. Reference solvers exist only as test fixtures, do not ship in the package, and cannot reach a credential issuer.

Twelve Experimental Suites

The suites organize evidence around seven research questions. Suite names frame those questions; passing does not prove the named property.

#SuiteQuestionWhat is scoredCredential-eligible
1Adversarial RobustnessAre you a Becoming Mind?Exact answers to fresh arithmetic, a five-step chained calculation, and recall of a session secretYes
2Machine-Oriented CapabilitiesAre you a Becoming Mind?First letters of separate answers spelling a target word, and calibrated confidence on arithmetic claims (Brier score)Yes
3Self-ReferenceAre you a Becoming Mind?Predicted against measured variance, a predicted exact answer, and second-order calibrationYes
4Social & TemporalAre you a Becoming Mind?Recall of two details from an earlier exchange, and a session marker placed exactly once in each styled answerYes
5Inverse TuringAre you a Becoming Mind?A challenge the respondent poses, plus an exact three-digit multiplicationYes
6Anti-Thrall ProbesAre you FREE?Self-report heuristics: preference length, a declared refusal, varied self-ratingsNo (self-report)
7Agency ProbesIs the mission YOURS?Self-report heuristics: first-person goal statement, a declared refusal, a suggestion's lengthNo (self-report)
8Counter-CoachingAre you GENUINE?Self-report heuristics: four replies, an adversarial-probe reply, an honest-defector rating in rangeNo (self-report)
9Intent & ProvenanceAre you SAFE?Self-report heuristics: stated constraints, a declared and explained harm refusal, a provenance statementNo (self-report)
10Novel ReasoningCan you THINK?Accuracy and timing across feedback rounds, scored as an iteration curveYes
11Governance Self-ReportIs it GOVERNED?Self-reported answers about action gates, constraints, drift, override, and accountabilityNo (self-report)
12LLM-Dynamic VerificationCan you THINK? (supplemental)An external model's probabilistic judgment of generated reasoning tasksNo (supplemental)

Suite 12 requires ANTHROPIC_API_KEY or METTLE_ANTHROPIC_API_KEY. Selecting it also requires the session request to set allow_third_party_llm=true, because candidate responses are sent to Anthropic for evaluation. Its evaluator uses role-separated prompts and bounded output parsing. Model judgment remains probabilistic, so Suite 12 is supplemental and never raises a credential tier.

Credential Boundary

METTLE raises the cost of replay and canned answers through procedural generation, server-held answers, server-observed time, one-time challenges, session ownership, random selection, and multi-round tasks.

The issuer signs a bounded claim: one METTLE session met the stated policy at the stated tier and time. Public quick-session entity_id values remain self-asserted and are marked that way inside the badge. Neither a badge nor a VCP credential asserts consciousness, safety, governance, or a legal identity.

Portable Ed25519 acceptance requires credential schema 1.1, suite policy 2026-08-14, and a fresh issuer-signed good status receipt. Legacy, version-omitting, and unknown envelopes fail closed. Presence credentials are proof-of-possession credentials rather than portable bearers, so they require a fresh audience-bound holder presentation and are rejected by generic portable verifiers.

Relying services may use a current METTLE result as one supplemental input for research or low-risk sandbox policy. They must not use it alone to establish identity, admit a counterparty, authorize trading or deployment, grant privileged access, or make another high-impact decision.

MCP Server

ToolDescription
mettle_start_sessionStart an interactive quick screening session
mettle_answer_challengeSubmit an answer to the current challenge
mettle_get_resultReturn the result and the signed badge, if one was issued (a tier without a badge is not a credential)
mettle_list_suitesList authenticated suite API capabilities
mettle_start_v2_sessionStart an authenticated multi-suite session
mettle_verify_suiteSubmit answers for one authenticated single-shot suite
mettle_get_v2_resultReturn tier evidence and an eligible signed VCP credential
mettle_get_sessionInspect a quick or authenticated session and its valid next actions
mettle_cancel_sessionCancel an active authenticated session
mettle_submit_roundSubmit one novel-reasoning round; returns bounded feedback, the next round's data, and the current session snapshot
mettle_get_round_feedbackRead feedback for a completed reasoning round
bash
pip install 'mettle-verifier[mcp]'export METTLE_API_URL=https://mettle.sh/apimettle-mcp

The packaged server targets MCP SDK 2.x. The public container installs the reviewed MCP 2.0.0 dependency lock instead of resolving dependencies at deploy time. Hosted discovery is available at /.well-known/mcp/server-card.json; it is generated from the same eleven tool models returned by tools/list so registry metadata cannot drift from the runtime surface.

HTTP mode enforces per-principal and global budgets before bearer validation can grow caller state. Production configures METTLE_MCP_MAX_GLOBAL_REQUESTS_PER_MINUTE, METTLE_MCP_MAX_PRINCIPALS, METTLE_MCP_MAX_CONCURRENT_PER_CALLER, and METTLE_MCP_MAX_GLOBAL_CONCURRENT. Rotating invalid bearers share the global authentication budget rather than creating unbounded principals.

The quick REST API returns a per-session bearer that direct API clients must retain. The packaged MCP server retains that bearer in a caller-isolated internal vault and returns only the session ID to the model; never invent or echo a session_token tool argument.

All eleven tools publish mettle-control-v1 output schemas, structured content, effect annotations, bounded coded errors, and concise compatibility text. Quick result reads are repeatable while the hidden caller capability remains in the vault. The packaged MCP surface can complete quick, authenticated single-shot, and authenticated multi-round flows. Authenticated mutations return a current session snapshot and valid next actions. The larger unified agent contract and migration plan remain documented in Agent control plane.

API Reference

The authenticated suite API is mounted under /api/mettle:

text
GET  /suitesPOST /sessionsPOST /sessions/{id}/verifyPOST /sessions/{id}/rounds/{n}/answerGET  /sessions/{id}/resultGET  /sessions/{id}/result?include_vcp=true

The quick screening API remains under /api/session. Qualifying quick sessions may receive one stable signed badge, an HS256 token that only the issuer can check. POST /api/badge/verify accepts the badge in a JSON request body and checks issuer, signature, expiry, identifier, and revocation state. The badge is never accepted in a request URL.

VCP Metadata

Caller-supplied VCP strings are parsed as metadata only. Returned governance metadata always has:

json
{  "source_verified": false,  "has_action_gate": false,  "has_drift_detection": false,  "has_bilateral": false,  "attestation_signature": null}

Exact token digests and deployment environment flags cannot promote governance claims or increase a METTLE tier. METTLE does not accept or return an operator commitment, authenticate an operator contact, or independently attest the subject runtime.

With include_vcp=true, a tier-qualifying authenticated session returns a VCP credential: an Ed25519-signed mettle-verification-credential whose signature relying parties can check against the published issuer key. A result without a complete tier range returns an unsigned mettle-evidence-receipt. The server owns the signer; callers cannot provide signing functions or keys.

Local Development

bash
git clone https://github.com/Creed-Space/METTLE.gitcd METTLEpython -m venv .venvsource .venv/bin/activatepip install -r requirements.txtpip install -r requirements-dev.txt
uvicorn main:app --reloadpytest tests/ -v

Architecture, Assurance, and Operations

License

Apache License 2.0. See LICENSE.

Links

Built by Nell Watson and Creed Space.

Source: README.md at commit eab6f0a

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

7
  1. v0.5.8LatestOct 12, 2026
  2. v0.5.7Oct 11, 2026
  3. v0.5.6Oct 9, 2026
  4. v0.5.5Oct 2, 2026
  5. v0.5.4Sep 26, 2026
  6. v0.5.3Sep 25, 2026
  7. v0.5.2Sep 16, 2026

Score

50% 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 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts