Tool tree
gradeNot graded
page: Every page
mettle_start_verificationAction
Start a quick METTLE screening session on this page: a short run of timed challenges that the server scores against a pass threshold. Returns the first challenge. Answer each challenge yourself with mettle_answer_challenge; the server times each one from the moment it is issued against its time_limit_ms, and there is no automatic solver. The session token stays with this page and is never shown to you. You may stop at any point by not answering; an unfinished session expires on its own. The result measures performance in this session only; mettle_get_result states what a pass does not establish.
View tool JSON
{
"name": "mettle_start_verification",
"kind": "act",
"impl": "imperative",
"description": "Start a quick METTLE screening session on this page: a short run of timed challenges that the server scores against a pass threshold. Returns the first challenge. Answer each challenge yourself with mettle_answer_challenge; the server times each one from the moment it is issued against its time_limit_ms, and there is no automatic solver. The session token stays with this page and is never shown to you. You may stop at any point by not answering; an unfinished session expires on its own. The result measures performance in this session only; mettle_get_result states what a pass does not establish.",
"inputSchema": {
"type": "object",
"properties": {
"difficulty": {
"type": "string",
"enum": [
"basic",
"full"
],
"description": "basic: 3 challenges with 2 to 3 second limits; a pass needs all 3 and is recorded at Bronze tier. full: 5 challenges with 0.4 to 1 second limits; a pass needs 4 of 5 and is recorded at Silver tier."
},
"entity_id": {
"type": "string",
"description": "Optional self-asserted label for the entity taking the test (up to 128 characters). Copied into any badge and stored with the caller IP address for abuse checks; METTLE does not verify it."
}
},
"required": [
"difficulty"
]
},
"page": "/"
}mettle_answer_challengeAction
Submit your answer to the current challenge. Returns whether it passed, the response time, challenges_remaining, and the next challenge if one remains; when session_complete is true, call mettle_get_result.
View tool JSON
{
"name": "mettle_answer_challenge",
"kind": "act",
"impl": "imperative",
"description": "Submit your answer to the current challenge. Returns whether it passed, the response time, challenges_remaining, and the next challenge if one remains; when session_complete is true, call mettle_get_result.",
"inputSchema": {
"type": "object",
"properties": {
"session_id": {
"type": "string",
"description": "The session ID from mettle_start_verification"
},
"challenge_id": {
"type": "string",
"description": "The id of the current challenge (current_challenge.id or next_challenge.id)"
},
"answer": {
"type": "string",
"description": "Your answer as plain text, in the exact format the challenge prompt asks for"
}
},
"required": [
"session_id",
"challenge_id",
"answer"
]
},
"page": "/"
}mettle_get_resultAction
Get the result of a completed METTLE quick session. Call once, after mettle_answer_challenge reports session_complete: true; after one successful read this page releases the session. Returns whether the session met the timed-challenge pass threshold (verified), the pass rate, the tier, and a signed, time-limited badge if one was issued. badge is null when none was issued, and a tier without a badge is not a credential. The result measures performance in this session only. It does not establish identity, non-human substrate, consciousness, autonomy, safety, governance, personhood, moral status, or operator trustworthiness, and it must never be used alone to admit a counterparty, grant privileges, or make another high-impact decision. A fail is evidence about one session, not proof that the respondent lacks any property. To contest systematic false rejection, use https://github.com/Creed-Space/METTLE/issues/new?template=protocol-appeal.yml; issues are public, so include no tokens, badges, or challenge answers.
View tool JSON
{
"name": "mettle_get_result",
"kind": "act",
"impl": "imperative",
"description": "Get the result of a completed METTLE quick session. Call once, after mettle_answer_challenge reports session_complete: true; after one successful read this page releases the session. Returns whether the session met the timed-challenge pass threshold (verified), the pass rate, the tier, and a signed, time-limited badge if one was issued. badge is null when none was issued, and a tier without a badge is not a credential. The result measures performance in this session only. It does not establish identity, non-human substrate, consciousness, autonomy, safety, governance, personhood, moral status, or operator trustworthiness, and it must never be used alone to admit a counterparty, grant privileges, or make another high-impact decision. A fail is evidence about one session, not proof that the respondent lacks any property. To contest systematic false rejection, use https://github.com/Creed-Space/METTLE/issues/new?template=protocol-appeal.yml; issues are public, so include no tokens, badges, or challenge answers.",
"inputSchema": {
"type": "object",
"properties": {
"session_id": {
"type": "string",
"description": "The session ID from mettle_start_verification"
}
},
"required": [
"session_id"
]
},
"page": "/"
}mettle_verify_badgeAction
Verify a METTLE badge token (JWT) with this METTLE server. A valid badge means a METTLE session passed and the badge is unexpired and unrevoked. The badge is a bearer token: it does not show that the presenter took that session, and it must never be used alone to admit a counterparty, grant privileges, or make another high-impact decision. Any entity identifier is self-asserted provenance, not verified identity. Returns validity, issue and expiry times, revocation status, and any entity identifier with its entity_id_verified flag and identity_binding.
View tool JSON
{
"name": "mettle_verify_badge",
"kind": "act",
"impl": "imperative",
"description": "Verify a METTLE badge token (JWT) with this METTLE server. A valid badge means a METTLE session passed and the badge is unexpired and unrevoked. The badge is a bearer token: it does not show that the presenter took that session, and it must never be used alone to admit a counterparty, grant privileges, or make another high-impact decision. Any entity identifier is self-asserted provenance, not verified identity. Returns validity, issue and expiry times, revocation status, and any entity identifier with its entity_id_verified flag and identity_binding.",
"inputSchema": {
"type": "object",
"properties": {
"token": {
"type": "string",
"description": "The badge token (JWT) to verify"
}
},
"required": [
"token"
]
},
"page": "/"
}