Arumi

Generate AI images, video and audio with 55 models, priced in credits before you generate.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
93%
Vollständigkeit des Schemas
85%
Qualität der Benennung
96%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (2)

  • LOWTool 'get_generation' description lacks action verbin get_generation
  • LOWTool 'quote' description lacks action verbin quote

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~2,659Tokens (Tool-Definitionen)
~3.3 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (2.08% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "arumi": {
      "url": "https://api.arumi.ai/mcp"
    }
  }
}

Remote-Endpunkte

https://api.arumi.ai/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (9)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟡complete_upload(upload_id)

Finish an upload after the PUT; returns the asset_id to pass in a generation's references.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "upload_id": {
      "type": "string"
    }
  },
  "required": [
    "upload_id"
  ],
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "asset_id": {
      "type": "string"
    },
    "kind": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "duration_seconds": {
      "type": "number"
    }
  },
  "required": [
    "asset_id",
    "kind",
    "name"
  ],
  "additionalProperties": false
}
🟡create_upload(file_name, content_type, size_bytes, sha256, width, ...)

Start uploading one of the user's files to use as a reference. PUT the file's bytes to upload_url with exactly the returned headers, then call complete_upload.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "file_name": {
      "type": "string",
      "description": "the file's name, with its extension"
    },
    "content_type": {
      "type": "string",
      "description": "for example image/png, image/jpeg, video/mp4, audio/mpeg"
    },
    "size_bytes": {
      "type": "integer"
    },
    "sha256": {
      "type": "string",
      "description": "the file's SHA-256 as 64 lower-case hex characters (shasum -a 256)"
    },
    "width": {
      "type": "integer",
      "description": "required for images: width in pixels"
    },
    "height": {
      "type": "integer",
      "description": "required for images: height in pixels"
    }
  },
  "required": [
    "file_name",
    "content_type",
    "size_bytes",
    "sha256"
  ],
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "upload_id": {
      "type": "string"
    },
    "upload_url": {
      "type": "string"
    },
    "headers": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    },
    "expires_at": {
      "type": "string"
    },
    "next": {
      "type": "string"
    }
  },
  "required": [
    "upload_id",
    "upload_url",
    "headers",
    "expires_at",
    "next"
  ],
  "additionalProperties": false
}
🟢generate(model, prompt, parameters, references, max_credits, ...)

Start a generation with the user's credits. It is refused, with nothing charged, when it would cost more than max_credits. Returns at once with a generation_id: call get_generation until it has succeeded or failed.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "model": {
      "type": "string",
      "description": "the model id from list_models"
    },
    "prompt": {
      "type": "string",
      "description": "what to make; for speech models the text to read"
    },
    "parameters": {
      "type": "object",
      "description": "the model's settings by key (get_model); any left out take the model's default",
      "additionalProperties": true
    },
    "references": {
      "type": [
        "null",
        "object"
      ],
      "properties": {
        "images": {
          "type": [
            "null",
            "array"
          ],
          "items": {
            "type": "string"
          },
          "description": "asset ids of uploaded images (complete_upload), in the order of the model's image slots"
        },
        "videos": {
          "type": [
            "null",
            "array"
          ],
          "items": {
            "type": "string"
          },
          "description": "asset ids of uploaded videos, in the order of the model's video slots"
        },
        "audio": {
          "type": [
            "null",
            "array"
          ],
          "items": {
            "type": "string"
          },
          "description": "asset ids of uploaded audio files, in the order of the model's audio slots"
        }
      },
      "description": "uploaded files the model works from",
      "additionalProperties": false
    },
    "max_credits": {
      "type": "integer",
      "description": "the most credits the user agreed to spend on this generation; it is refused when the quote is higher"
    },
    "idempotency_key": {
      "type": "string",
      "description": "optional, 16-128 characters [A-Za-z0-9._:-]: repeating a call with the same key returns the same generation instead of making another"
    }
  },
  "required": [
    "model",
    "max_credits"
  ],
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "generation_id": {
      "type": "string"
    },
    "model": {
      "type": "string"
    },
    "modality": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "description": "queued, processing, succeeded, failed or unknown"
    },
    "progress": {
      "type": "integer"
    },
    "created_at": {
      "type": "string"
    },
    "credits": {
      "type": "object",
      "properties": {
        "reserved": {
          "type": "integer"
        },
        "charged": {
          "type": "integer"
        },
        "state": {
          "type": "string",
          "description": "reserved while it runs; settled when charged; released when nothing was charged"
        }
      },
      "required": [
        "reserved",
        "charged",
        "state"
      ],
      "additionalProperties": false
    },
    "outputs": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "duration_ms": {
            "type": "integer"
          }
        },
        "required": [
          "url",
          "kind"
        ],
        "additionalProperties": false
      }
    },
    "text": {
      "type": "string"
    },
    "error": {
      "type": [
        "null",
        "object"
      ],
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "retryable": {
          "type": "boolean"
        }
      },
      "required": [
        "code",
        "message",
        "retryable"
      ],
      "additionalProperties": false
    },
    "prompt": {
      "type": "string"
    },
    "tip": {
      "type": "string"
    }
  },
  "required": [
    "generation_id",
    "model",
    "modality",
    "status",
    "progress",
    "created_at",
    "credits"
  ],
  "additionalProperties": false
}
🟢get_balance

The user's Arumi credits: available, held by running generations, and owed. 1 credit = 0.01 USD.

Eingabe-Schema

{
  "type": "object",
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": {
    "type": "integer"
  }
}
🟢get_generation(generation_id)

A generation's status; once it has succeeded, links to its results, and what it charged.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "generation_id": {
      "type": "string"
    }
  },
  "required": [
    "generation_id"
  ],
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "generation_id": {
      "type": "string"
    },
    "model": {
      "type": "string"
    },
    "modality": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "description": "queued, processing, succeeded, failed or unknown"
    },
    "progress": {
      "type": "integer"
    },
    "created_at": {
      "type": "string"
    },
    "credits": {
      "type": "object",
      "properties": {
        "reserved": {
          "type": "integer"
        },
        "charged": {
          "type": "integer"
        },
        "state": {
          "type": "string",
          "description": "reserved while it runs; settled when charged; released when nothing was charged"
        }
      },
      "required": [
        "reserved",
        "charged",
        "state"
      ],
      "additionalProperties": false
    },
    "outputs": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "duration_ms": {
            "type": "integer"
          }
        },
        "required": [
          "url",
          "kind"
        ],
        "additionalProperties": false
      }
    },
    "text": {
      "type": "string"
    },
    "error": {
      "type": [
        "null",
        "object"
      ],
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "retryable": {
          "type": "boolean"
        }
      },
      "required": [
        "code",
        "message",
        "retryable"
      ],
      "additionalProperties": false
    },
    "prompt": {
      "type": "string"
    },
    "tip": {
      "type": "string"
    }
  },
  "required": [
    "generation_id",
    "model",
    "modality",
    "status",
    "progress",
    "created_at",
    "credits"
  ],
  "additionalProperties": false
}
🟢get_model(model)

One model's prompt limit, the reference files it takes, and its settings with their allowed values and defaults.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "model": {
      "type": "string",
      "description": "the model id from list_models"
    }
  },
  "required": [
    "model"
  ],
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "maker": {
      "type": "string"
    },
    "modality": {
      "type": "string"
    },
    "prompt": {
      "type": "object",
      "additionalProperties": true
    },
    "reference_inputs": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "role": {
            "type": "string"
          },
          "min": {
            "type": "integer"
          },
          "max": {
            "type": "integer"
          },
          "max_bytes": {
            "type": "integer"
          },
          "file_types": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "name",
          "kind",
          "min",
          "max"
        ],
        "additionalProperties": false
      },
      "description": "in order: references of one kind fill these slots in turn"
    },
    "settings": {
      "type": [
        "null",
        "array"
      ],
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "values": {
            "type": [
              "null",
              "array"
            ],
            "items": true
          },
          "min": {
            "type": [
              "null",
              "number"
            ]
          },
          "max": {
            "type": [
              "null",
              "number"
            ]
          },
          "default": true,
          "required": {
            "type": "boolean"
          },
          "optional": {
            "type": "boolean",
            "description": "left out unless given"
          },
          "only_when": {
            "type": "string"
          },
          "help": {
            "type": "string"
          }
        },
        "required": [
          "key",
          "name"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "id",
    "name",
    "maker",
    "modality",
    "settings"
  ],
  "additionalProperties": false
}
🟢list_generations(limit)

The user's latest generations, newest first, made on the site or through any of their keys.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "description": "how many, newest first (1–20, default 10)"
    }
  },
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": {
    "type": [
      "null",
      "array"
    ],
    "items": {
      "type": "object",
      "properties": {
        "generation_id": {
          "type": "string"
        },
        "model": {
          "type": "string"
        },
        "modality": {
          "type": "string"
        },
        "status": {
          "type": "string",
          "description": "queued, processing, succeeded, failed or unknown"
        },
        "progress": {
          "type": "integer"
        },
        "created_at": {
          "type": "string"
        },
        "credits": {
          "type": "object",
          "properties": {
            "reserved": {
              "type": "integer"
            },
            "charged": {
              "type": "integer"
            },
            "state": {
              "type": "string",
              "description": "reserved while it runs; settled when charged; released when nothing was charged"
            }
          },
          "required": [
            "reserved",
            "charged",
            "state"
          ],
          "additionalProperties": false
        },
        "outputs": {
          "type": [
            "null",
            "array"
          ],
          "items": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string"
              },
              "kind": {
                "type": "string"
              },
              "duration_ms": {
                "type": "integer"
              }
            },
            "required": [
              "url",
              "kind"
            ],
            "additionalProperties": false
          }
        },
        "text": {
          "type": "string"
        },
        "error": {
          "type": [
            "null",
            "object"
          ],
          "properties": {
            "code": {
              "type": "string"
            },
            "message": {
              "type": "string"
            },
            "retryable": {
              "type": "boolean"
            }
          },
          "required": [
            "code",
            "message",
            "retryable"
          ],
          "additionalProperties": false
        },
        "prompt": {
          "type": "string"
        },
        "tip": {
          "type": "string"
        }
      },
      "required": [
        "generation_id",
        "model",
        "modality",
        "status",
        "progress",
        "created_at",
        "credits"
      ],
      "additionalProperties": false
    }
  }
}
🟢list_models(modality)

The models the user can generate with, by kind (image, video, audio, text). get_model gives one model's inputs and settings.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "modality": {
      "type": "string",
      "description": "only this kind: image, video, audio or text"
    }
  },
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": {
    "type": [
      "null",
      "array"
    ],
    "items": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "maker": {
          "type": "string"
        },
        "modality": {
          "type": "string"
        },
        "featured": {
          "type": "boolean"
        },
        "takes": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "name",
        "maker",
        "modality",
        "takes"
      ],
      "additionalProperties": false
    }
  }
}
🟢quote(model, prompt, parameters, references)

What a generation would cost, in credits, without making it. Tell the user before generating.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "model": {
      "type": "string",
      "description": "the model id from list_models"
    },
    "prompt": {
      "type": "string",
      "description": "what to make; for speech models the text to read"
    },
    "parameters": {
      "type": "object",
      "description": "the model's settings by key (get_model); any left out take the model's default",
      "additionalProperties": true
    },
    "references": {
      "type": [
        "null",
        "object"
      ],
      "properties": {
        "images": {
          "type": [
            "null",
            "array"
          ],
          "items": {
            "type": "string"
          },
          "description": "asset ids of uploaded images (complete_upload), in the order of the model's image slots"
        },
        "videos": {
          "type": [
            "null",
            "array"
          ],
          "items": {
            "type": "string"
          },
          "description": "asset ids of uploaded videos, in the order of the model's video slots"
        },
        "audio": {
          "type": [
            "null",
            "array"
          ],
          "items": {
            "type": "string"
          },
          "description": "asset ids of uploaded audio files, in the order of the model's audio slots"
        }
      },
      "description": "uploaded files the model works from",
      "additionalProperties": false
    }
  },
  "required": [
    "model"
  ],
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "model": {
      "type": "string"
    },
    "credits": {
      "type": "integer",
      "description": "what is reserved; for a fixed price also what is charged"
    },
    "estimated_credits": {
      "type": "integer"
    },
    "exact": {
      "type": "boolean",
      "description": "true when the price is fixed; false when the model decides part of it and only up to credits is charged"
    },
    "usd": {
      "type": "string",
      "description": "credits in US dollars at 1 credit = 0.01 USD"
    }
  },
  "required": [
    "model",
    "credits",
    "estimated_credits",
    "exact",
    "usd"
  ],
  "additionalProperties": false
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet9 Tools