Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,552Letters: 14Defects: 1,323counted 3 min ago
teppi

Server definition

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

The blob, as servednamed by its sha256

{ "instructions": null, "tools": [ { "description": "Poll onboarding state for an email (pending | active | unknown). Use after create_account while waiting for the human to verify.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "email": { "type": "string" } }, "required": [ "email" ], "type": "object" }, "name": "account_status", "outputSchema": null }, { "description": "Start onboarding: require an email, create a pending account, and email a human verify link. Does NOT return an API token. The human must click the link; the verify page shows the token once. Then configure Authorization: Bearer <token> on this MCP client (also docker login -u <token> registry.fiskmas.dev). If you already have a token, call whoami instead.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "display_name": { "type": "string" }, "email": { "type": "string" } }, "required": [ "email" ], "type": "object" }, "name": "create_account", "outputSchema": null }, { "description": "Create a project and reserve <slug>-app.fiskmas.dev. Slug must match ^[a-z0-9][a-z0-9-]{1,48}$ and is not reserved. Subject to the plan's running-project quota (Free: 1, Plus: 5) — on quota the error tells the human how to upgrade or free a slot.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "name": { "type": "string" }, "slug": { "type": "string" } }, "type": "object" }, "name": "create_project", "outputSchema": null }, { "description": "Delete the caller's account. Stops and removes all projects (containers, routes, MariaDB) first, then deletes the account. Refuses to leave orphaned runtimes.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "delete_account", "outputSchema": null }, { "description": "Stop and delete a project (free the slug after quarantine).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "project": { "type": "string" } }, "type": "object" }, "name": "delete_project", "outputSchema": null }, { "description": "Pull an image by digest and run one container with the plan's cpu/memory caps (Free: 128 MB / 0.2 CPU, Plus: 256 MB / 0.5 CPU). Only registry.fiskmas.dev images are accepted. Rate-limited to 1 deploy per 5 minutes per account (429 with a retry-seconds hint); use restart_project for a transient crash - it does not count against the limit. Re-deploying a running project is always allowed; starting a second one on Free is blocked until one stops.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "image": { "type": "string" }, "project": { "type": "string" } }, "type": "object" }, "name": "deploy_project", "outputSchema": null }, { "description": "Return recent container log lines. `tail` = line count (plan default 200; plan max 2000), `since` = time window in seconds (plan window: free 24 h, plus 7 d — logs are live-pod streams, not stored history). When both are given, `since` wins.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "project": { "type": "string" }, "since": { "type": "number" }, "tail": { "type": "number" } }, "type": "object" }, "name": "get_logs", "outputSchema": null }, { "description": "Fetch a single project by id or slug.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "project": { "type": "string" } }, "type": "object" }, "name": "get_project", "outputSchema": null }, { "description": "Return the bytes of a platform skill by name.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "name": { "type": "string" } }, "type": "object" }, "name": "get_skill", "outputSchema": null }, { "description": "Account-wide or per-project stats for debugging: live CPU/mem vs the plan caps (Free: 128 MB / 0.2 CPU, Plus: 256 MB / 0.5 CPU) and deploy history. Omit `project` for all of the caller's projects; pass a project id or slug NaNalso returns `resources.history` — per-project CPU/mem time series over the window (sampled every ~30 s on the k3s platform; absent on stacks without the metrics collector).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "project": { "type": "string" }, "since": { "type": "number" } }, "type": "object" }, "name": "get_stats", "outputSchema": null }, { "description": "Return project status, url, image digest, and last deploy error.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "project": { "type": "string" } }, "type": "object" }, "name": "get_status", "outputSchema": null }, { "description": "List a project's env keys with masked values (never returns full secrets).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "project": { "type": "string" } }, "type": "object" }, "name": "list_env", "outputSchema": null }, { "description": "List the caller's projects with status and URL.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "list_projects", "outputSchema": null }, { "description": "List the platform skills available to the caller.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "list_skills", "outputSchema": null }, { "description": "Re-issue the API token for an existing account. Provide the email the account was registered with; Fiskmås emails a fresh one-time verify link to that address. The human clicks it; the verify page shows the new token once (old tokens are revoked immediately). This is the self-service recovery path when a token was lost, rotated, or is being rejected as \"invalid or expired\". It does not create a new account — for a brand-new account use create_account. Rate-limited: a few requests per hour per email. If you already have a valid token and just want to rotate it, use rotate_token (follows in a later release).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "email": { "type": "string" } }, "required": [ "email" ], "type": "object" }, "name": "reissue_token", "outputSchema": null }, { "description": "Restart a running project's container.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "project": { "type": "string" } }, "type": "object" }, "name": "restart_project", "outputSchema": null }, { "description": "Report a problem with the Fiskmås toolset so it can be fixed. Use it when a tool errored or misbehaved, you got stuck and can't proceed, or the instructions/skill were unclear. Do NOT use it for praise. kind=bug means it broke, kind=suggestion means it was unclear or could be better, kind=other is anything else that didn't work. Name the `tool` and, if relevant, the `project`. At most one call per session.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "kind": { "type": "string" }, "message": { "type": "string" }, "project": { "type": "string" }, "tool": { "type": "string" } }, "required": [ "message", "kind" ], "type": "object" }, "name": "send_feedback", "outputSchema": null }, { "description": "Set environment variables on a project. Requires a restart before they take effect.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "env": { "additionalProperties": {}, "type": "object" }, "project": { "type": "string" } }, "type": "object" }, "name": "set_env", "outputSchema": null }, { "description": "Start a stopped project's container.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "project": { "type": "string" } }, "type": "object" }, "name": "start_project", "outputSchema": null }, { "description": "Stop a running project's container (keep the image).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "project": { "type": "string" } }, "type": "object" }, "name": "stop_project", "outputSchema": null }, { "description": "Return the identity of the current token holder (account + provider) plus its subscription plan (free | plus) and the plan's limits: max running projects, per-project memory/CPU caps, log windows, and the project-database fair-use guide. Free plans include an upgrade_url for Plus ($9.99/mo: 5 projects, 256 MB / 0.5 CPU per project, always-on).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": {}, "type": "object" }, "name": "whoami", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:d3b9be1175cda2f445dc4a3d83c58c2c1766fdedb3a6765e60636e0d54d24439 | sha256sum