Generate runner profile
generate_runner_profileGenerate a segment-evidence USRProf runner profile artifact from uploaded runner evidence or an existing .usrprof source. Confirm profile purpose and evidence selection only if not already explicit. Do not silently use every local file. profile_intent is advisory: the server does not filter sources. Evidence supports pacing, durability, terrain fit, uphill running limits, and confidence; get_runner_profile_requirements explains selection. Accepted evidence includes GPX/FIT/CRSProf activity files, ZIP/TAR/TAR.GZ/TGZ/TAR.XZ/TXZ archives containing those files, and .usrprof files passed as source_file artifacts from POST /api/artifact-uploads, raw_file inline content/base64, or fetchable HTTPS URLs. Archives must use purpose runner_evidence, are expanded server-side, and report skipped nested archives, duplicate contents, unsupported entries, and parse failures by filename/path. For Strava, call build_runner_profile_from_strava and never ask for credentials or tokens. Follow its browser-consent/job flow. Pass the generated usrprof artifact ID to create_race_plan as runner.usrprof_artifact_id.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sources | Yes | Runner evidence/profile sources. Use uploaded source_file artifact IDs from POST /api/artifact-uploads with purpose runner_evidence for GPX/FIT/CRSProf activities or ZIP/TAR/TAR.GZ/TGZ/TAR.XZ/TXZ archives containing evidence files; use usrprof_source for .usrprof. Archives are expanded server-side, nested archives are skipped with warnings, exact duplicate contents are skipped, and unsupported/corrupt entries are reported per filename/path. Or use raw_file/url when the MCP client can proxy bytes. Local paths and file:// URLs are not accepted. Choose evidence according to profile_intent; do not blindly include all available files without user approval. | |
| import_options | No | ||
| profile_intent | No | profile_intent is advisory context for the agent. The server does not filter or select evidence from it; submit only user-approved sources. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| errors | No | ||
| job_id | Yes | CourseProfiler job ID to poll with get_job. | |
| status | Yes | Job status, e.g. queued, running, succeeded, or failed. | |
| progress | No | ||
| warnings | No | ||
| created_at | No | ISO-8601 creation timestamp. | |
| expires_at | No | ISO-8601 expiration timestamp. | |
| started_at | No | ISO-8601 start timestamp, when available. | |
| status_url | No | Relative API URL for polling this job. | |
| completed_at | No | ISO-8601 completion timestamp, when available. | |
| result_artifacts | No | Artifacts produced by the job, including role metadata. |