mcp-fish について
mcp-fishは、AceDataCloud経由でFish Audioを利用するMCPサーバーです。音声生成に加え、ボイスモデルの検索や生成タスクの確認ができます。
主な機能
- 01Fish Audioによるテキスト読み上げ
- 02ボイスモデルの検索と一覧表示
- 03参照音声による一時的な声の調整
- 04生成タスクの確認と一括取得
活用シーン
- 01テキストから音声を生成
- 02ボイスモデルを探してメタデータを取得
- 03参照音声に合わせた音声を生成
- 04単一または複数タスクの結果を確認
MCP 対応
音声生成、ボイスモデル検索、タスク確認、利用ガイドのツールをMCPクライアントに公開します。ホスト型OAuth、APIトークン、ローカルstdioで接続できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://fish.mcp.acedata.cloud/mcpclaude mcp add --transport http acedatacloud-mcp-fish https://fish.mcp.acedata.cloud/mcp{"mcpServers":{"acedatacloud-mcp-fish":{"type":"http","url":"https://fish.mcp.acedata.cloud/mcp"}}}Cursor で開く{"servers":{"acedatacloud-mcp-fish":{"type":"http","url":"https://fish.mcp.acedata.cloud/mcp"}}}VS Code で開く{"mcpServers":{"acedatacloud-mcp-fish":{"type":"http","url":"https://fish.mcp.acedata.cloud/mcp"}}}{"mcpServers":{"acedatacloud-mcp-fish":{"serverUrl":"https://fish.mcp.acedata.cloud/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
MCP Fish Server
AceDataCloud プラットフォーム経由で Fish Audio TTS(Text-to-Speech)を利用する Model Context Protocol(MCP)サーバーです。 自然な音声を生成し、Fish の音声モデルライブラリを検索できます。
主な機能
- 高品質な TTS:Fish Audio モデルを使ってテキストから音声を生成します
- 音声ライブラリ:Fish の音声モデルを閲覧、検索し、メタデータを取得します
- 非同期タスク:生成タスクを送信し、結果をポーリングします
- 一括タスク検索:1 回の呼び出しで複数のタスク結果を照会します
1 回限りの音声クローン
公開 HTTPS の参照音声 URL と、その音声の正確な文字起こしを 1 つずつ渡します。これらは現在の TTS リクエストにのみ適用され、再利用可能な音声モデルは作成されません。
fish_generate_audio(
text="New speech in the referenced voice",
reference_audio_url="https://cdn.acedata.cloud/reference.mp3",
reference_text="The exact words spoken in the reference audio",
)
保存済みまたは公開されている音声には reference_id を使用し、一時的な音声には 1 回限りの参照フィールドを使用してください。両方を同時に指定しないでください。参照音声は MP3/WAV に対応しており、長さは 10~270 秒である必要があります。料金は引き続き、対象テキストの UTF-8 バイト数に基づいて計算されます。
保存済みの音声を検索する
fish_list_models を self=true で呼び出すと、呼び出し元アカウントが AceDataCloud を通じて作成して保存した音声を一覧表示できます。これには、同アカウントの別の API トークンで作成した音声も含まれます。これは一覧のフィルターであり、プライバシー設定ではありません。保存済みの音声は公開されており、ほかのユーザーも検索して使用できます。音声作成 API の visibility 入力値を使っても非公開や非掲載にはできません。また、この MCP は音声作成機能を提供していません。
ページネーションには page_size と 1 始まりの page_number を使用してください。self=true の場合、sort_by は created_at と task_count に対応し、author_id を指定すると保存済みの音声をさらに絞り込めます。title_language は公開ライブラリの検索でのみサポートされており、self=true とは併用できません。返される has_more は、アカウントで作成した音声ではブール値ですが、公開ライブラリの検索では null になる場合があります。その場合は、ページネーションに total と page_size を使用してください。返された音声 ID を reference_id として fish_generate_audio に渡します。
接続方法:ホスト型 OAuth、API トークン、またはローカル stdio
ホスト型エンドポイントは https://fish.mcp.acedata.cloud/mcp です。MCP クライアント向けに、いずれか 1 つの方法を選択してください。
| 方法 | 使用する場合 | 認証情報の設定 |
|---|---|---|
| ホスト型 OAuth | クライアントがリモート MCP OAuth に対応している場合 | URL のみを追加し、AceDataCloud にサインインしてアクセスを承認します。クライアント設定にトークンを貼り付ける必要はありません。 |
| ホスト型 API トークン | クライアントで OAuth を完了できない場合、または明示的な連携用認証情報が必要な場合 | Authorization: Bearer … ヘッダーで AceDataCloud API トークンを送信します。ローカルのシークレットストアまたは環境変数に保存してください。 |
| ローカル stdio | クライアントがローカル MCP プロセスを実行する場合 | mcp-fish をインストールし、ACEDATACLOUD_API_TOKEN をそのプロセスに渡します。この方法でも AceDataCloud API を呼び出します。 |
ホスト型サービスは OAuth メタデータと Dynamic Client Registration(DCR)を公開しています。**DCR はクライアントアプリケーションを登録するものであり、API キーではありません。**OAuth でサインインすると、クライアントは取得した Bearer トークンを送信します。また、アカウントの API 認証情報を再利用したり、新たに作成したりする場合があります。ブラウザーでサインインするには、引き続き AceDataCloud アカウントが必要です。ホスト型サービスでは従量課金される場合があります。実際に操作する前に、現在のサービスドキュメントと表示される料金を確認してください。同じサーバーに OAuth ログインと固定の Authorization ヘッダーを両方設定しないでください。
ホスト型 OAuth の例
- Claude と Claude Desktop のチャット:
Customize → Connectors → Add custom connectorでリモートカスタムコネクターを追加し、https://fish.mcp.acedata.cloud/mcpを入力して、サインインを選択します。Claude から OAuth クライアントの登録方法を尋ねられた場合は、Register automatically を選択します。同意手続きを完了します。Claude Desktop のローカルのclaude_desktop_config.jsonは別途設定が必要です。Claude コネクターガイド。 - Claude Code:
claude mcp add --transport http --scope user fish https://fish.mcp.acedata.cloud/mcpを実行し、続けてclaude mcp login fishを実行します。/mcpを確認してください。Claude Code MCP ガイド。 - Cursor:
https://fish.mcp.acedata.cloud/mcpのみを指定してリモートサーバーを追加します。プロジェクトで使用する場合は、以下のエントリーを<project>/.cursor/mcp.jsonにマージします。個人用に使用する場合は、~/.cursor/mcp.jsonを使用します。Cursor MCP ガイド。 - VS Code / Copilot: MCP: Add Server を実行し、HTTP を選択して、
https://fish.mcp.acedata.cloud/mcpを入力します。その後、ブラウザーでのサインインを完了します。新しいポータブルなワークスペース設定では<project>/.mcp.jsonを使用します。以下の VS Code 固有の形式では<project>/.vscode/mcp.jsonまたはユーザープロファイルを使用します。MCP: List Servers を確認してください。VS Code MCP のセットアップ。 - Codex:
codex mcp add fish --url https://fish.mcp.acedata.cloud/mcpを実行し、続けてcodex mcp login fishを実行します。ユーザー設定は~/.codex/config.tomlにあります。Codex 公式 MCP ガイド。
Cursor プロジェクト設定(OAuth):
{
"mcpServers": {
"fish": {"url": "https://fish.mcp.acedata.cloud/mcp"}
}
}
VS Code 固有のワークスペース設定(OAuth):
{
"servers": {
"fish": {"type": "http", "url": "https://fish.mcp.acedata.cloud/mcp"}
}
}
ホスト型 API トークン
- Ace Data Cloud → Applications を開きます。サインインするか、先にアカウントを登録します。
- General application を見つけます。作成されていない場合は、Initialize General Application を選択します。一般キーではアカウントで利用可能なサービスを使用できますが、専用アプリケーションのキーはそのサービスに限定されます。必要なサービス/モデルへのアクセスと現在の料金を確認します。
- アプリケーションカードから API Key をコピーするか、Keys / Manage Keys → Create を開いて、この連携用のキーを別途作成します。個別に無効化またはローテーションできるよう、見分けやすい名前を付けます。
- キーを作成するときは、Expiration Time、Set Usage Limitation、Allowed APIs を確認します。必要な制限のみを有効にし、呼び出す操作を許可してから、Create をクリックし、キー一覧からトークンをコピーします。タスクの照会権限があっても、生成リクエストを送信できるとは限りません。初回のリクエストに必要な残高がアプリケーションにあることを確認します。トライアルの利用枠は、アカウントに現在表示されている内容によって異なります。
- 引用符、スペース、
Bearerを付けずに、トークンの値だけをコピーします。API Key/API Token フィールドにはこの生の値を入力します。Bearerプレフィックスが必要なのは、HTTP のAuthorizationヘッダーを手動で設定する場合のみです。platform-...形式のアカウント管理用トークンを、生成 API キーの代わりに使用することはできません。


キーは、クライアントの認証情報ストアまたは以下に示す環境変数に保存します。プロンプト、共有ワークフロー、スクリーンショット、Git コミットには絶対に含めないでください。認証に失敗した場合は、新しいキーを作成する前に、コピーした値全体、アプリケーション/サービスへのアクセス、期限、使用制限、残高を確認します。
固定の Bearer ヘッダーは OAuth をバイパスします。ヘッダーが無効な場合は、ブラウザーでのサインインを試す前に削除してください。保存した認証情報は非公開にしてください。
Claude Code では、サーバーを追加するときにシェルがトークンを展開します。保存したユーザー MCP 設定は秘密情報として扱ってください。
export ACEDATACLOUD_API_TOKEN='YOUR_API_TOKEN'
claude mcp add --transport http --scope user fish https://fish.mcp.acedata.cloud/mcp \
--header "Authorization: Bearer $ACEDATACLOUD_API_TOKEN"
Claude Code のプロジェクト設定では、<project>/.mcp.json に変数参照を記述し、Claude Code の起動環境でその変数を設定します。
{
"mcpServers": {
"fish": {
"type": "http",
"url": "https://fish.mcp.acedata.cloud/mcp",
"headers": {"Authorization": "Bearer ${ACEDATACLOUD_API_TOKEN}"}
}
}
}
Cursor では、~/.cursor/mcp.json またはコミット対象外のプロジェクト設定で、環境変数の構文が異なります。
{
"mcpServers": {
"fish": {
"url": "https://fish.mcp.acedata.cloud/mcp",
"headers": {"Authorization": "Bearer ${env:ACEDATACLOUD_API_TOKEN}"}
}
}
}
VS Code では、MCP: Open User Configuration を実行し、このサーバーとマスクされた入力をマージします。${input:...} は VS Code のユーザー/ワークスペース形式用であり、Agent Host の .mcp.json 形式とは互換性がありません。
{
"inputs": [
{"id": "acedata-fish-token", "type": "promptString", "description": "AceDataCloud API token", "password": true}
],
"servers": {
"fish": {
"type": "http",
"url": "https://fish.mcp.acedata.cloud/mcp",
"headers": {"Authorization": "Bearer ${input:acedata-fish-token}"}
}
}
}
Cline では、MCP 設定 UI または CLI ファイル ~/.cline/data/settings/cline_mcp_settings.json を使用します。リモートトランスポートの値は streamableHttp です。JetBrains AI Assistant では、Settings → Tools → AI Assistant → Model Context Protocol (MCP) からリモート URL を追加します。Zed では、OAuth の場合は URL のみを指定する context_servers エントリーを使用するか、ローカルの Bearer ヘッダーを追加します。これらのクライアントは設定スキーマがそれぞれ異なるため、別のクライアントの JSON をコピーせず、現在の UI に従ってください。Cline · JetBrains · Zed.
ローカル stdio
パッケージをインストールし、ローカルプロセスに API トークンを渡します。
python -m pip install mcp-fish
export ACEDATACLOUD_API_TOKEN='YOUR_API_TOKEN'
mcp-fish
Claude Desktop のローカル MCP では、開発者設定から開いたファイル(macOS では ~/Library/Application Support/Claude/claude_desktop_config.json)にこのエントリーをマージします。uvx の実行には、uv が PATH に必要です。
{
"mcpServers": {
"fish": {
"command": "uvx",
"args": ["mcp-fish"],
"env": {"ACEDATACLOUD_API_TOKEN": "YOUR_API_TOKEN"}
}
}
}
このユーザーレベルのファイルは非公開にしてください。セルフホスト HTTP では mcp-fish --transport http --port 8000 を使用し、適切なネットワーク制御と TLS 制御を行った場合にのみ公開してください。ローカル実行でも、AceDataCloud API が呼び出されます。
サービスを使用する前に確認する
https://fish.mcp.acedata.cloud/healthが{"status":"ok"}を返す場合、確認できるのはエンドポイントへの到達性のみです。- MCP クライアントがツールを読み込むことを確認してください。
fish_get_usage_guideは参照用ツールであり、下流の API アクセスや残高は確認しません。 - API を完全に確認する必要がある場合は、最新のサービスドキュメントと表示されている料金を確認したうえで、独自の有効な入力を使って
fish_generate_audioを呼び出してください。結果にタスク ID が含まれている場合は、終端状態の成功または失敗になるまで、同じ ID に対してfish_get_taskを呼び出してください。進行状況を確認するためだけに操作を再送信しないでください。
401 の場合は、クライアントが使用した認証経路と、トークンまたは OAuth セッションが有効かどうかを確認してください。403 は、アカウントの権限またはコンテンツモデレーションの失敗を意味する場合があります。返されたエラーを確認してください。残高不足や下流サービスの障害は、個別に診断する必要があります。ツールが一覧表示されていることや、タスクが送信されたことは、結果の成功を示すものではありません。
ツールリファレンス
| ツール | 説明 |
|---|---|
fish_generate_audio | Fish 音声モデルを使ってテキストから音声を生成する |
fish_list_models | 利用可能な Fish 音声モデルを一覧表示する |
fish_get_model | 特定の Fish 音声モデルのメタデータを取得する |
fish_get_task | 生成タスクのステータス/結果を取得する |
fish_get_tasks_batch | 複数のタスクのステータス/結果を一括取得する |
fish_get_usage_guide | API の使用ガイドを取得する |
ドキュメント
ライセンス
MIT — リポジトリのルートにある LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。