Server definition
- Hash
- sha256:51aa49ce969f27803c4120bebb270d9fe23624bc22fd689721b5aeadc3ee4c77
- What it is
- What a remote MCP server returned when asked what it offers: 5 tools
The blob, as servednamed by its sha256
{
"instructions": "Five read-only tools answer questions about turva.dev itself. Use get_services for the services, their prices and how an engagement runs. Use get_contact for who runs turva.dev, how to reach it and what access an audit needs, and get_principles for the rules an engagement follows. get_agent_readiness returns turva.dev's own score from the independent scanner isitagentready.com. get_security_evidence returns its own web-security scan results, which are a separate measurement. No tool takes arguments. The data is compiled into the server, carries a date where it is a measurement, and changes only on deploy. This server does not scan or audit other sites.",
"tools": [
{
"description": "Returns turva.dev's own agent-readiness score from an independent public scanner (isitagentready.com), including category sub-scores, with the measurement date and a link to the scanner's start page, where a new check can be run (the link does not open the recorded reading). Use this when a user asks how turva.dev scores, whether its claims are verifiable, or what proof backs the audit service. For web-security scan results, which are a separate measurement, use get_security_evidence instead. Read-only: returns static JSON that is compiled into the Worker, so it changes nothing and updates only on deploy.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "get_agent_readiness",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"domain": {
"type": "string"
},
"measured_at": {
"description": "Date of the reading, YYYY-MM-DD.",
"type": "string"
},
"note": {
"type": "string"
},
"scans": {
"items": {
"additionalProperties": false,
"properties": {
"categories": {
"additionalProperties": {
"type": "string"
},
"propertyNames": {
"type": "string"
},
"type": "object"
},
"note": {
"type": "string"
},
"provider": {
"type": "string"
},
"result": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"provider",
"result",
"note",
"categories",
"url"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"domain",
"measured_at",
"note",
"scans"
],
"type": "object"
}
},
{
"description": "Returns who runs turva.dev and the official ways to reach it: the operator and business details, the email address, the Signal link, the LinkedIn profile, the correspondence languages, the first-reply time and the access an audit needs. Use this when a user asks who is behind turva.dev, how to contact it, how to start an audit or what access has to be granted. For what is sold and what it costs use get_services instead. Read-only: returns static JSON that is compiled into the Worker, so it changes nothing and updates only on deploy.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "get_contact",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"business_id": {
"type": "string"
},
"channel_note": {
"type": "string"
},
"correspondence_languages": {
"items": {
"type": "string"
},
"type": "array"
},
"email": {
"type": "string"
},
"engagement": {
"type": "string"
},
"first_reply": {
"type": "string"
},
"how_to_start": {
"items": {
"type": "string"
},
"type": "array"
},
"linkedin": {
"type": "string"
},
"location": {
"type": "string"
},
"operator": {
"additionalProperties": false,
"properties": {
"background": {
"type": "string"
},
"business_id": {
"type": "string"
},
"company_page": {
"description": "The turva.dev page that states the business details.",
"type": "string"
},
"legal_form": {
"type": "string"
},
"location": {
"type": "string"
},
"name": {
"type": "string"
},
"run_by": {
"type": "string"
},
"team": {
"type": "string"
},
"vat_id": {
"type": "string"
}
},
"required": [
"name",
"run_by",
"legal_form",
"business_id",
"vat_id",
"location",
"team",
"background",
"company_page"
],
"type": "object"
},
"signal": {
"type": "string"
}
},
"required": [
"email",
"signal",
"linkedin",
"business_id",
"location",
"engagement",
"correspondence_languages",
"first_reply",
"channel_note",
"how_to_start",
"operator"
],
"type": "object"
}
},
{
"description": "Returns turva.dev's engagement principles: async-only, least access, the result shows up in scanner numbers, and open and verifiable. Use this when a user asks how turva.dev works with clients or what rules an engagement follows. For what is sold and what it costs use get_services instead, and for how to start use get_contact. Read-only: returns static JSON that is compiled into the Worker, so it changes nothing and updates only on deploy.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "get_principles",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"model": {
"type": "string"
},
"rules": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
},
"rationale": {
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"id",
"title",
"rationale"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"model",
"rules"
],
"type": "object"
}
},
{
"description": "Returns the latest public web-security scan results for turva.dev's own domain (Hardenize, Internet.nl site and mail), each with its scan date. Use this when a user asks about turva.dev's own security posture or wants evidence beyond agent-readiness scores. For the agent-readiness score itself, which is a separate measurement, use get_agent_readiness instead. Read-only: returns static JSON that is compiled into the Worker, so it changes nothing and updates only on deploy.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "get_security_evidence",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"domain": {
"type": "string"
},
"measured_at": {
"description": "Date of the scans, YYYY-MM-DD.",
"type": "string"
},
"note": {
"type": "string"
},
"scans": {
"items": {
"additionalProperties": false,
"properties": {
"measured_at": {
"description": "Date of this reading, YYYY-MM-DD, when it differs from the top-level date.",
"type": "string"
},
"note": {
"type": "string"
},
"provider": {
"type": "string"
},
"result": {
"type": "string"
},
"scale": {
"type": "string"
},
"score": {
"type": "number"
},
"url": {
"type": "string"
}
},
"required": [
"provider",
"url"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"domain",
"measured_at",
"scans",
"note"
],
"type": "object"
}
},
{
"description": "Returns turva.dev's service catalog: the Shopify agent storefront check, agent-readiness audit, advisory, implementation, agent operations, and MCP server design, plus the engagement model and pricing (fixed list prices for the Shopify agent storefront check, audit, advisory and implementation; agent operations and MCP server design on request), and two implementation add-ons that carry a fixed price and are sold only with the diagnosis they follow, bought with it, with its report, or after the report and before implementation starts. Use this when a user asks what turva.dev offers, what it costs, or how an engagement works. For how to reach turva.dev use get_contact instead, and for the rules an engagement follows use get_principles. Read-only: returns static JSON that is compiled into the Worker, so it changes nothing and updates only on deploy.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "get_services",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"bundled_implementation": {
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"price": {
"type": "number"
},
"requires": {
"description": "The id of the service this add-on is sold with.",
"type": "string"
},
"sold_separately": {
"type": "boolean"
},
"summary": {
"type": "string"
},
"unit": {
"type": "string"
}
},
"required": [
"id",
"name",
"price",
"unit",
"requires",
"sold_separately",
"summary"
],
"type": "object"
},
"type": "array"
},
"currency": {
"type": "string"
},
"engagement": {
"additionalProperties": false,
"properties": {
"communication": {
"type": "string"
},
"notes": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"communication",
"notes"
],
"type": "object"
},
"pricing_model": {
"type": "string"
},
"pricing_note": {
"type": "string"
},
"services": {
"items": {
"additionalProperties": false,
"properties": {
"deliverable": {
"type": "string"
},
"duration": {
"type": "string"
},
"id": {
"type": "string"
},
"minimum_commitment": {
"type": "string"
},
"name": {
"type": "string"
},
"price": {
"anyOf": [
{
"type": "number"
},
{
"const": "on request",
"type": "string"
}
],
"description": "EUR, VAT not included, or on request."
},
"sample_url": {
"description": "A published sample of the deliverable, where one exists.",
"type": "string"
},
"summary": {
"type": "string"
},
"unit": {
"type": "string"
},
"url": {
"description": "The turva.dev page that describes the service.",
"type": "string"
}
},
"required": [
"id",
"name",
"url",
"price",
"summary",
"deliverable"
],
"type": "object"
},
"type": "array"
},
"vat_included": {
"type": "boolean"
}
},
"required": [
"pricing_model",
"pricing_note",
"currency",
"vat_included",
"engagement",
"services",
"bundled_implementation"
],
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:51aa49ce969f27803c4120bebb270d9fe23624bc22fd689721b5aeadc3ee4c77 | sha256sum