OpenAI Tools MCP Server
Focused MCP server for OpenAI image/audio generation (v2.0.0). Wraps endpoints via HAPI CLI.
使うべきか
品質と安全性
検出事項(2)
- LOWcreateTranscription 内
- LOWcreateTranslation 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"openai-tools": {
"url": "https://openai-tools.run.mcp.com.ai/mcp"
}
}
}リモートエンドポイント
https://openai-tools.run.mcp.com.ai/mcpstreamable-httpできること
ツール一覧
ツール(9)
⚪createImage(createImageBody, x-hapi-auth-state)
Creates an image given a prompt.
入力スキーマ
{
"type": "object",
"properties": {
"createImageBody": {
"type": "object",
"properties": {
"prompt": {
"type": "string",
"description": "A text description of the desired image(s). The maximum length is 1000 characters."
},
"n": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"description": "The number of images to generate. Must be between 1 and 10."
},
"size": {
"type": "string",
"enum": [
"256x256",
"512x512",
"1024x1024"
],
"description": "The size of the generated images. Must be one of `256x256`, `512x512`, or `1024x1024`."
},
"response_format": {
"type": "string",
"enum": [
"url",
"b64_json"
],
"description": "The format in which the generated images are returned. Must be one of `url` or `b64_json`."
},
"user": {
"type": "string",
"description": "A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse. [Learn more](/docs/guides/safety-best-practices/end-user-ids).\n"
}
},
"required": [
"prompt"
]
},
"x-hapi-auth-state": {
"type": "string"
}
},
"required": [
"createImageBody"
]
}⚪createImageEdit(createImageEditBody, x-hapi-auth-state)
Creates an edited or extended image given an original image and a prompt.
入力スキーマ
{
"type": "object",
"properties": {
"createImageEditBody": {
"type": "object",
"properties": {
"image": {
"type": "string",
"format": "binary",
"description": "The image to edit. Must be a valid PNG file, less than 4MB, and square. If mask is not provided, image must have transparency, which will be used as the mask."
},
"mask": {
"type": "string",
"format": "binary",
"description": "An additional image whose fully transparent areas (e.g. where alpha is zero) indicate where `image` should be edited. Must be a valid PNG file, less than 4MB, and have the same dimensions as `image`."
},
"prompt": {
"type": "string",
"description": "A text description of the desired image(s). The maximum length is 1000 characters."
},
"n": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"description": "The number of images to generate. Must be between 1 and 10."
},
"size": {
"type": "string",
"enum": [
"256x256",
"512x512",
"1024x1024"
],
"description": "The size of the generated images. Must be one of `256x256`, `512x512`, or `1024x1024`."
},
"response_format": {
"type": "string",
"enum": [
"url",
"b64_json"
],
"description": "The format in which the generated images are returned. Must be one of `url` or `b64_json`."
},
"user": {
"type": "string",
"description": "A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse. [Learn more](/docs/guides/safety-best-practices/end-user-ids).\n"
}
},
"required": [
"prompt",
"image"
]
},
"x-hapi-auth-state": {
"type": "string"
}
},
"required": [
"createImageEditBody"
]
}⚪createImageVariation(createImageVariationBody, x-hapi-auth-state)
Creates a variation of a given image.
入力スキーマ
{
"type": "object",
"properties": {
"createImageVariationBody": {
"type": "object",
"properties": {
"image": {
"type": "string",
"format": "binary",
"description": "The image to use as the basis for the variation(s). Must be a valid PNG file, less than 4MB, and square."
},
"n": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"description": "The number of images to generate. Must be between 1 and 10."
},
"size": {
"type": "string",
"enum": [
"256x256",
"512x512",
"1024x1024"
],
"description": "The size of the generated images. Must be one of `256x256`, `512x512`, or `1024x1024`."
},
"response_format": {
"type": "string",
"enum": [
"url",
"b64_json"
],
"description": "The format in which the generated images are returned. Must be one of `url` or `b64_json`."
},
"user": {
"type": "string",
"description": "A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse. [Learn more](/docs/guides/safety-best-practices/end-user-ids).\n"
}
},
"required": [
"image"
]
},
"x-hapi-auth-state": {
"type": "string"
}
},
"required": [
"createImageVariationBody"
]
}⚪createTranscription(createTranscriptionBody, x-hapi-auth-state)
Transcribes audio into the input language.
入力スキーマ
{
"type": "object",
"properties": {
"createTranscriptionBody": {
"type": "object",
"properties": {
"file": {
"type": "string",
"format": "binary",
"description": "The audio file object (not file name) to transcribe, in one of these formats: mp3, mp4, mpeg, mpga, m4a, wav, or webm.\n"
},
"model": {
"type": "string",
"description": "ID of the model to use. Only `whisper-1` is currently available.\n"
},
"prompt": {
"type": "string",
"description": "An optional text to guide the model's style or continue a previous audio segment. The [prompt](/docs/guides/speech-to-text/prompting) should match the audio language.\n"
},
"response_format": {
"type": "string",
"description": "The format of the transcript output, in one of these options: json, text, srt, verbose_json, or vtt.\n"
},
"temperature": {
"type": "number",
"description": "The sampling temperature, between 0 and 1. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. If set to 0, the model will use [log probability](https://en.wikipedia.org/wiki/Log_probability) to automatically increase the temperature until certain thresholds are hit.\n"
},
"language": {
"type": "string",
"description": "The language of the input audio. Supplying the input language in [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format will improve accuracy and latency.\n"
}
},
"required": [
"file",
"model"
],
"additionalProperties": false
},
"x-hapi-auth-state": {
"type": "string"
}
},
"required": [
"createTranscriptionBody"
]
}⚪createTranslation(createTranslationBody, x-hapi-auth-state)
Translates audio into English.
入力スキーマ
{
"type": "object",
"properties": {
"createTranslationBody": {
"type": "object",
"properties": {
"file": {
"type": "string",
"format": "binary",
"description": "The audio file object (not file name) translate, in one of these formats: mp3, mp4, mpeg, mpga, m4a, wav, or webm.\n"
},
"model": {
"type": "string",
"description": "ID of the model to use. Only `whisper-1` is currently available.\n"
},
"prompt": {
"type": "string",
"description": "An optional text to guide the model's style or continue a previous audio segment. The [prompt](/docs/guides/speech-to-text/prompting) should be in English.\n"
},
"response_format": {
"type": "string",
"description": "The format of the transcript output, in one of these options: json, text, srt, verbose_json, or vtt.\n"
},
"temperature": {
"type": "number",
"description": "The sampling temperature, between 0 and 1. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. If set to 0, the model will use [log probability](https://en.wikipedia.org/wiki/Log_probability) to automatically increase the temperature until certain thresholds are hit.\n"
}
},
"required": [
"file",
"model"
],
"additionalProperties": false
},
"x-hapi-auth-state": {
"type": "string"
}
},
"required": [
"createTranslationBody"
]
}⚪listModels(x-hapi-auth-state)
Lists the currently available models, and provides basic information about each one such as the owner and availability.
入力スキーマ
{
"type": "object",
"properties": {
"x-hapi-auth-state": {
"type": "string"
}
}
}⚪retrieveModel(model, x-hapi-auth-state)
Retrieves a model instance, providing basic information about the model such as the owner and permissioning.
入力スキーマ
{
"type": "object",
"properties": {
"model": {
"type": "string"
},
"x-hapi-auth-state": {
"type": "string"
}
},
"required": [
"model"
]
}🔴deleteModel(model, x-hapi-auth-state)
Delete a fine-tuned model. You must have the Owner role in your organization.
入力スキーマ
{
"type": "object",
"properties": {
"model": {
"type": "string"
},
"x-hapi-auth-state": {
"type": "string"
}
},
"required": [
"model"
]
}⚪createModeration(createModerationBody, x-hapi-auth-state)
Classifies if text violates OpenAI's Content Policy
入力スキーマ
{
"type": "object",
"properties": {
"createModerationBody": {
"type": "object",
"properties": {
"input": {
"type": "string",
"description": "The input text to classify"
},
"model": {
"type": "string",
"description": "Two content moderations models are available: `text-moderation-stable` and `text-moderation-latest`.\n\nThe default is `text-moderation-latest` which will be automatically upgraded over time. This ensures you are always using our most accurate model. If you use `text-moderation-stable`, we will provide advanced notice before updating the model. Accuracy of `text-moderation-stable` may be slightly lower than for `text-moderation-latest`.\n"
}
},
"required": [
"input"
]
},
"x-hapi-auth-state": {
"type": "string"
}
},
"required": [
"createModerationBody"
]
}推奨プロンプト
listModelslistModelsコミュニティ
エビデンス