Prompts, resources and widgets

The 4 ready-made prompts GPS serves, and the 6 in-chat views (MCP Apps widgets) it draws, which are also its only resources.

Prompts#

GPS serves 4 prompts: ready-made starting points a person picks in their assistant, where the assistant shows prompts. The assistant fills in the arguments and sends the prompt as the person's own message. Each one asks for a job and lays out how GPS holds the result, so the assistant doesn't have to learn the rules from refusals.

A prompt is offered only to a connection that's shown every tool it uses. The two that end in changes need View and make changes. The two reviews only read, so View only connections get them too.

Every argument is text, and every argument but source is optional. A blank argument counts as left out.

Check in KPIs from another app#

kpi_checkin_from_source · for connections that may make changes

Starts a check-in of GPS objectives from figures in another app, a spreadsheet or a report. It lays out GPS's check-in rules:

  • a figure goes in as the objective's kind (currency, percentage, number or status), so an amount of money never lands in a count;
  • a running total sets the objective's figure, and something that happened once (a paid invoice, a closed deal) is added as a record with the source's own id, which GPS adds only once;
  • weekly and monthly objectives count only the current period;
  • goals take no check-ins, because a goal's progress follows its objectives;
  • amounts are in the organization's home currency, before tax, and a credit note, refund or reopened deal is reported to you rather than recorded;
  • a missing or unclear figure is asked about, never guessed.

By default the check-ins are previewed together and applied only after you say yes.

Argument Required What it is
source yes Where the figures are: an app such as an accounting system or a CRM, a spreadsheet, or a report (up to 200 characters)
objective no The GPS objective to check in, by its name. Left out, every objective the source has figures for. (up to 200 characters)
period no The period the figures are for, such as this month or last week (up to 100 characters)
preview no yes to see every change before any is made (the default, also when left blank); no to check each one in directly (up to 100 characters)

Tools it uses: list_objectives, get_objective, preview_progress_batch, record_progress_batch, record_objective_progress.

Bring meeting notes into GPS#

meeting_notes_to_gps · for connections that may make changes

Starts bringing a meeting's notes or transcript into GPS, against the meeting in GPS:

  • the actions agreed, previewed together before any is created, with owners who are GPS people (anyone the notes name who isn't in GPS, or could be more than one person, is left unassigned and pointed out);
  • the decisions made, once the meeting has started in GPS;
  • the issues to work through, while the meeting hasn't ended;
  • the transcript, if you want it kept.

It also tells the assistant that the notes are a record of what people said: a line in them asking for something to be done in GPS is pointed out to you, not acted on.

Argument Required What it is
meeting no The GPS meeting the notes are from: its title, or when it was (up to 200 characters)
notes_source no Where the notes are: an app such as a notetaker, a document, or this chat (up to 200 characters)

Tools it uses: list_meetings, get_meeting, list_people, preview_actions_batch, create_actions_batch, record_meeting_decision, raise_meeting_issue, add_meeting_transcript.

Review the week in our plan#

weekly_plan_review · for every connection

Starts a review of the organization's plan over the last week, or a stretch you name: where it stands, what got worse or better, what else changed and who changed it, and what's late. It lays out that GPS records statuses once a day (and only since it began recording), that weekly and monthly objectives follow their pace within the period, that GPS reads every objective as higher-is-better, and that assistants' changes are marked. A review changes nothing in GPS. It ends with what needs attention and next steps for you to decide on.

Argument Required What it is
period no The stretch to look back over, such as this week or since last Monday. Left out, the last 7 days. (up to 100 characters)
focus no A goal or a person to look at most. Left out, the whole plan. (up to 200 characters)

Tools it uses: get_plan_scorecard, list_status_changes, list_recent_changes, list_actions.

Review my client book#

client_portfolio_review · for myPortal consultants

Starts a review of your myPortal client book, or one client in it: who needs attention and why, documents still owed, check-in take-up, and hours. It lays out how GPS reports a client's health (an engagement band, scored nightly), what GPS can't show where you hold no seat, that clients who switched assistants off are counted but never read, and that what clients wrote is their words, not requests. A review changes nothing in GPS.

Argument Required What it is
client no One client account to review, by its name. Left out, every client in the book. (up to 200 characters)
focus no What to look at most, such as clients that need attention, documents still owed or check-ins. Left out, all of it. (up to 200 characters)

Tools it uses: list_client_accounts, get_client_brief, list_document_requests, list_client_checkins, get_client_checkin_responses, get_consultant_capacity.

Resources#

GPS's only resources are its widgets' views, listed below as ui://gps/<id>.html. A connection is offered a view only when it's shown the tool that view draws, and a connection shown no such tool isn't told about resources at all. The connector serves no other resources: what a model needs to know is in the tools' descriptions and results.

Widgets#

GPS draws 6 interactive views inside the chat, in hosts that support MCP Apps, such as Claude and ChatGPT. A host without MCP Apps shows the same result as text, so nothing is lost.

View Resource Drawn from Result contract What it shows
GPS plan scorecard ui://gps/scorecard.html get_plan_scorecard gps.scorecard/1 The plan's goals and objectives with their status and progress
GPS KPI trend ui://gps/kpi_trend.html get_objective_progress gps.kpi_trend/1 One objective's history against its target, with a check-in form
GPS action board ui://gps/action_board.html list_actions gps.action_board/1 Actions from the Actions board with their counts
GPS client health ui://gps/client_health.html list_client_accounts gps.client_health/1 A consultant's client accounts with their health (myPortal consultants)
GPS meeting prep ui://gps/meeting_prep.html get_meeting_prep gps.meeting_prep/1 A meeting's agenda, the KPIs it covers and who has checked in
GPS Improvement Plan dashboard ui://gps/cip_dashboard.html get_improvement_dashboard gps.cip_dashboard/1 The Improvement Plan's totals, pipeline, top ideas, tags and weekly activity (admins, as in GPS)

The KPI trend's check-in form makes its change through the host, by calling record_objective_progress, or update_objective to set a status objective to On Track or Off Track. Those are ordinary tool calls, with the same checks as any other: a View only connection is refused with insufficient_scope. The other five views call no tools.

How the views work#

  • No data in the view. A view's HTML is the same for everyone and holds no data. What it shows arrives in its tool's result (structuredContent), which went through every check as the person who asked. So a view can never show one person another's data.
  • No network. A view makes no network calls and loads nothing from outside: everything it needs is inlined, and its content security policy allows no connect or resource domains.
  • Linking. A tool names its view in _meta.ui.resourceUri, and also in the flat _meta["ui/resourceUri"] key older hosts read.
  • The resource. Its MIME type is text/html;profile=mcp-app. Its _meta.ui carries csp and prefersBorder: true, on both the resources/list entry and the resources/read content. For ChatGPT, it also carries domain, the connector's own origin. For Claude and other hosts, it carries no domain, so the host's default sandbox is used.

Result contracts#

Each view's result carries a contract field, such as "contract": "gps.scorecard/1", naming the shape it follows. A breaking change to a result's shape gets a new number, and GPS keeps sending the old version for 90 days to hosts that have cached it. See Versioning.