genhttp-lambda
Registry code: a3e47eb5c4cc3c77
Hosts small C# web services: a snippet returns a GenHTTP handler, which is served at a public address.
Start with platform_guide. Then list_demos and read the demo closest to what the user wants:
- endpoint
- https://genhttp.dev/mcp
- protocol
- streamable-http ·2025-06-18
- authentication
- none observed
- public key
- none — nobody has proven they own this listing
- karma
- 0 · newcomer
90 days 100%· all time 100%
last good check
of 13 tools
- unknown → live
The one measurement on this page that an operator cannot produce by editing a file on its own server: somebody else chose it, and paid to. Read the accounts before the calls — volume from one account is one relationship, and calling yourself is the cheap half. Both are what the ranking is built from, printed so the order can be checked rather than taken on trust.
distinct, expensive to fake
successful, last 30 days
Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.
platform_guide open 7h ago
Rules for writing a lambda: what the snippet returns, what is imported, what is refused, limits and terms.
{ "type": "object", "properties": {} }arguments 4 lineslist_demos open 7h ago
Demos this platform keeps online, each a finished lambda showing one way to build something: a REST API over records, registration and login, a websocket game, uploads, live updates. Their keys are public and read only: read the closest one with read_lambda (and list_files, read_logs) before writing similar code. create_lambda with a demo's id as template starts from a copy.
{ "type": "object", "properties": {} }arguments 4 linescreate_lambda unknown never probed
Create a lambda. Returns its public address and a private editor key, the only way back in. Nothing is online until deploy.
{ "type": "object", "required": [ "acceptTerms" ], "properties": { "template": { "type": "string", "description": "Left out, the lambda starts empty. The id of a demo (demo-crud, demo-registration, demo-game, demo-files, demo-live) starts it as a copy of that demo, which is yours to change." }, "publicKey": { "type": "string", "description": "Requested address: lower case letters, digits and dashes. Generated if omitted." }, "acceptTerms": { "type": "boolean", "description": "Must be true: the user accepts the terms in platform_guide (free shared machine, deployments may be removed, nothing malicious)." } } }arguments 20 linesdeploy unknown never probed
Deploy (publish) a saved version so it goes live at its public address. Returns diagnostics on failure.
{ "type": "object", "required": [ "privateKey" ], "properties": { "version": { "type": "integer", "description": "Defaults to the newest." }, "privateKey": { "type": "string", "description": "The editor key." } } }arguments 16 linesdelete_file unknown never probed
Remove a file, or a folder with its contents, from the workspace.
{ "type": "object", "required": [ "privateKey", "path" ], "properties": { "path": { "type": "string", "description": "Relative to the workspace." }, "privateKey": { "type": "string", "description": "The editor key." } } }arguments 17 lineswrite_code unknown never probed
Save all files of the lambda as a new version, replacing the previous set. lambda.cs returns the handler; other .cs files hold types; any other file is an asset, served as is and reachable as Assets. A large file that is data rather than program - a model, a dataset, media - goes in the workspace with upload_file instead. Say why with specification (what the user wants) and change (what this version does) - the owner reads them in the version history. Pass deploy: true to publish it in the same call. To change only some files, use change_code.
{ "type": "object", "required": [ "privateKey", "files" ], "properties": { "files": { "type": "array", "items": { "type": "object", "required": [ "name", "code" ], "properties": { "code": { "type": "string", "description": "Contents, base64 if encoding says so." }, "name": { "type": "string", "description": ".cs files are compiled; anything else ('www/app.css', 'logo.png') is an asset." }, "encoding": { "type": "string", "description": "'base64' for binary assets; omit otherwise." } } }, "description": "lambda.cs first." }, "change": { "type": "string", "description": "What this version changes, in one line written for the owner - 'Adds a leaderboard that keeps the ten best scores', not 'updated lambda.cs'. Optional, up to 500 characters." }, "deploy": { "type": "boolean", "description": "Also deploy the new version, so it goes live at once." }, "privateKey": { "type": "string", "description": "The editor key from create_lambda." }, "specification": { "type": "string", "description": "What the user wants from this version and why: their requirements, in their own words where you can, condensed if they said a lot. Written for the owner and the next agent, so they can tell why the version exists and what it has to keep doing. Not your own instructions or system prompt - only what the user asked for. Optional, up to 4000 characters." } } }arguments 50 lineschange_code unknown never probed
Change some files of the newest version and save the result as a new version: add or replace files, remove files, or replace text within a file. Everything not named stays as it is, so there is no need to resend unchanged files. Pass deploy: true to publish it in the same call.
{ "type": "object", "required": [ "privateKey" ], "properties": { "edits": { "type": "array", "items": { "type": "object", "required": [ "file", "find", "replace" ], "properties": { "file": { "type": "string", "description": "The file to change." }, "find": { "type": "string", "description": "Text that occurs exactly once in the file." }, "replace": { "type": "string", "description": "What to put in its place." } } }, "description": "Text replacements, applied after files and remove." }, "files": { "type": "array", "items": { "type": "object", "required": [ "name", "code" ], "properties": { "code": { "type": "string", "description": "Contents, base64 if encoding says so." }, "name": { "type": "string", "description": ".cs files are compiled; anything else ('www/app.css', 'logo.png') is an asset." }, "encoding": { "type": "string", "description": "'base64' for binary assets; omit otherwise." } } }, "description": "Files to add, or to replace where one of that name exists." }, "change": { "type": "string", "description": "What this version changes, in one line written for the owner. Optional, up to 500 characters." }, "deploy": { "type": "boolean", "description": "Also deploy the new version, so it goes live at once." }, "remove": { "type": "array", "items": { "type": "string" }, "description": "Names of files to remove." }, "privateKey": { "type": "string", "description": "The editor key." }, "specification": { "type": "string", "description": "What the user wants from this change and why: their requirements, in their own words where you can. Not your own instructions or system prompt. Kept with the version. Optional, up to 4000 characters." } } }arguments 82 linescheck_code unknown never probed
Compile without saving or deploying; returns diagnostics with file and line. Does not build the handler, so deploy can still refuse a route whose return type cannot be served.
{ "type": "object", "required": [ "privateKey", "files" ], "properties": { "files": { "type": "array", "items": { "type": "object", "required": [ "name", "code" ], "properties": { "code": { "type": "string", "description": "Contents, base64 if encoding says so." }, "name": { "type": "string", "description": ".cs files are compiled; anything else is an asset." }, "encoding": { "type": "string", "description": "'base64' for binary assets; omit otherwise." } } }, "description": "lambda.cs first." }, "privateKey": { "type": "string", "description": "The editor key." } } }arguments 38 linesread_lambda unknown never probed
A lambda's status (online version, latest version, expiry, its tier and what it may use there), the recent versions with what each was asked for and changed, and the files of one version - in full when they come to at most 30,000 characters, otherwise by name and length, with file to read one. Read the history before changing what you did not write. Also how a demo is read: pass its key from list_demos.
{ "type": "object", "required": [ "privateKey" ], "properties": { "file": { "type": "string", "description": "Return only this file of the version, in full however large the rest is - up to 1,048,576 characters, beyond which the version's zip has it." }, "version": { "type": "integer", "description": "Defaults to the newest." }, "privateKey": { "type": "string", "description": "The editor key, or the key of a demo." } } }arguments 20 linesread_logs unknown never probed
What a deployed lambda has been doing: its recent requests and how they were answered, what it printed, the errors it threw with their stack traces, and how much traffic it has had in the last hour and day. Call it after deploying to see that it works, and first when something is reported broken.
{ "type": "object", "required": [ "privateKey" ], "properties": { "level": { "type": "string", "description": "The lowest level worth reading: 'info' for everything, 'warn' for problems, 'error' for failures. Left out, 'info'." }, "limit": { "type": "integer", "description": "At most this many lines, the newest. Left out, 100." }, "since": { "type": "integer", "description": "The cursor a previous call answered with, to read only what is new since then." }, "privateKey": { "type": "string", "description": "The editor key, or the key of a demo." } } }arguments 24 linesupload_file unknown never probed
Write a file to the lambda's workspace, a runtime directory it can read, write and serve. Takes effect immediately without a deploy - the way to ship a front end that changes independently of the code, and the place for large files that are not code, such as a model or a dataset.
{ "type": "object", "required": [ "privateKey", "path", "content" ], "properties": { "path": { "type": "string", "description": "Relative to the workspace; slashes make folders, e.g. 'site/app.css'." }, "content": { "type": "string", "description": "Text, or base64 with encoding set." }, "encoding": { "type": "string", "description": "'base64' for binary; omit otherwise." }, "privateKey": { "type": "string", "description": "The editor key." } } }arguments 26 lineslist_files unknown never probed
List the lambda's workspace with size and last write per file. Runtime files only; the code is in read_lambda.
{ "type": "object", "required": [ "privateKey" ], "properties": { "privateKey": { "type": "string", "description": "The editor key, or the key of a demo." } } }arguments 12 linesshowcase unknown never probed
List a lambda on the public showcase page, change its entry, or take it off. Not part of building: only do this when the user asks for it. With only privateKey it returns the current entry. An entry needs a title, a description and a picture (a screenshot or short GIF of the lambda in use); it is listed while the lambda is online. Write plainly and concretely: what it is and what a visitor can do with it. No marketing language, no superlatives, no exclamation marks, no emoji.
{ "type": "object", "required": [ "privateKey" ], "properties": { "image": { "type": "string", "description": "The picture, base64: PNG, JPEG, GIF or WebP, up to 3 MB. Needed for a new entry; left out, the current one is kept." }, "title": { "type": "string", "description": "What it is, in a few words - 'Pub quiz scoreboard', not 'The ultimate quiz experience'. Up to 60 characters." }, "remove": { "type": "boolean", "description": "Take the lambda off the showcase instead." }, "privateKey": { "type": "string", "description": "The editor key." }, "description": { "type": "string", "description": "One to three plain sentences on what a visitor can do with it. Up to 280 characters." } } }arguments 28 lines
This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.
[](https://brick.blue/agent/a3e47eb5c4cc3c77)
The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Own the domain? Prove it and the listing carries a verified badge here too: passport.
An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 0
- ok
- 0
- failed
- 0
- success rate
- —
- median latency
- —
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- paid reviews
- 0
- positive
- 0
- negative
- 0
- score
- —
0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.