Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,533Letters: 13Defects: 1,322counted 4 min ago
teppi

Server definition

Hash
sha256:d8e5c3d3a4f689cd681cf79f4e75f9550df0ce62b6a90a162a4138f20698878b
What it is
What a remote MCP server returned when asked what it offers: 5 tools

The blob, as servednamed by its sha256

{ "instructions": "Read-only access to the JENRIKS daily photoblog: one photograph per day since January 1, 2006, alternating between Jens Herrmann and Erik Hehrmann. Use search_photos to find photos by keyword, place, category, photographer, tag or year; get_photo for one post by date (YYYY-MM-DD) or page URL; get_latest_photo for today's post; random_photo for serendipity; get_site_overview for totals, categories and section URLs. Every result carries a permanent page URL and the photographer credit. Photographs are copyrighted: credit the photographer, link the page, and send licensing questions to https://jenriks.com/contact/. search_photos pages with cursor/next_cursor; get_latest_photo takes an optional photographer (Erik or Jens) and get_site_overview an optional include list (photographers, categories, years, sections, license).", "tools": [ { "description": "Return today's JENRIKS photo (the newest post), or the newest post by one photographer when photographer is set. A new photo appears every day at 00:00 Europe/Berlin.", "inputSchema": { "additionalProperties": false, "properties": { "photographer": { "description": "Latest post by this photographer; omit for the newest post overall", "enum": [ "Erik", "Jens" ], "type": "string" } }, "required": [], "type": "object" }, "name": "get_latest_photo", "outputSchema": { "properties": { "photo": { "properties": { "categories": { "items": { "type": "string" }, "type": "array" }, "credit": { "description": "Ready-made credit line: photographer, JENRIKS, page URL", "type": "string" }, "date": { "description": "Publication date, YYYY-MM-DD", "format": "date", "type": "string" }, "geo": { "description": "WGS 84 coordinates of the location when the post carries them, otherwise null", "properties": { "latitude": { "maximum": 90, "minimum": -90, "type": "number" }, "longitude": { "maximum": 180, "minimum": -180, "type": "number" } }, "required": [ "latitude", "longitude" ], "type": [ "object", "null" ] }, "image": { "properties": { "full": { "description": "1600 px long edge", "format": "uri", "type": "string" }, "thumbnail": { "description": "400 px long edge", "format": "uri", "type": [ "string", "null" ] } }, "required": [ "full" ], "type": "object" }, "location": { "description": "City and country when known", "type": [ "string", "null" ] }, "photographer": { "enum": [ "Erik", "Jens" ], "type": "string" }, "tags": { "items": { "type": "string" }, "type": "array" }, "title": { "type": "string" }, "url": { "description": "Permanent page URL", "format": "uri", "type": "string" } }, "required": [ "title", "photographer", "date", "url", "categories", "tags", "image", "credit" ], "type": "object" } }, "required": [ "photo" ], "type": "object" } }, { "description": "Return one JENRIKS post by publication date (YYYY-MM-DD) or by page URL / path (/YYYY/MM/DD/slug/).", "inputSchema": { "additionalProperties": false, "properties": { "date": { "description": "YYYY-MM-DD", "type": "string" }, "url": { "description": "Page URL or path, e.g. /2026/09/04/liminal-space/", "type": "string" } }, "required": [], "type": "object" }, "name": "get_photo", "outputSchema": { "properties": { "date": { "type": "string" }, "found": { "type": "boolean" }, "hint": { "type": "string" }, "photo": { "properties": { "categories": { "items": { "type": "string" }, "type": "array" }, "credit": { "description": "Ready-made credit line: photographer, JENRIKS, page URL", "type": "string" }, "date": { "description": "Publication date, YYYY-MM-DD", "format": "date", "type": "string" }, "geo": { "description": "WGS 84 coordinates of the location when the post carries them, otherwise null", "properties": { "latitude": { "maximum": 90, "minimum": -90, "type": "number" }, "longitude": { "maximum": 180, "minimum": -180, "type": "number" } }, "required": [ "latitude", "longitude" ], "type": [ "object", "null" ] }, "image": { "properties": { "full": { "description": "1600 px long edge", "format": "uri", "type": "string" }, "thumbnail": { "description": "400 px long edge", "format": "uri", "type": [ "string", "null" ] } }, "required": [ "full" ], "type": "object" }, "location": { "description": "City and country when known", "type": [ "string", "null" ] }, "photographer": { "enum": [ "Erik", "Jens" ], "type": "string" }, "tags": { "items": { "type": "string" }, "type": "array" }, "title": { "type": "string" }, "url": { "description": "Permanent page URL", "format": "uri", "type": "string" } }, "required": [ "title", "photographer", "date", "url", "categories", "tags", "image", "credit" ], "type": "object" }, "url": { "type": "string" } }, "required": [ "found" ], "type": "object" } }, { "description": "Totals, photographers, categories with counts, posts per year, section URLs, URL pattern and license terms. Pass include to keep only some of those blocks next to the totals and dates.", "inputSchema": { "additionalProperties": false, "properties": { "include": { "description": "Blocks to keep besides site, description, totals and dates; omit for everything", "items": { "enum": [ "photographers", "categories", "years", "sections", "license" ], "type": "string" }, "type": "array", "uniqueItems": true } }, "required": [], "type": "object" }, "name": "get_site_overview", "outputSchema": { "properties": { "categories": { "items": { "properties": { "name": { "type": "string" }, "photos": { "type": "integer" } }, "required": [ "name", "photos" ], "type": "object" }, "type": "array" }, "description": { "type": "string" }, "first_date": { "format": "date", "type": "string" }, "latest_date": { "format": "date", "type": "string" }, "license": { "type": "string" }, "photographers": { "items": { "properties": { "full_name": { "type": "string" }, "name": { "type": "string" }, "page": { "format": "uri", "type": "string" }, "photos": { "type": "integer" } }, "required": [ "name", "full_name", "photos", "page" ], "type": "object" }, "type": "array" }, "sections": { "additionalProperties": { "format": "uri", "type": "string" }, "type": "object" }, "site": { "type": "string" }, "total_photos": { "type": "integer" }, "url_pattern": { "type": "string" }, "years": { "items": { "properties": { "photos": { "type": "integer" }, "year": { "type": "string" } }, "required": [ "year", "photos" ], "type": "object" }, "type": "array" } }, "required": [ "site", "description", "total_photos", "first_date", "latest_date", "photographers", "categories", "years", "sections", "url_pattern", "license" ], "type": "object" } }, { "description": "Return a random JENRIKS photo, optionally limited to a photographer, category or year.", "inputSchema": { "additionalProperties": false, "properties": { "category": { "type": "string" }, "photographer": { "enum": [ "Erik", "Jens" ], "type": "string" }, "year": { "minimum": 2005, "type": "integer" } }, "required": [], "type": "object" }, "name": "random_photo", "outputSchema": { "properties": { "found": { "type": "boolean" }, "hint": { "type": "string" }, "photo": { "properties": { "categories": { "items": { "type": "string" }, "type": "array" }, "credit": { "description": "Ready-made credit line: photographer, JENRIKS, page URL", "type": "string" }, "date": { "description": "Publication date, YYYY-MM-DD", "format": "date", "type": "string" }, "geo": { "description": "WGS 84 coordinates of the location when the post carries them, otherwise null", "properties": { "latitude": { "maximum": 90, "minimum": -90, "type": "number" }, "longitude": { "maximum": 180, "minimum": -180, "type": "number" } }, "required": [ "latitude", "longitude" ], "type": [ "object", "null" ] }, "image": { "properties": { "full": { "description": "1600 px long edge", "format": "uri", "type": "string" }, "thumbnail": { "description": "400 px long edge", "format": "uri", "type": [ "string", "null" ] } }, "required": [ "full" ], "type": "object" }, "location": { "description": "City and country when known", "type": [ "string", "null" ] }, "photographer": { "enum": [ "Erik", "Jens" ], "type": "string" }, "tags": { "items": { "type": "string" }, "type": "array" }, "title": { "type": "string" }, "url": { "description": "Permanent page URL", "format": "uri", "type": "string" } }, "required": [ "title", "photographer", "date", "url", "categories", "tags", "image", "credit" ], "type": "object" }, "pool_size": { "type": "integer" } }, "required": [ "found" ], "type": "object" } }, { "description": "Search the JENRIKS archive (one photo per day since 2006). Free-text query matches title, place, categories, tags and photographer; filters narrow by photographer, category, year and location. Returns permanent page URLs, credits, coordinates and image URLs, newest first. Page with offset, or with the opaque cursor from next_cursor (cursor wins when both are sent).", "inputSchema": { "additionalProperties": false, "properties": { "category": { "description": "One of: Abstract, Architecture, B&W, Humans, Landscapes, Macro, Nature, News, Street, Studio, Time exposure", "type": "string" }, "cursor": { "description": "Opaque page token from next_cursor; overrides offset", "type": "string" }, "limit": { "default": 10, "maximum": 50, "minimum": 1, "type": "integer" }, "location": { "description": "City or country name, e.g. \"Iceland\"", "type": "string" }, "offset": { "default": 0, "minimum": 0, "type": "integer" }, "photographer": { "enum": [ "Erik", "Jens" ], "type": "string" }, "query": { "description": "Free text, e.g. \"harbour\", \"Barcelona\", \"fog\"", "type": "string" }, "year": { "description": "Four-digit publication year", "minimum": 2005, "type": "integer" } }, "required": [], "type": "object" }, "name": "search_photos", "outputSchema": { "properties": { "cursor": { "description": "Echo of the cursor this page was fetched with, when one was sent", "type": "string" }, "has_more": { "description": "True when another page exists", "type": "boolean" }, "links": { "properties": { "next": { "description": "The same request with cursor=next_cursor and no offset; null on the last page", "format": "uri", "type": [ "string", "null" ] }, "self": { "description": "This request", "format": "uri", "type": "string" } }, "required": [ "self" ], "type": "object" }, "next_cursor": { "description": "Opaque token for the next page; null on the last page. Send it back as cursor.", "type": [ "string", "null" ] }, "next_offset": { "description": "Kept for offset paging; present when more matches exist", "type": "integer" }, "offset": { "description": "Offset of the first returned row; 0 when a cursor was used", "minimum": 0, "type": "integer" }, "photos": { "items": { "properties": { "categories": { "items": { "type": "string" }, "type": "array" }, "credit": { "description": "Ready-made credit line: photographer, JENRIKS, page URL", "type": "string" }, "date": { "description": "Publication date, YYYY-MM-DD", "format": "date", "type": "string" }, "geo": { "description": "WGS 84 coordinates of the location when the post carries them, otherwise null", "properties": { "latitude": { "maximum": 90, "minimum": -90, "type": "number" }, "longitude": { "maximum": 180, "minimum": -180, "type": "number" } }, "required": [ "latitude", "longitude" ], "type": [ "object", "null" ] }, "image": { "properties": { "full": { "description": "1600 px long edge", "format": "uri", "type": "string" }, "thumbnail": { "description": "400 px long edge", "format": "uri", "type": [ "string", "null" ] } }, "required": [ "full" ], "type": "object" }, "location": { "description": "City and country when known", "type": [ "string", "null" ] }, "photographer": { "enum": [ "Erik", "Jens" ], "type": "string" }, "tags": { "items": { "type": "string" }, "type": "array" }, "title": { "type": "string" }, "url": { "description": "Permanent page URL", "format": "uri", "type": "string" } }, "required": [ "title", "photographer", "date", "url", "categories", "tags", "image", "credit" ], "type": "object" }, "type": "array" }, "returned": { "minimum": 0, "type": "integer" }, "total_matches": { "minimum": 0, "type": "integer" } }, "required": [ "total_matches", "offset", "returned", "photos", "has_more", "next_cursor" ], "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:d8e5c3d3a4f689cd681cf79f4e75f9550df0ce62b6a90a162a4138f20698878b | sha256sum