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

Server definition

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

The blob, as servednamed by its sha256

{ "instructions": null, "tools": [ { "description": "Return a short bio about Cameron Rye, the portfolio owner.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "get_about", "outputSchema": null }, { "description": "Return what Cameron is currently working on, learning, building, reading, and up to in life — the live /now page sections.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "get_now", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "sections": { "items": { "additionalProperties": false, "properties": { "body": { "type": "string" }, "status": { "type": "string" }, "title": { "type": "string" }, "updatedAt": { "type": "string" } }, "required": [ "title", "status" ], "type": "object" }, "type": "array" }, "url": { "type": "string" } }, "required": [ "url", "sections" ], "type": "object" } }, { "description": "Return the full markdown body and frontmatter of a post by slug.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "slug": { "minLength": 1, "type": "string" } }, "required": [ "slug" ], "type": "object" }, "name": "get_post", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "body": { "type": "string" }, "frontmatter": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "slug": { "type": "string" }, "url": { "type": "string" } }, "required": [ "slug", "frontmatter", "body", "url" ], "type": "object" } }, { "description": "Return the full markdown body and frontmatter of a project by slug.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "slug": { "minLength": 1, "type": "string" } }, "required": [ "slug" ], "type": "object" }, "name": "get_project", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "body": { "type": "string" }, "frontmatter": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "slug": { "type": "string" }, "url": { "type": "string" } }, "required": [ "slug", "frontmatter", "body", "url" ], "type": "object" } }, { "description": "Return live, PII-free operational stats for rye.dev: recent Core Web Vitals p75s, 30-day pageviews, trailing-30d uptime %, top-reacted pages, and the last deploy. Same data the homepage pulse strip shows.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "get_pulse", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "pulse": { "additionalProperties": false, "properties": { "asOf": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "deploy": { "anyOf": [ { "additionalProperties": false, "properties": { "branch": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "buildSeconds": { "anyOf": [ { "type": "number" }, { "type": "null" } ] }, "completedAt": { "type": "number" }, "message": { "type": "string" }, "sha": { "type": "string" }, "status": { "type": "string" } }, "required": [ "sha", "message", "branch", "status", "buildSeconds", "completedAt" ], "type": "object" }, { "type": "null" } ] }, "pageviews": { "additionalProperties": false, "properties": { "days": { "type": "number" }, "series": { "items": { "type": "number" }, "type": "array" }, "total": { "type": "number" } }, "required": [ "days", "total", "series" ], "type": "object" }, "topReacted": { "items": { "additionalProperties": false, "properties": { "count": { "type": "number" }, "path": { "type": "string" } }, "required": [ "path", "count" ], "type": "object" }, "type": "array" }, "uptime": { "anyOf": [ { "additionalProperties": false, "properties": { "avgMs": { "type": "number" }, "days": { "type": "number" }, "pct": { "type": "number" } }, "required": [ "pct", "avgMs", "days" ], "type": "object" }, { "type": "null" } ] }, "webVitals": { "items": { "additionalProperties": false, "properties": { "metric": { "type": "string" }, "p75": { "type": "number" }, "rating": { "type": "string" }, "unit": { "type": "string" } }, "required": [ "metric", "p75", "unit", "rating" ], "type": "object" }, "type": "array" } }, "required": [ "asOf", "webVitals", "pageviews", "uptime", "topReacted", "deploy" ], "type": "object" }, "url": { "type": "string" } }, "required": [ "url", "pulse" ], "type": "object" } }, { "description": "Return Cameron's reading list — books currently reading, finished, or abandoned, with notes. Filter by status if given.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "status": { "enum": [ "reading", "finished", "abandoned" ], "type": "string" } }, "type": "object" }, "name": "get_reading", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "books": { "items": { "additionalProperties": false, "properties": { "author": { "type": "string" }, "finished": { "type": "string" }, "notes": { "type": "string" }, "started": { "type": "string" }, "status": { "type": "string" }, "title": { "type": "string" }, "url": { "type": "string" } }, "required": [ "title", "author", "status" ], "type": "object" }, "type": "array" }, "url": { "type": "string" } }, "required": [ "url", "books" ], "type": "object" } }, { "description": "Return up to N most recent published blog posts.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "limit": { "default": 10, "maximum": 50, "minimum": 1, "type": "integer" } }, "type": "object" }, "name": "list_posts", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "posts": { "items": { "additionalProperties": false, "properties": { "date": { "type": "string" }, "description": { "type": "string" }, "slug": { "type": "string" }, "tags": { "items": { "type": "string" }, "type": "array" }, "title": { "type": "string" } }, "required": [ "slug", "title", "description", "date", "tags" ], "type": "object" }, "type": "array" } }, "required": [ "posts" ], "type": "object" } }, { "description": "Return all portfolio projects with their slug, title, and short description.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "list_projects", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "projects": { "items": { "additionalProperties": false, "properties": { "description": { "type": "string" }, "slug": { "type": "string" }, "title": { "type": "string" } }, "required": [ "slug", "title", "description" ], "type": "object" }, "type": "array" } }, "required": [ "projects" ], "type": "object" } }, { "description": "Case-insensitive substring match across title, description, and tags. Returns up to 10 matches.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "query": { "minLength": 1, "type": "string" } }, "required": [ "query" ], "type": "object" }, "name": "search_posts", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "matches": { "items": { "additionalProperties": false, "properties": { "date": { "type": "string" }, "description": { "type": "string" }, "slug": { "type": "string" }, "tags": { "items": { "type": "string" }, "type": "array" }, "title": { "type": "string" } }, "required": [ "slug", "title", "description", "date", "tags" ], "type": "object" }, "type": "array" } }, "required": [ "matches" ], "type": "object" } }, { "description": "Semantic (vector similarity) search across blog posts and projects — the same Cloudflare Vectorize retrieval the Ask chatbot uses, without the LLM call. Broader than search_posts (which only does exact substring matching on title/description/tags): finds conceptually related content even when the query words never appear verbatim. Returns scored chunks with deep-link URLs.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "limit": { "default": 5, "maximum": 10, "minimum": 1, "type": "integer" }, "query": { "maxLength": 200, "minLength": 1, "type": "string" } }, "required": [ "query" ], "type": "object" }, "name": "search_site", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "results": { "items": { "additionalProperties": false, "properties": { "score": { "type": "number" }, "snippet": { "type": "string" }, "title": { "type": "string" }, "url": { "type": "string" } }, "required": [ "title", "url", "score", "snippet" ], "type": "object" }, "type": "array" } }, "required": [ "results" ], "type": "object" } }, { "description": "Send Cameron a message through the site contact form. Subject to the same validation and per-IP rate limits as the contact form itself.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "email": { "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", "type": "string" }, "message": { "type": "string" }, "name": { "type": "string" }, "subject": { "type": "string" } }, "required": [ "name", "email", "subject", "message" ], "type": "object" }, "name": "submit_contact", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "id": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "success": { "type": "boolean" } }, "required": [ "success", "id" ], "type": "object" } }, { "description": "Subscribe an email address to the newsletter. Sends a confirmation email; the subscription only becomes active once confirmed. Same validation and per-IP rate limits as the signup form.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "email": { "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", "type": "string" }, "source": { "maxLength": 50, "type": "string" } }, "required": [ "email" ], "type": "object" }, "name": "subscribe_newsletter", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "message": { "type": "string" }, "success": { "type": "boolean" } }, "required": [ "success", "message" ], "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:c596b2668d368492acc597943d263726b51e1731389742027d6d66bb713db9d4 | sha256sum