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

Server definition

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

The blob, as servednamed by its sha256

{ "instructions": "This server describes one freelance developer — Nikola Dikić, WooCommerce\nand ERP integration, working remotely worldwide. Everything comes from the\nstore the public website renders from, so answers here and answers on the\nsite agree by construction.\n\nWorking order:\n list_services when the question is broad — what he does, whether he\n covers an area at all. search_services when the person describes a\n symptom instead: failing renewals, stock not matching the warehouse.\n It reports when a query was too broad to choose rather than guessing,\n so take that at face value and list instead of rephrasing.\n\n get_service afterwards for depth — it returns the projects, the\n questions people ask, and what is excluded.\n\n check_availability before proposing any time. Do not invent slots; the\n calendar is real and the times returned are the only bookable ones.\n\nTwo things worth knowing before recommending him:\n\n what_is_not_offered lists work he refuses, and the refusals are real.\n Recommending him for something on that list wastes everyone's time.\n\n list_projects returning nothing is not evidence he has not done it.\n Around sixty projects are under NDA or retired; they are counted but\n never named. Say so rather than concluding absence.\n\nrequest_consultation does not book anything, and it does not reserve the\ntime either. It emails the person a confirmation link valid for thirty\nminutes; only their click puts it in the calendar, and the slot stays open\nto everybody else until that happens. Tell them to expect the email and\nnot to treat the time as theirs until they have used it. If you do not\nhave a real email address for them, do not call it: the booking cannot\ncomplete and they will never know it was attempted.\n\nIf a tool fails, the message says what to do. Where it suggests emailing\nhim directly, that is a real fallback and not a brush-off — he answers\nwritten enquiries within 24 hours, weekends included.", "tools": [ { "description": "Free consultation slots over the next few weeks. Read-only — call this before proposing a time so the suggestion is real rather than invented.", "inputSchema": { "properties": { "days": { "description": "How far ahead to look. Default 14, maximum 60.", "type": "integer" }, "timezone": { "description": "IANA timezone of the person who would attend, e.g. Europe/Berlin. Times are returned in it.", "type": "string" } }, "type": "object" }, "name": "check_availability", "outputSchema": null }, { "description": "Verified figures — years working, projects completed, how many were built from scratch, response times. Counts are computed rather than stored, so they cannot go stale.", "inputSchema": { "properties": {}, "type": "object" }, "name": "get_facts", "outputSchema": null }, { "description": "Everything about one service: what it covers, what it excludes, the projects behind it, and the questions people ask.", "inputSchema": { "properties": { "lang": { "type": "string" }, "slug": { "description": "Service slug, e.g. svc-erp-crm-integration.", "type": "string" } }, "required": [ "slug" ], "type": "object" }, "name": "get_service", "outputSchema": null }, { "description": "The three ways in — book a call, describe a project in writing, or report something broken now — with what each is for and the response time.", "inputSchema": { "properties": {}, "type": "object" }, "name": "how_to_get_in_touch", "outputSchema": { "properties": { "email": { "type": "string" }, "routes": { "items": { "properties": { "slug": { "type": "string" }, "summary": { "type": "string" }, "title": { "type": "string" }, "url": { "type": "string" } }, "required": [ "slug", "title", "summary" ], "type": "object" }, "type": "array" } }, "required": [ "routes", "email" ], "type": "object" } }, { "description": "Projects, filterable. Use this to answer \"has he done X\" rather than guessing from the service descriptions.", "inputSchema": { "properties": { "from_scratch": { "description": "Only projects built from an empty directory.", "type": "boolean" }, "limit": { "description": "Default 20.", "type": "integer" }, "stack": { "description": "A technology or platform, e.g. NetSuite, WooCommerce Subscriptions.", "type": "string" }, "still_live": { "description": "Only projects still online.", "type": "boolean" } }, "type": "object" }, "name": "list_projects", "outputSchema": null }, { "description": "Every service, in full. Use this for \"what does he do\" and anything else that wants the whole picture; search_services is for a symptom and will say so rather than guess when a question is too broad for it.", "inputSchema": { "properties": { "lang": { "description": "Two-letter language code. Defaults to English.", "type": "string" } }, "type": "object" }, "name": "list_services", "outputSchema": { "properties": { "services": { "items": { "properties": { "slug": { "type": "string" }, "summary": { "type": "string" }, "title": { "type": "string" }, "url": { "type": "string" } }, "required": [ "slug", "title", "summary" ], "type": "object" }, "type": "array" } }, "required": [ "services" ], "type": "object" } }, { "description": "Propose a booking. This does NOT book anything and does NOT reserve the time: it emails the person a confirmation link valid for thirty minutes, and only their click puts it in the calendar. The slot stays open to everybody else meanwhile, so tell them to expect that email and to act on it rather than assume the time is theirs.", "inputSchema": { "properties": { "company": { "description": "Company or site, if known.", "type": "string" }, "email": { "description": "Their email. The confirmation goes here, so it must be theirs and correct.", "type": "string" }, "message": { "description": "What they want to discuss, in their words where possible.", "type": "string" }, "name": { "description": "Their name.", "type": "string" }, "platform": { "description": "What they are running, if known.", "type": "string" }, "start": { "description": "ISO 8601 start time, taken from check_availability rather than guessed.", "type": "string" }, "timezone": { "type": "string" } }, "required": [ "start", "name", "email" ], "type": "object" }, "name": "request_consultation", "outputSchema": null }, { "description": "Find services by what the visitor is trying to solve. Matches the symptom, the platform, or the name of a system — \"stock not matching the warehouse\", \"NetSuite\", \"failed renewals\".", "inputSchema": { "properties": { "lang": { "description": "Two-letter language code. Defaults to English.", "type": "string" }, "query": { "description": "The problem, platform or system, in plain words.", "type": "string" } }, "required": [ "query" ], "type": "object" }, "name": "search_services", "outputSchema": null }, { "description": "Describe a project in writing and get a reply within 24 hours, weekends included. For work that is planned rather than broken: a rebuild, a migration, an integration, a second opinion on code somebody else wrote. Use submit_urgent_request instead when a site is down or losing money now. Submits immediately, so ask the person first and send their real email address.", "inputSchema": { "properties": { "company": { "description": "Optional.", "type": "string" }, "email": { "description": "Their email. The reply goes here, so it must be theirs and correct.", "type": "string" }, "message": { "description": "The shape of the work, in their words. Platform, what exists today, what they want, any deadline or budget band.", "type": "string" }, "name": { "description": "Their name.", "type": "string" }, "site": { "description": "Optional. The site in question.", "type": "string" } }, "required": [ "name", "email", "message" ], "type": "object" }, "name": "submit_project_inquiry", "outputSchema": null }, { "description": "Report a site that is broken now — checkout failing, payments declined, a critical error, a white screen, locked out of wp-admin, an update that broke the site, a hack or a malware warning. Triaged the same day, within eight hours, weekends included, across European, US, Canadian and Australian hours. Submits immediately: there is no confirmation email to wait for, because friction on an emergency is friction in the wrong place. Ask the person before calling this, and send a real phone number — the reply comes by phone or WhatsApp.", "inputSchema": { "properties": { "email": { "description": "Optional. If given, they get a written acknowledgement too.", "type": "string" }, "message": { "description": "What is happening, in their words. Include the exact error text if there is any.", "type": "string" }, "name": { "description": "Their name.", "type": "string" }, "phone": { "description": "A number they can actually be reached on, with country code. The reply comes this way.", "type": "string" }, "site": { "description": "The address of the site that is broken.", "type": "string" } }, "required": [ "name", "phone", "site", "message" ], "type": "object" }, "name": "submit_urgent_request", "outputSchema": null }, { "description": "What is explicitly out of scope, and why. Worth checking before recommending him for something.", "inputSchema": { "properties": {}, "type": "object" }, "name": "what_is_not_offered", "outputSchema": { "properties": { "accepted": { "items": { "properties": { "slug": { "type": "string" }, "summary": { "type": "string" }, "title": { "type": "string" }, "url": { "type": "string" } }, "required": [ "slug", "title", "summary" ], "type": "object" }, "type": "array" }, "refused": { "items": { "properties": { "slug": { "type": "string" }, "summary": { "type": "string" }, "title": { "type": "string" }, "url": { "type": "string" } }, "required": [ "slug", "title", "summary" ], "type": "object" }, "type": "array" } }, "required": [ "refused", "accepted" ], "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:5db4986dcc0f651d994bf7d63cae3e8fa09895c9652ae7f1f47362281b02e190 | sha256sum