SPB Git

Repository Public Research preview

agent-registry.json 7.6 KB 229 lines json

1{2  "schemaVersion": "1.0",3  "name": "@spboucher/openai-api-mcp",4  "version": "1.0.1",5  "type": "mcp-server",6  "description": "MCP server for building with the OpenAI API: probe-verified model reference, request linter for Responses and Chat Completions, cost estimates, scaffolding, plus live responses, embeddings, batches, files, vector stores, speech and images.",7  "license": "MIT",8  "keywords": [9    "openai",10    "gpt",11    "responses-api",12    "mcp",13    "agents",14    "linter",15    "cost",16    "embeddings"17  ],18  "compatibility": [19    "claude-code",20    "codex",21    "cursor",22    "generic-mcp"23  ],24  "permissions": [25    "network",26    "env",27    "filesystem:read",28    "filesystem:write",29    "shell"30  ],31  "mcp": {32    "transport": "stdio",33    "command": "node",34    "args": [35      "server.mjs"36    ],37    "env": [38      {39        "name": "OPENAI_API_KEY",40        "description": "OpenAI API key. Needed only by the live tools; offline tools work without it.",41        "required": false,42        "secret": true43      },44      {45        "name": "OPENAI_API_MCP_MAX_OUTPUT_TOKENS",46        "description": "Spend guard: largest output cap the server will send (default 32000).",47        "required": false,48        "secret": false49      },50      {51        "name": "OPENAI_API_MCP_FILE_ROOT",52        "description": "Only directory the file, speech and image tools may read from or write to (default: working directory).",53        "required": false,54        "secret": false55      }56    ],57    "tools": [58      {59        "name": "model_reference",60        "description": "Probe-verified facts about OpenAI text models (offline)"61      },62      {63        "name": "recommend_model",64        "description": "Pick a model and reasoning effort for a task (offline)"65      },66      {67        "name": "lint_request",68        "description": "Check a Responses or Chat Completions request against what the API accepts (offline)"69      },70      {71        "name": "fix_request",72        "description": "Apply mechanical fixes to a request (offline)"73      },74      {75        "name": "migrate_request",76        "description": "Rewrite a request for another model (offline)"77      },78      {79        "name": "chat_to_responses",80        "description": "Convert Chat Completions to the Responses API (offline)"81      },82      {83        "name": "estimate_cost",84        "description": "Cost from token counts with caching, batch, fast and long-context rates (offline)"85      },86      {87        "name": "compare_costs",88        "description": "Rank models by cost for a workload (offline)"89      },90      {91        "name": "scaffold_app",92        "description": "Runnable starter code in TypeScript or Python (offline)"93      },94      {95        "name": "explain_error",96        "description": "Explain an API error and its fix (offline)"97      },98      {99        "name": "feature_guide",100        "description": "Concise guidance per API feature (offline)"101      },102      {103        "name": "list_models",104        "description": "Models visible to the key, by kind (live)"105      },106      {107        "name": "count_tokens",108        "description": "Exact input-token count (live, free)"109      },110      {111        "name": "create_response",112        "description": "Send a request, linted first (live, billed)"113      },114      {115        "name": "extract_structured",116        "description": "JSON matching a schema (live, billed)"117      },118      {119        "name": "get_response",120        "description": "Retrieve a stored or background response"121      },122      {123        "name": "cancel_response",124        "description": "Cancel a background response (confirmation required)"125      },126      {127        "name": "delete_response",128        "description": "Delete a stored response (confirmation required)"129      },130      {131        "name": "create_embeddings",132        "description": "Embeddings with similarity matrix (live, billed)"133      },134      {135        "name": "moderate",136        "description": "Moderation classification (live, free)"137      },138      {139        "name": "batch_create",140        "description": "Submit a batch; builds and uploads the JSONL (live, billed)"141      },142      {143        "name": "batch_get",144        "description": "Batch status"145      },146      {147        "name": "batch_list",148        "description": "Recent batches"149      },150      {151        "name": "batch_results",152        "description": "Batch results keyed by custom_id"153      },154      {155        "name": "batch_cancel",156        "description": "Cancel a batch (confirmation required)"157      },158      {159        "name": "file_upload",160        "description": "Upload a file"161      },162      {163        "name": "file_list",164        "description": "List files"165      },166      {167        "name": "file_get",168        "description": "File metadata"169      },170      {171        "name": "file_delete",172        "description": "Delete a file (confirmation required)"173      },174      {175        "name": "vector_store_create",176        "description": "Create a vector store for retrieval"177      },178      {179        "name": "vector_store_add",180        "description": "Add and index a document"181      },182      {183        "name": "vector_store_search",184        "description": "Semantic search over a vector store"185      },186      {187        "name": "vector_store_list",188        "description": "List vector stores"189      },190      {191        "name": "vector_store_delete",192        "description": "Delete a vector store (confirmation required)"193      },194      {195        "name": "text_to_speech",196        "description": "Synthesize speech to a local file (billed)"197      },198      {199        "name": "transcribe_audio",200        "description": "Transcribe a local audio file (billed)"201      },202      {203        "name": "generate_image",204        "description": "Generate an image to a local file (billed)"205      }206    ]207  },208  "examples": [209    {210      "title": "Lint a Responses request, then send the corrected one (Claude Code)",211      "client": "claude-code",212      "image": "examples/claude-code.png",213      "alt": "Terminal screenshot of a Claude Code session using openai-api-mcp: the prompt, the tool or script calls, and the agent's answer.",214      "prompt": "With the openai-api MCP tools: (1) lint this Responses API request and list what the API would reject: model gpt-6, temperature 0.7, max_output_tokens 8, input 'hi'. (2) Send a corrected request live with the input 'Reply with the single word ready' and report the reply, the token usage and the cost. Answer in at most 10 lines.",215      "caption": "The linter rejects the unknown model id and the too-small output cap; a corrected request is sent live and its usage and cost reported. Real session, Claude Code 2.1.322 with Fable 5.2, with version 1.0.0 installed from this registry; inputs are test fixtures.",216      "capturedAt": "2026-11-10"217    },218    {219      "title": "Lint a Responses request, then send the corrected one (Codex)",220      "client": "codex",221      "image": "examples/codex.png",222      "alt": "Terminal screenshot of a Codex session using openai-api-mcp: the prompt, the tool or script calls, and the agent's answer.",223      "prompt": "With the openai-api MCP tools: (1) lint this Responses API request and list what the API would reject: model gpt-6, temperature 0.7, max_output_tokens 8, input 'hi'. (2) Send a corrected request live with the input 'Reply with the single word ready' and report the reply, the token usage and the cost. Answer in at most 10 lines.",224      "caption": "The linter rejects the unknown model id and the too-small output cap; a corrected request is sent live and its usage and cost reported. Real session, Codex CLI 0.167.1 with GPT-6.1-Sol, with version 1.0.0 installed from this registry; inputs are test fixtures.",225      "capturedAt": "2026-11-10"226    }227  ]228}229
Files main
Menu

Theme