Search / io.github.obrr-hhx/hanolab
HanoLab Voice Conversion
R0· no sign-inConvert uploaded speech or singing with your saved HanoLab voices, using OAuth and credit quotes.
v1.0.2 · active · repository · website · descriptor JSON · versions
Search / io.github.obrr-hhx/hanolab
R0· no sign-inConvert uploaded speech or singing with your saved HanoLab voices, using OAuth and credit quotes.
v1.0.2 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"hanolab": {
"type": "http",
"url": "https://hanolab.com/mcp"
}
}
}claude mcp add --transport http hanolab https://hanolab.com/mcp[mcp_servers.hanolab]
url = "https://hanolab.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"hanolab": {
"type": "remote",
"url": "https://hanolab.com/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"hanolab": {
"type": "http",
"url": "https://hanolab.com/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=hanolab&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vaGFub2xhYi5jb20vbWNwIn0%3D"
}{
"servers": {
"hanolab": {
"type": "http",
"url": "https://hanolab.com/mcp"
}
}
}{
"mcpServers": {
"hanolab": {
"httpUrl": "https://hanolab.com/mcp"
}
}
}extensions:
"hanolab":
enabled: true
name: "hanolab"
type: streamable_http
uri: "https://hanolab.com/mcp"
timeout: 300
protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28protocol.statelessonly applies to 2026-07-28 serversprotocol.transportstreamable HTTPprotocol.list_ttlonly applies to 2026-07-28 serversauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotations9 of 9 tools declare readOnlyHint or destructiveHinttools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: get_credits (idempotentHint); list_voices (idempotentHint); convert_voice (idempotentHint); …tools.token_costabout 902 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changes, stability.rug_pulltool history recorded for 5 of the 7 days neededdeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packageNo tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +website +reachable +uptime-100% +updated-5d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://hanolab.com/mcp streamable-http | none | yes | 100% | 299 ms | 2025-11-25 | 2026-10-20 |
convert_voicedestructive | Spend HanoLab credits to submit the prepared conversion ONLY after the user confirms its cost and budget. Reuse the exact quote_id after interruption: repeated calls return the original task without another debit. A failed task needs a separate user decision before a new quote. |
create_upload_link | Create a private one-hour browser upload link. Ask the user to open it, choose an audio file or MP4 and return here. Requires the same HanoLab account; no credits are spent. This tool cannot read local paths or ChatGPT attachments directly. |
get_creditsread-only | Read the connected account’s plan and available credits. Does not purchase credits. |
get_profileread-only | Identify the HanoLab account connected to these tools. |
get_task | Check an owned task and return completed audio links. Refreshes worker status and may persist completion or a failure refund. Poll about every 10 seconds; do not submit a new paid task while waiting. |
list_audioread-only | List recent audio uploaded through this connection. Use the exact audio_id, never a local path or an arbitrary URL. |
list_conversionsread-only | Find recent conversions submitted with this connection. Use get_task to refresh a task. This does not start new tasks. |
list_voicesread-only | List the connected user’s own saved voices and whether they are ready. If none are ready, open voicelab to create one. |
prepare_voice_conversion | Prepare a fixed quote for uploaded audio and a ready owned voice. No credits are spent. Explain estimated_credits, obtain the user’s budget and explicit confirmation, then use convert_voice with this exact quote_id. |
Schemas: list_tools.
{
"name": "io.github.obrr-hhx/hanolab",
"title": "HanoLab Voice Conversion",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://hanolab.com/mcp",
"type": "streamable-http"
}
],
"version": "1.0.2",
"repository": {
"url": "https://github.com/hanolab-ai/hanolab-integrations",
"source": "github"
},
"websiteUrl": "https://hanolab.com/docs/mcp?utm_source=mcp_registry&utm_medium=referral&utm_campaign=directory_202610",
"description": "Convert uploaded speech or singing with your saved HanoLab voices, using OAuth and credit quotes."
}