cli: add install-source and agent-host attribution - #86
cli: add install-source and agent-host attribution#86Gregory Joseph (gnjoseph) wants to merge 4 commits into
Conversation
Carry approved source, content, and campaign labels from MCP install configurations on existing Graph and ARM requests. Add an explicit opt-out, attributed README install buttons, privacy disclosures, and regression coverage. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Set both Azure CLI User-Agent environment variables, verify the azd child environment, and clarify that attribution labels accompany authenticated service requests. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Classify self-reported MCP clientInfo into bounded host values after initialization, propagate the label to Graph, az, and azd requests, honor the existing attribution opt-out, and document the trust and privacy boundaries. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Confirmed the bounded attribution contract and downstream dependency.
SPO.Core ingestion is now tracked by AB#3198658: consume and validate the tokens on the authenticated create-container-type request, persist attribution once for COGSDB/dashboard reporting, and treat missing/invalid values as unknown. |
Replace long editor-specific README URLs with validated, team-owned aka.ms aliases while retaining surface attribution in their managed destinations. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Companion PR: SharePoint/sp-dev-docs#10953. Eight team-owned |
Summary
Adds opt-in, bounded install-source and agent-host attribution to the SPE MCP server so install configurations can identify the publishing surface and initialized MCP clients can identify the host associated with later Graph/ARM activity, without opening a separate telemetry channel.
What changed
--install-source,--install-content, and--install-campaigntospe-mcp start, with environment-variable equivalents.agent-hostafterinitializedfrom the MCP client's self-reportedinitialize.clientInfo.User-Agent, Azure CLIAZURE_HTTP_USER_AGENT, and Azure Developer CLIAZURE_DEV_USER_AGENTwithout clobbering caller values.--no-install-attribution/SPE_INSTALL_ATTRIBUTION=offto disable all install and host labels.The client configuration retains the startup arguments, so install source is supplied on each launch without a new state file or telemetry endpoint.
Bounded values
sourcemicrosoft-learn,github-readme,github-release,mcp-registry,npm,othercontentreadme-install,sharepoint-embedded-mcp-server,quickstart-vscode,create-container-type,create-manage-containerscampaigndocs-install-buttonsagent-hostvscode,visual-studio,cursor,claude-code,claude-desktop,codex,github-copilot-cli,azure-ai-foundry,other,unknowncontentandcampaignare optional but requiresource. Agent host is automatic.Trust boundary
clientInfo; it is attribution only and must never be used for a security decision.microsoft/vscodesource.other, and missing/generic values becomeunknown.Validation
npm run lintnpm run buildnpm test— 773 passed, 7 skippedRelease gates
package.jsonorpackage-lock.json.server.jsonversion/registry metadata before the next MCP Registry publication.Coordination
Companion Learn draft: SharePoint/sp-dev-docs#10953
The Learn change should merge only after these CLI flags are available in the published npm package and the attribution disclosure is approved.
Marc Windle is the intended PM reviewer; GitHub could not add him automatically because he is not currently a collaborator on this repository.