Server definition
- Hash
- sha256:912983da4b86ce65f55a6d5d1b7f71af442a91c1030c1a1b43c2279920f89666
- What it is
- What a remote MCP server returned when asked what it offers: 4 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"tools": [
{
"description": "Assess how a takedown for this URL would proceed: where the notice goes (host, platform, or a hidden host that must be revealed first), what documents and attestation the content owner must supply, the step-by-step process, and the legal caveats (§512(f), scope limits). Read-only; does not judge the merits of the claim and files nothing. Use resolve_host first if you only need the hosting answer.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"url": {
"description": "The infringing URL or bare domain",
"minLength": 1,
"type": "string"
},
"what": {
"description": "One line on what was copied (e.g. \"my photo set\", \"my course videos\") — echoed into the plan, not judged",
"maxLength": 500,
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "assess_takedown",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"domain": {
"type": "string"
},
"fileable": {
"type": "boolean"
},
"legalNotes": {
"items": {
"type": "string"
},
"type": "array"
},
"nextStep": {
"type": "string"
},
"process": {
"items": {
"type": "string"
},
"type": "array"
},
"requiredFromYou": {
"items": {
"type": "string"
},
"type": "array"
},
"route": {
"enum": [
"host_abuse",
"platform_form",
"search_deindex",
"needs_reveal",
"undetermined"
],
"type": "string"
},
"target": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"url",
"domain",
"route",
"target",
"fileable",
"requiredFromYou",
"process",
"legalNotes",
"nextStep"
],
"type": "object"
}
},
{
"description": "Preserve a public web page as evidence BEFORE it disappears: a forensic-grade package — full-page screenshot, raw and rendered HTML, HTTP headers, hosting/registrar context, SHA-256 hashes of every artifact, an OpenTimestamps Bitcoin anchor and an Internet Archive snapshot — delivered to the USER'S OWN email in ~2 minutes (free: 3/day, 10/month per email). Use when the user wants to \"save proof\", \"screenshot for court\" or fix a scam/infringing page before takedown. Sends one email to the address given; captures only public pages (no logins/paywalls); lawful preservation only. Not notarization — Lawyerd counsel can add a signed declaration of the capture procedure on request.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"company": {
"description": "Company or the work being protected",
"maxLength": 300,
"type": "string"
},
"email": {
"description": "The USER'S OWN email — the evidence package is delivered there",
"format": "email",
"type": "string"
},
"name": {
"description": "Requester's name (appears in the capture record)",
"maxLength": 200,
"type": "string"
},
"url": {
"description": "The public page URL to preserve",
"minLength": 4,
"type": "string"
}
},
"required": [
"url",
"email"
],
"type": "object"
},
"name": "preserve_evidence",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"accepted": {
"type": "boolean"
},
"alreadyCaptured": {
"type": "boolean"
},
"captureId": {
"type": [
"string",
"null"
]
},
"deliveredTo": {
"type": [
"string",
"null"
]
},
"errorCode": {
"type": [
"string",
"null"
]
},
"nextStep": {
"type": "string"
},
"url": {
"type": "string"
},
"verificationUrl": {
"type": [
"string",
"null"
]
},
"whatHappensNext": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"accepted",
"url",
"captureId",
"verificationUrl",
"deliveredTo",
"alreadyCaptured",
"whatHappensNext",
"errorCode",
"nextStep"
],
"type": "object"
}
},
{
"description": "Look up who hosts a URL and where an abuse/takedown notice would go. Identifies the CDN/proxy in front (e.g. Cloudflare), the platform, or the direct host and its abuse contact. For direct hosts and previously-revealed domains it returns the real host immediately; for a domain hidden behind a proxy it explains that revealing the true host requires initiating an abuse report. Read-only; files nothing. A lookup, not legal advice; it does not guarantee removal.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"url": {
"description": "The infringing URL or bare domain",
"minLength": 1,
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "resolve_host",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"domain": {
"type": "string"
},
"frontedBy": {
"enum": [
"platform",
"cdn_proxy",
"direct_host",
"unknown"
],
"type": "string"
},
"host": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"abuseEmail": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
}
},
"required": [
"name",
"abuseEmail"
],
"type": "object"
},
{
"type": "null"
}
]
},
"nextStep": {
"type": "string"
},
"platform": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"abuseChannel": {
"enum": [
"api",
"form",
"email"
],
"type": "string"
},
"formUrl": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
}
},
"required": [
"name",
"abuseChannel",
"formUrl"
],
"type": "object"
},
{
"type": "null"
}
]
},
"proxy": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
{
"type": "null"
}
]
},
"realHostHidden": {
"type": "boolean"
},
"revealSource": {
"anyOf": [
{
"enum": [
"direct",
"cached_reveal"
],
"type": "string"
},
{
"type": "null"
}
]
},
"takedownRoute": {
"enum": [
"host_abuse",
"platform_form",
"search_deindex",
"needs_reveal",
"undetermined"
],
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"url",
"domain",
"frontedBy",
"proxy",
"platform",
"host",
"revealSource",
"takedownRoute",
"realHostHidden",
"nextStep"
],
"type": "object"
}
},
{
"description": "Get the secure onboarding link to actually start a takedown. The content owner opens it once in a browser to identify themselves, sign the standing authorization (the one step that legally requires a human), and provide proof of ownership. Returns the link plus what to prepare and what happens next. Creates nothing by itself; filings targeting lawful criticism, reviews or journalism are declined at intake.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"url": {
"description": "The infringing URL or bare domain",
"minLength": 1,
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "start_takedown",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"humanNote": {
"type": "string"
},
"nextStep": {
"type": "string"
},
"onboardingUrl": {
"type": "string"
},
"url": {
"type": "string"
},
"whatHappensNext": {
"items": {
"type": "string"
},
"type": "array"
},
"whatToPrepare": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"url",
"onboardingUrl",
"whatToPrepare",
"whatHappensNext",
"humanNote",
"nextStep"
],
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:912983da4b86ce65f55a6d5d1b7f71af442a91c1030c1a1b43c2279920f89666 | sha256sum