Fiskmas
Hosting for AI agents: your AI client deploys Docker apps to live HTTPS URLs over MCP.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (1)
- LOWen get_skill
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"fiskmas": {
"url": "https://mcp.fiskmas.dev/mcp"
}
}
}Puntos de conexión remotos
https://mcp.fiskmas.dev/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (21)
🟢whoami
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).
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_account(email, display_name)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"email": {
"type": "string"
},
"display_name": {
"type": "string"
}
},
"required": [
"email"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢account_status(email)
Poll onboarding state for an email (pending | active | unknown). Use after create_account while waiting for the human to verify.
Esquema de entrada
{
"type": "object",
"properties": {
"email": {
"type": "string"
}
},
"required": [
"email"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡reissue_token(email)
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).
Esquema de entrada
{
"type": "object",
"properties": {
"email": {
"type": "string"
}
},
"required": [
"email"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴delete_account
Delete the caller's account. Stops and removes all projects (containers, routes, MariaDB) first, then deletes the account. Refuses to leave orphaned runtimes.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_project(name, slug)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"slug": {
"type": "string"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_projects
List the caller's projects with status and URL.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_project(project)
Fetch a single project by id or slug.
Esquema de entrada
{
"type": "object",
"properties": {
"project": {
"type": "string"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴delete_project(project)
Stop and delete a project (free the slug after quarantine).
Esquema de entrada
{
"type": "object",
"properties": {
"project": {
"type": "string"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡set_env(project, env)
Set environment variables on a project. Requires a restart before they take effect.
Esquema de entrada
{
"type": "object",
"properties": {
"project": {
"type": "string"
},
"env": {
"type": "object",
"additionalProperties": {}
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_env(project)
List a project's env keys with masked values (never returns full secrets).
Esquema de entrada
{
"type": "object",
"properties": {
"project": {
"type": "string"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡deploy_project(project, image)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"project": {
"type": "string"
},
"image": {
"type": "string"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪start_project(project)
Start a stopped project's container.
Esquema de entrada
{
"type": "object",
"properties": {
"project": {
"type": "string"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪stop_project(project)
Stop a running project's container (keep the image).
Esquema de entrada
{
"type": "object",
"properties": {
"project": {
"type": "string"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪restart_project(project)
Restart a running project's container.
Esquema de entrada
{
"type": "object",
"properties": {
"project": {
"type": "string"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_status(project)
Return project status, url, image digest, and last deploy error.
Esquema de entrada
{
"type": "object",
"properties": {
"project": {
"type": "string"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_logs(project, tail, since)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"project": {
"type": "string"
},
"tail": {
"type": "number"
},
"since": {
"type": "number"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_stats(project, since)
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).
Esquema de entrada
{
"type": "object",
"properties": {
"project": {
"type": "string"
},
"since": {
"type": "number"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡send_feedback(message, kind, project, tool)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"message": {
"type": "string"
},
"kind": {
"type": "string"
},
"project": {
"type": "string"
},
"tool": {
"type": "string"
}
},
"required": [
"message",
"kind"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_skills
List the platform skills available to the caller.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_skill(name)
Return the bytes of a platform skill by name.
Esquema de entrada
{
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Comunidad
Evidencia