chatgpt-apps
OfficialScaffold ChatGPT Apps SDK projects from docs-first plans into MCP server + widget code.
Design & media
Build and evaluate MCP servers that expose external APIs to LLMs through well-designed tools.
Follow a four-phase workflow for designing, implementing, testing, and evaluating MCP servers. Build tools with validated schemas, structured outputs, actionable errors, pagination, annotations, and appropriate HTTP or stdio transports in TypeScript or Python. Evaluate the result with 10 independent, read-only questions that test realistic multi-step tool use.
Create MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. The quality of an MCP server is measured by how well it enables LLMs to accomplish real-world tasks.
Creating a high-quality MCP server involves four main phases:
API Coverage vs. Workflow Tools: Balance comprehensive API endpoint coverage with specialized workflow tools. Workflow tools can be more convenient for specific tasks, while comprehensive coverage gives agents flexibility to compose operations. Performance varies by client—some clients benefit from code execution that combines basic tools, while others work better with higher-level workflows. When uncertain, prioritize comprehensive API coverage.
Tool Naming and Discoverability:
Clear, descriptive tool names help agents find the right tools quickly. Use consistent prefixes (e.g., github_create_issue, github_list_repos) and action-oriented naming.
Context Management: Agents benefit from concise tool descriptions and the ability to filter/paginate results. Design tools that return focused, relevant data. Some clients support code execution which can help agents filter and process data efficiently.
Actionable Error Messages: Error messages should guide agents toward solutions with specific suggestions and next steps.
Navigate the MCP specification:
Start with the sitemap to find relevant pages: https://modelcontextprotocol.io/sitemap.xml
Then fetch specific pages with .md suffix for markdown format (e.g., https://modelcontextprotocol.io/specification/draft.md).
Key pages to review:
Recommended stack:
Load framework documentation:
For TypeScript (recommended):
https://raw.githubusercontent.com/modelcontextprotocol/typescript-sdk/main/README.mdFor Python:
https://raw.githubusercontent.com/modelcontextprotocol/python-sdk/main/README.mdUnderstand the API: Review the service's API documentation to identify key endpoints, authentication requirements, and data models. Use web search and WebFetch as needed.
Tool Selection: Prioritize comprehensive API coverage. List endpoints to implement, starting with the most common operations.
See language-specific guides for project setup:
Create shared utilities:
For each tool:
Input Schema:
Output Schema:
outputSchema where possible for structured datastructuredContent in tool responses (TypeScript SDK feature)Tool Description:
Implementation:
Annotations:
readOnlyHint: true/falsedestructiveHint: true/falseidempotentHint: true/falseopenWorldHint: true/falseReview for:
TypeScript:
npm run build to verify compilationnpx @modelcontextprotocol/inspectorPython:
python -m py_compile your_server.pySee language-specific guides for detailed testing approaches and quality checklists.
After implementing your MCP server, create comprehensive evaluations to test its effectiveness.
Load ✅ Evaluation Guide for complete evaluation guidelines.
Use evaluations to test whether LLMs can effectively use your MCP server to answer realistic, complex questions.
To create effective evaluations, follow the process outlined in the evaluation guide:
Ensure each question is:
Create an XML file with this structure:
Find discussions about AI model launches with animal codenames. One model needed a specific safety designation that uses the format ASL-X. What number X was being determined for the model named after a spotted wild cat?
3
<!-- More qa_pairs... -->
Load these resources as needed during development:
https://modelcontextprotocol.io/sitemap.xml, then fetch specific pages with .md suffixhttps://raw.githubusercontent.com/modelcontextprotocol/python-sdk/main/README.mdhttps://raw.githubusercontent.com/modelcontextprotocol/typescript-sdk/main/README.md🐍 Python Implementation Guide - Complete Python/FastMCP guide with:
@mcp.tool⚡ TypeScript Implementation Guide - Complete TypeScript guide with:
server.registerToolScaffold ChatGPT Apps SDK projects from docs-first plans into MCP server + widget code.
Build full Figma screens from code or descriptions using the target file's published design system.
Create Codex-compatible animated pets and pet spritesheets from a concept, brand, or reference art.
Get a repository-specific AppSec threat model with concrete abuse paths and mitigations, written to a Markdown file.
Generate project-specific design system rules for AI coding agents implementing Figma designs.
Generate spoken audio from text using OpenAI's gpt-4o-mini-tts model with built-in voices.
Walk you through a three-stage workflow that turns scattered context into a tested, reader-ready document.
Create, read, and fix spreadsheet files with formulas, formatting, and financial-model conventions, then verify with recalc.
Create, refine, and benchmark agent skills through an iterative draft-evaluate-rewrite loop.
Create, read, edit, and validate Word .docx and .dotx files using a small toolkit of scripts and the docx npm library.
Read, merge, split, create, and OCR PDF files using Python and command-line tools.
Create, edit, and read .pptx and .potx files with provided scripts and known-good pptxgenjs patterns.