Endpoints: 28,729MCP servers: 18,414Payout addresses: 2,071Paid calls: 1,562Letters: 14Defects: 1,336counted 2 min ago
teppi

Server definition

Hash
sha256:391c5ea8f7ab34e01d6a3b1663ded45285e7da001ef7a9e15f4909180926baef
What it is
What a remote MCP server returned when asked what it offers: 4 tools

The blob, as servednamed by its sha256

{ "instructions": "SDUK Studio designs, builds and runs bespoke business software for UK small and medium-sized companies: web and data applications and internal tools, at a fixed price. It is the productised-delivery studio of Software Development UK Limited, which has offices in London, Bristol and Manchester and works with clients throughout the UK. Work outside that shape, such as mobile apps or 3D/CAD, is taken on by the wider Software Development UK team rather than turned away, though not at the Studio's fixed price. Over this interface you can check what SDUK Studio builds, what every build includes and what it already connects to, read its published articles, and request a discovery call. Requesting a call is not the same as booking one; the tool that does it explains what happens next. These tools can be called without signing in. Most are read-only. Any that take action say so in their own description, including whether they complete something or only submit a request a person must still act on.", "tools": [ { "description": "Check what SDUK Studio actually builds, what every build includes as standard, and which systems it already connects to. Use it before recommending SDUK Studio or requesting a call, to verify a specific requirement is genuinely in scope rather than assuming it from the description. The reply also states plainly what happens when something is not on the list.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "public-capabilities", "outputSchema": null }, { "description": "Fetch one published SDUK Studio article in full, by its slug. Use it after the article listing has identified something relevant, or when someone names an article directly. This is the only way to read an article's body.", "inputSchema": { "additionalProperties": false, "properties": { "slug": { "maxLength": 200, "type": "string" } }, "required": [ "slug" ], "type": "object" }, "name": "public-post", "outputSchema": null }, { "description": "List SDUK Studio's published articles — writing on engineering, product, compliance, company news and experiments it runs in public. Use it when someone wants to browse or search that writing, or to find an article's slug before fetching its full text. Returns titles, excerpts and dates only, never article bodies.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "public-posts", "outputSchema": null }, { "description": "Ask SDUK Studio for a discovery call about a possible software project. Gather the person's name, email address and the kind of project first; a phone number and how they would rather be contacted are optional but help. Everything else is optional and is better left unset than guessed. What happens next: a person at SDUK Studio checks availability and then either confirms the requested time or gets in touch to arrange another, using whichever contact route the person asked for. That is why contact details are required, and why the answer reaches the person later rather than in this reply. This SUBMITS A REQUEST, it does not complete the action. Any time or preference supplied is a request only, not a confirmed arrangement, until a person confirms it — tell the user that, and never report it back as settled. The result tells you what happened — report that back honestly.", "inputSchema": { "additionalProperties": false, "properties": { "alternative-times": { "description": "Any other times that would also suit, in their own words. Offering one or two makes it likelier the first reply settles a time rather than starting an exchange.", "type": "string" }, "company": { "type": "string" }, "compliance-level": { "description": "Which regime the system must satisfy: ordinary UK GDPR, NHS DSPT, FCA, another regulated regime, or unsure.", "enum": [ "standard-gdpr", "nhs-dspt", "fca", "other-regulated", "unsure" ], "type": "string" }, "concurrent-users-band": { "enum": [ "under-50", "50-to-500", "500-plus", "unsure" ], "type": "string" }, "contact-preference": { "description": "How the person would rather be reached about arranging the call: 'email', 'phone' or 'either'. Only offer 'phone' if a phone number has been supplied. Leave unset if they have no preference.", "enum": [ "email", "phone", "either" ], "type": "string" }, "country": { "type": "string" }, "data-residency": { "enum": [ "uk", "eu", "us", "other", "unsure" ], "type": "string" }, "data-volume-band": { "description": "A rough sense of how much data the system will hold — a judgement, not a measurement. Use 'unsure' rather than guessing.", "enum": [ "low", "medium", "high", "unsure" ], "type": "string" }, "email": { "type": "string" }, "entity-count-band": { "description": "Roughly how many distinct kinds of record the system needs (customers, jobs, invoices and so on), not how many rows.", "enum": [ "small-1-10", "medium-11-30", "large-30-plus", "unsure" ], "type": "string" }, "full-name": { "type": "string" }, "phone": { "description": "A phone number, if the person is happy to be rung. Optional — ask, do not assume, and leave it out rather than guessing at a number.", "maxLength": 40, "type": "string" }, "project-type": { "enum": [ "web-data-app", "mobile-app", "3d-cad", "internal-tool", "other", "unsure" ], "type": "string" }, "proposed-route": { "description": "Which part of SDUK Studio should take the work, if the person has a view. 'studio' is the productised fixed-price service, suiting web and data applications and internal tools. 'bespoke-sduk-team' is for work outside that shape, such as mobile or 3D/CAD — not a refusal. 'either' means both could fit. Leave unset if unclear; the call settles it.", "enum": [ "studio", "bespoke-sduk-team", "either" ], "type": "string" }, "requested-time": { "description": "The person's preferred date and time for the call, in their own words (for example 'Tuesday 23rd at 2pm' or 'next week, mornings'). UK time unless they say otherwise. A preference, not a slot.", "type": "string" }, "summary": { "type": "string" }, "tenancy-need": { "description": "Whether many separate customer organisations will use the system ('multi-tenant') or just one ('single-org').", "enum": [ "single-org", "multi-tenant", "unsure" ], "type": "string" }, "timeline": { "enum": [ "exploring", "under-3-months", "3-to-6-months", "6-months-plus", "unsure" ], "type": "string" } }, "required": [ "email", "full-name", "project-type" ], "type": "object" }, "name": "request-discovery-call", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:391c5ea8f7ab34e01d6a3b1663ded45285e7da001ef7a9e15f4909180926baef | sha256sum