Loading...
Loading...
Bootstrap Python MCP server projects and workspaces on macOS using uv and FastMCP with consistent defaults. Use when creating a new MCP server from scratch, scaffolding a single uv MCP project, scaffolding a uv workspace with package/service members, initializing pytest+ruff+mypy defaults, creating README.md, initializing git, running initial validation checks, or starting from OpenAPI/FastAPI with MCP mapping guidance.
npx skill4agent add gaelic-ghost/python-skills bootstrap-python-mcp-servicescripts/init_fastmcp_service.sh--name--path--python--force--no-git-init--initial-commit--members--profile-mapuv run pytestuv run ruff check .uv run mypy .scripts/assess_api_for_mcp.py# Project mode (default)
scripts/init_fastmcp_service.sh --name my-mcp-server
# Project mode with explicit options
scripts/init_fastmcp_service.sh --name my-mcp-server --mode project --python 3.13 --path /tmp/my-mcp-server
# Workspace mode with defaults (core-lib package + api-service service)
scripts/init_fastmcp_service.sh --name platform --mode workspace
# Workspace mode with explicit members and profile mapping
scripts/init_fastmcp_service.sh \
--name platform \
--mode workspace \
--members "core-lib,tools-service,ops-service" \
--profile-map "core-lib=package,tools-service=service,ops-service=service"
# Allow non-empty target directory
scripts/init_fastmcp_service.sh --name my-mcp-server --force
# Skip git initialization
scripts/init_fastmcp_service.sh --name my-mcp-server --no-git-init
# Create initial commit
scripts/init_fastmcp_service.sh --name my-mcp-server --initial-commit
# Generate MCP mapping guidance from OpenAPI
python3 scripts/assess_api_for_mcp.py --openapi ./openapi.yaml --out ./mcp_mapping_report.md
# Generate MCP mapping guidance from existing FastAPI app
python3 scripts/assess_api_for_mcp.py --fastapi app.main:app --out ./mcp_mapping_report.mduv add fastapi --extra standard
uv run fastapi dev app/main.pyscripts/assess_api_for_mcp.pyResourcesToolsPromptsfastmcp_docsFastMCP quickstart server exampleFastMCP tools resources prompts best practicesFastMCP RouteMap TransformFastMCP from OpenAPIFastMCP from FastAPI--forceuvgit--no-git-init--initial-commit--no-git-initproject3.13pytestruffmypycore-lib,api-servicepackageserviceUse $bootstrap-python-mcp-service.
Scope boundaries:
- Work only inside <REPO_PATH>.
- Create or validate scaffold output only in <TARGET_PATH>.
- Restrict work to scaffold generation, optional mapping report generation, and verification.
Task:
1. If <MODE:PROJECT|WORKSPACE> is PROJECT, run:
`scripts/init_fastmcp_service.sh --name <MCP_SERVICE_NAME> --mode project --path <TARGET_PATH> --python <PYTHON_VERSION> <FORCE_FLAG> <GIT_INIT_MODE>`
2. If <MODE:PROJECT|WORKSPACE> is WORKSPACE, run:
`scripts/init_fastmcp_service.sh --name <MCP_SERVICE_NAME> --mode workspace --path <TARGET_PATH> --python <PYTHON_VERSION> --members "<MEMBERS_CSV>" --profile-map "<PROFILE_MAP>" <FORCE_FLAG> <GIT_INIT_MODE>`
3. If <GENERATE_MAPPING_REPORT:TRUE|FALSE> is TRUE:
- If <MAPPING_INPUT_MODE:NONE|OPENAPI|FASTAPI_IMPORT> is OPENAPI, run:
`python3 scripts/assess_api_for_mcp.py --openapi <MAPPING_INPUT_PATH> --out <TARGET_PATH>/mcp_mapping_report.md`
- If <MAPPING_INPUT_MODE:NONE|OPENAPI|FASTAPI_IMPORT> is FASTAPI_IMPORT, run:
`python3 scripts/assess_api_for_mcp.py --fastapi <MAPPING_INPUT_PATH> --out <TARGET_PATH>/mcp_mapping_report.md`
4. Run verification checks in <TARGET_PATH>:
- `uv run pytest`
- `uv run ruff check .`
- `uv run mypy .`
Output contract:
1. STATUS: PASS or FAIL
2. COMMANDS: exact commands executed
3. RESULTS: concise outcomes for scaffold and checks
4. If report generated: include report path
5. If FAIL: provide likely root cause and minimal remediationcodex exec --full-auto --sandbox workspace-write --cd "<REPO_PATH>" "<PROMPT_BODY>"<PROMPT_BODY>Use $bootstrap-python-mcp-service.
Scope is limited to scaffold generation in <TARGET_PATH>, optional mapping report generation, and verification checks.
Run only commands needed for this flow, then return STATUS, exact command transcript, concise results, and minimal remediation if failures occur.<REPO_PATH><MCP_SERVICE_NAME><MODE:PROJECT|WORKSPACE><TARGET_PATH><PYTHON_VERSION><MEMBERS_CSV><PROFILE_MAP><FORCE_FLAG><GIT_INIT_MODE><MAPPING_INPUT_MODE:NONE|OPENAPI|FASTAPI_IMPORT><MAPPING_INPUT_PATH><GENERATE_MAPPING_REPORT:TRUE|FALSE>init_fastmcp_service.shassess_api_for_mcp.pymcp-mapping-guidelines.mdfastmcp-docs-lookup.mdfastmcp_docsREADME.md.tmpl